开源web应用防火墙是网络安全的重要部分,Cloudflare认为:十年后数字经济的网络安全基础设施会像水过滤系统一样普及,而这个过滤系统的核心就是waf。对于服务器来说,部署WEB应用防火墙十分重要,笔者经过大量搜索,并结合市场热度,整理出2021年十大开源web应用防火墙。
1、OpenResty
OpenResty 是由中国人章亦春发起,把nginx和各种三方模块的一个打包而成的软件平台,核心就是nginx+lua脚本语言。主要是因为nginx是C语言编写,修改很复杂,而lua语言则简单得多,国内很多大公司如360、京东、gitee等都在用来作为web应用防火墙。
项目地址:https://github.com/openresty/
2、AIHTTPS
aihttps是hihttps的升级版,也是由中国人编写。特点是兼容ModSecurity规则,并且已经向人工智能方向进化:使用机器学习自主生成对抗规则,来防御包括:漏洞扫描、CC 、DDOS、SQL注入、XSS等。其商业版也开源,是目前商业化开源程度最高的WAF。
项目地址:https://github.com/qq4108863/ 官网:http://www.hihttps.com
3、ModSecurity
ModSecurity是开源WAF的鼻祖,是一个开源的跨平台Web应用程序防火墙(WAF)引擎,用于Apache,IIS和Nginx,由Trustwave的SpiderLabs开发。安全社区OWASP开发和维护着一套免费的应用程序保护规则,这就是所谓OWASP的ModSecurity的核心规则集(即CRS),这套规则很牛,但某些环境误报率惊人,所谓”成也萧何,败也萧何”。
项目地址:https://github.com/SpiderLabs/ModSecurity
4、 Naxsi
Naxsi 是一款基于Nginx模块的防火墙,有自己规则定义。项目由C语言编写,需要熟练掌握Nginx源码的才能看懂,离商业距离非常远。
项目地址:https://github.com/nbs-system/naxsi
5、OpenWAF
OpenWAF是基于Nginx,优点是由行为分析引擎和规则引擎两大功能引擎构成,其中规则引擎主要对单个请求进行分析,行为分析引擎主要负责跨请求信息追踪。缺点是复杂,不适合不熟悉Nginx和lua语言的开发者。
项目地址:https://github.com/titansec/OpenWAF
6、X-WAF
X-WAF核心基于openresty + lua开发,waf管理后台:采用golang + xorm + macrom开发的,支持二进制的形式部署,适合小企业用。
项目地址:https://github.com/xsec-lab/x-waf
7、unixhot
unixhot是使用Nginx+Lua实现自定义WAF,一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来,非常简单。
项目地址:https://github.com/unixhot/waf
8、Java WAF
用Java开发的WAF很少,我们发现一个使用Java开发的API Gateway,由于WAF构建在开源代理LittleProxy之上,所以说WAF底层使用的是Netty。功能上支持安全拦截、各种分析检测、脚本(沙箱)、流控/CC防护等。不会C语言,是Java爱好者的福音。
项目地址:https://github.com/chengdedeng/waf
9、VeryNginx
VeryNginx 也是基于 lua_Nginx_module(openrestry) 开发,实现了高级的防火墙、访问统计和其他的一些功能。 集成在 Nginx 中运行,扩展了 Nginx 本身的功能。
项目地址:https://github.com/alexazhou/VeryNginx/
10、FreeWAF
FeeWAF工作在应用层,对HTTP进行双向深层次检测:对 Internet进行实时防护,避免利用应用层漏洞非法获取或破坏网站数据,可以有效地防御如SQL注入、XSS、CSRF、缓冲区溢出、应用层DOS/DDOS等。但项目已经很久没更新了。
总结:
开源不等于免费,开源离商业实战还差一个孙悟空筋斗云的距离,这方面AIHTTPS无疑是商业化开源得最彻底的产品。或许如Cloudflare所预料的,WAF成为数字经济的基础实施后,开源web应用防火墙闪烁着咱中国人的国产之光,在此向所有保护网络安全的工作者致敬!