根据Golang打造开源的WAF网关

访客5年前黑客工具1263

布景
在互联网职业,Google将安全做到基础设施里边,从来是各大公司学习的典范,在Web方面,经过GFE (Google Front-End) 一致对外发布,事务只需求在GFE挂号,GFE就会调取正确的证书,保证用户到GFE的TLS衔接安全。
Microsoft在Web方面,有一款叫做Azure Application Gateway的产品,供给了一致的Web路由、负载均衡,以及WAF(Web运用防火墙)功用。
惋惜的是,这几款产品均不能用于私有化布置,Google Front-End 和 Azure Application Gateway只服务于他们本身事务以及他们自己的云客户。想要运用他们的产品,得运用他们的云服务,否则就只能无可奈何了。
对标与产品方案设计
鉴于此,笔者期望学习GFE和Azure运用网关,打造一款这样的运用安全基础设施级产品,用于自己个人网站的防护,这款产品需求具有:
1.一致的 *** 进口,可以有多个节点,合作负载均衡进行调度,即运用网关(Application Gateway);

2.WAF (Web运用防火墙) 功用,可阻拦常见的Web侵略行为(如SQL注入/指令注入/XSS/Webshell上传或衔接)、数据走漏事情等;
上图中赤色的叉叉部分表明阻拦歹意进犯行为。

3.可应对CC进犯及简略的刷单场景,到达设定阈值时可以阻拦或展现验证码。

特征
当然,上面这些是根本的功用。笔者还期望这是一款有特色、差异化的产品:
1.不要装置Agent
Agent维护起来比较费事,用浏览器装备可以更简略,比方装备运用:

2.支撑HTTPS
还要可以把证书办理起来,把私钥维护起来,不再将证书文件、私钥文件直接明文的存放在服务器某个目录下(避免黑客偷走私钥);只让网关办理人员申请和装备证书,事务人员不必触摸证书文件就可以启用HTTPS。

3.联动
许多WAF的一条战略只能查看一个当地(如GET或POST参数值),假如恳求需求结合呼应一起来断定 (或多个组合条件),就做不到了,这一点一定要打破,做到多个查看点可组合,特别是恳求(Request)和呼应(Response)可以相关(组合)起来。
4.不合法域名阻拦
从前有人用 *** _your_domain.com 这样的域名指向your_domain.com 网站,假如服务器装备不妥,有或许会正常呼应恳求,给公司带来公关危险。所以,当不合法域名指向过来的时分,应该回绝呼应。
5.证书质量
不是一切的HTTPS都是安全的,过错装备、算法的选用均有或许踩坑,如SSL 1.0, SSL 2.0, SSL 3.0以及TLS 1.0 均已呈现缝隙。典型的,假如您的事务涉及到资金付出,PCI-DSS认证会对证书质量有特别的要求,如有必要运用TLS 1.1或以上的协议版别、有必要运用前向安全算法(Forward Security)用于保证安全的密钥交流等。因而,网关默许就需求启用安全保证。
开源
是的,笔者较早前运用周末陪孩子上课的时刻,构建了这样一个只要根本功用的版别(Janusec Application Gateway),并用在个人网站上。现在跟我们共享一下:
https://github.com/Janusec/janusec
这是一款根据Golang打造的运用安全网关,具有WAF(Web运用防火墙)功用及组合战略装备,天然支撑HTTPS(契合PCI-DSS认证要求),无需Agent,私钥加密存储在数据库,供给负载均衡和一致的Web化办理进口。
还在持续完善过程中,欢迎star、fork、pull request、提交issue,或下载release体会,一起进步运用安全防护能力。
补白
该产品并不能处理一切的安全问题,不能替代抗DDoS进犯产品,也不能替代HIDS产品,更不能替代日常的安全运营作业。但当你计划从零开端构建立体的安全防护系统(特别是运用安全防护系统)的时分,可以在要害的途径上,堵截典型的侵略测验,挡住大部分勘探payload,大幅进步侵略难度,一起从一开端就可以运用此作为网关基础设施推广运用HTTPS,维护外网数据传输安全。
 

相关文章

抽象语法树分析寻找FastJSON的Gadgets-黑客接单平台

0×01导言 在计算机科学中,笼统语法树是源代码语法结构的一种笼统表明,它以树状的办法体现编程言语的语法结构,树上的每个节点都对应为源代码中的一种语法结构。笼统语法树能够说是静态代码剖析中最常用的,也...

内存取证:查找Metasploit的Meterpreter踪影

Metasploit是一个十分受欢迎的浸透测验结构,被视为安全测验人员手中的一把利器。但在另一方面由于他过于强壮,因而也常常被一些歹意攻击者所运用。当然,在本文咱们首要评论的是关于内存取证,这对于咱们...

高校SQL注入防治扼要计划

 1、避免SQL注入的动机 近来教育职业的信息安全问题真是一波未平一波又起:连续发作多个高校网站体系被更改,影响恶劣;高校密布被爆SQL注入缝隙,触及80%以上的高校;教育职业成为电信欺诈的重灾区,据...

Python中eval带来的潜在危险

eval是Python用于履行python表达式的一个内置函数,运用eval,能够很便利的将字符串动态履行。比方下列代码: >>> eval("1+2") >>>...

如何逃逸Sysmon工具对DNS的监控-黑客接单平台

Sysmon是微软的一款轻量级的体系监控东西,最开端是由Sysinternals开发的,后来Sysinternals被微软收买,现在归于Sysinternals系列东西。它通过体系服务和驱动程序完成记...

一名代码审计新手的实战阅历与感悟

blueCMS介绍 个人认为,作为一个要入门代码审计的人,审计流程应该从简略到困难,逐渐提高。因而我主张咱们的审计流程为——DVWA——blueCMS——其他小众CMS——结构。一起做总结,搞清楚缝隙...