2019总结的很有价值的WEB应用防火墙值得学习
2019年十大开源WEB应用防火墙点评
转载:https://www.cnblogs.com/hihttps/p/11572773.html
随着WEB应用的爆炸式成长和HTTPS加密的普及,针对网络应用层的攻击,像SQL注入、跨站脚本攻击、参数篡改、应用平台漏洞攻击、拒绝服务攻击等越来越多,传统的防火墙检测功能失效,所以对于网站来说,部署一个WEB应用防火墙十分重要,这方面商业产品很多,开源的也不少,这里笔者经过大量搜索,整理出2019年十大免费的开源大神产品供大家参考。
1、ModSecurity
ModSecurity最开始是一个Apache的安全模块,后来发展成为开源的、跨平台的WEB应用防火墙。它可以通过检查WEB服务接收到的数据,以及发送出去的数据来对网站进行安全防护。
最厉害的是著名安全社区OWASP,开发和维护着一套免费的应用程序保护规则,这就是所谓OWASP的ModSecurity的核心规则集(即CRS),几乎覆盖了如SQL注入、XSS跨站攻击脚本、DOS等几十种常见WEB攻击方法。
目前已经支持Nginx和IIS,配合Nginx的灵活和高效,可以打造成生产级的WAF,是保护和审核WEB安全的利器,很多商业的WAF也是根据其修改而来。
项目地址:https://github.com/SpiderLabs/ModSecurity
2 、HiHTTPS
hihttps是一款少有的完整源码的高性能SSL WEB应用防火墙( SSL WAF),采用epoll模式支持高并发,并且兼容ModSecurity正则规则,特点是简单高效实用,非常值得初学者收藏。
hihttps虽然简单,但防护功能一应俱全,包括:漏洞扫描、CC &DDOS、暴力破解、SQL注入、XSS攻击、防爬虫等,还有完善的网站文件黑白名单机制精确阻断攻击。
项目地址:https://github.com/qq4108863/hihttps
3、OpenWAF
OpenWAF是基于Nginx_lua API分析HTTP请求信息,由行为分析引擎和规则引擎两大功能引擎构成,其中规则引擎主要对单个请求进行分析,行为分析引擎主要负责跨请求信息追踪。
规则引擎的启发来自modsecurity及freewaf(lua-resty-waf),将ModSecurity的规则机制用lua实现。
基于规则引擎可以进行协议规范,自动工具,注入攻击,跨站攻击,信息泄露,异常请求等安全防护,支持动态添加规则,及时修补漏洞。缺点是复杂,不适合不熟悉Nginx和lua语言的开发者。
项目地址:https://github.com/titansec/OpenWAF
4、FreeWAF
FeeWAF是一款开源的WEB应用防火墙产品,其命名为FreeWAF,它工作在应用层,对HTTP进行双向深层次检测:对于来自 Internet的 攻击进行实时防护,避免黑客利用应用层漏洞非法获取或破坏网站数据,可以有效地抵御黑客的各种攻击,如SQL注入攻击、XSS攻击、CSRF攻击、缓冲区 溢出、应用层DOS/DDOS攻击等;同时,对WEB服务器侧响应的出错信息、恶意内容及不合规格内容进行实时过滤,避免敏感信息泄露,确保网站信息的可靠性。但项目已经很久没更新了。
5、ESAPI WAF
这是OWASP ESAPI 项目提供的一个开源WAF,基于J2EE实现,其主要利用XML的配置方式驱动防火墙。安装时,在WEB.xml中将ESAPIWEBApplicationFirewallFilter配置为filter,在应用程序之前和之后处理输入和输入。
6、unixhot
unixhot是使用Nginx+Lua实现自定义WAF,一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来,非常简单。
项目地址:https://github.com/unixhot/waf
7、Java WAF
用Java开发的WAF很少,我们发现一个使用Java开发的API Gateway,由于WAF构建在开源代理LittleProxy之上,所以说WAF底层使用的是Netty。功能上支持安全拦截、各种分析检测、脚本(沙箱)、流控/CC防护等。不会C语言,是Java爱好者的福音。
项目地址:https://github.com/chengdedeng/waf
8、 Naxsi
Naxsi 是一款基于Nginx模块的防火墙,有自己规则定义,崇尚低规则。项目由C语言编写,需要熟练掌握Nginx源码的才能看懂。
项目地址:https://github.com/nbs-system/naxsi
9、X-WAF
X-WAF是一款适用中、小企业的云WAF系统,让中、小企业也可以非常方便地拥有自己的免费云WAF。核心基于openresty + lua开发,waf管理后台:采用golang + xorm + macrom开发的,支持二进制的形式部署。
项目地址:https://github.com/xsec-lab/x-waf
10、VeryNginx
VeryNginx 也是基于 lua_Nginx_module(openrestry) 开发,实现了高级的防火墙、访问统计和其他的一些功能。 集成在 Nginx 中运行,扩展了 Nginx 本身的功能,并提供了友好的 WEB 交互界面。
项目地址:https://github.com/alexazhou/VeryNginx/
评价:
1、目前商业防火墙基本千篇一律的Nginx模块,很多在openrestry上做二次开发,真正完整源码的很少,hihttps算一个。
2、C是应用软件防火墙的首选语言,主要是C天生和系统底层结合、速度块、编译出来的东西不大、支持高并发请求等优势。
3、HTTPS是加密是大势所趋,传统的HTTP明文网站很快会被淘汰,基于SSL 的WEB应用防火墙是未来的重点。
4、WEB应用防火墙未来最大的趋势是用人工智能的方法,精准判断未知漏洞、未知攻击,总体来说,在国家非常重视网络安全的背景下,这个行业的发展空间还很大。