快捷搜索:  网络  CVE  渗透  后门  扫描  木马  黑客  as

基于Golang打造开源的WAF网关

违景

在互联网行业,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);

gateway1.png

2.WAF (Web应用防火墙) 功能,可拦截常见的Web入侵举动(如SQL注入/命令注入/XSS/Webshell上传或连接)、数据泄露事故等;

上图中红色的叉叉部分表示拦截恶意攻击举动。

waf2.png

3.可应答CC攻击及简单的刷单场景,达到设定阈值时能够拦截或铺示验证码。

captcha.png

特色

当然,上面这些是基本的功能。笔者还希翼这是一款有特点、悬殊化的产品:

1.不要装置Agent

Agent珍爱起来比较麻烦,用阅读器设置可以更简单,譬如设置应用:

application1.png

2.支持HTTPS

还要能够把证书治理起来,把私钥维护起来,再也不将证书文件、私钥文件直接明文的存放在服务器某个目录下(防止黑客偷私运钥);只让网关治理人员申请以及设置证书,营业人员不用接触证书文件就可以启用HTTPS。

screenshot-cert.png

3.联动

很多WAF的一条策略只能检查一个地方(如GET或POST参数值),要是要求需要结合响应共同来判断 (或多个组合前提),就做不到了,这一点一定要突破,做到多个检查点可组合,特别是要求(Request)以及响应(Response)能够关联(组合)起来。

4.非法域名拦截

曾经有人用fuck_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,维护外网数据传输安全。

*

您可能还会对下面的文章感兴趣: