WAF 是 Web Application Firewall 的缩写,也被称为 Web 应用防火墙。区别于传统防火墙,WAF 工作在应用层,对基于 HTTP/HTTPS 协议的 Web 系统有着更好的防护效果,使其免于受到黑客的攻击。
近几年经济增速开始放缓,科技企业的成本意识有所增强,安全支出更加理性,这使得国内的开源安全项目得到了一定发展,从 github waf 相关 topic 的活跃度来看,排名靠前的国产项目超过了海外项目。
在互联网上公开能找到资料的 WAF 项目少说也有几千个,但其中绝大部分偏实验 Demo 的性质,工程性不足,缺少部署案例,没有经历过大规模流量的验证,实际能称得上产品的项目不到百分之一。翻阅了大量资料,对这几十款 WAF 产品进行实际部署测试后,我选取了其中十个具有代表意义的项目,下文将逐一进行介绍。
作为网站管理员,应该如何选择一款适合自己的 WAF,以下是几个最常关注的指标
先来看综合评分表
项目名称 | 开发者 | 综合评分 |
---|---|---|
ModSecurity | SpiderLabs | 🌟🌟🌟🌟🌟 |
雷池社区版 | 长亭科技 | 🌟🌟🌟🌟 |
coraza | coraza | 🌟🌟🌟🌟 |
南墙 | 友安科技 | 🌟🌟🌟 |
JANUSEC | JANUSEC | 🌟🌟🌟 |
VeryNginx | loveshell | 🌟🌟 |
httpwaf | 闲人 | 🌟🌟 |
锦衣盾 | jx-sec | 🌟 |
NGX_WAF | ADD-SP | 🌟 |
NAXSI | NBS SYSTEM | 🌟 |
主页:https://www.modsecurity.org/
ModSecurity 是老牌开源 WAF 引擎,使用群体广,早年只适用于 Apache,在 2.X 重构后目前也可以支持 IIS 和 Nginx。作为 WAF 引擎,相比一体化的 WAF 项目,需要二次开发才能试用,对使用者来说成本略高。ModSecurity 被不少其他开源 WAF 作为核心引擎所集成,在开源社区认可度高,实际防护以正则规则为主,覆盖相对全面,但容易被绕过,前段时间被母公司抛弃了,未来是否会继续维护下去暂未可知。
雷池社区版是长亭科技根据企业版雷池 Web 应用防护系统提炼而来,核心检测能力由长亭首创的智能语义分析算法驱动。项目开源了语义分析算法的核心引擎和相关安全插件,控制台未开源。优点在于防护效果好,项目迭代快,界面清爽好用,缺点在于社区版相比企业版功能较少,但能满足 WAF 的基本需求。
Coraza 是一个开源、高性能的 WAF 引擎,使用 Go 语言编写,支持 ModSecurity SecLang 规则集,并且与 OWASP 核心规则集完全兼容,与 ModSecurity 一样不提供界面,只作为检测引擎,需要二次开发才能试用,有机会成为 ModSecurity 的替代品。
主页:https://github.com/alexazhou/VeryNginx
VeryNginx 是一款与 Nginx 深度集成的 WAF 扩展程序,相比其他 Nginx 扩展,VeryNginx 是为数不多提供了控制台的 WAF 项目。VeryNginx 没有提供核心检测引擎,规则部分依赖第三方库。VeryNginx 在 github 有 5900 star,是国产 WAF 项目中 star 数最高的项目,最大的问题是该项目年久失修,规则库也多年不更新,项目基本停止维护,非常可惜。
主页:https://github.com/nbs-system/naxsi
NAXSI 是一款专为 Nginx 而生的 WAF 引擎,输出形态是 Nginx 动态扩展,编译后修改 Nginx 配置文件即可生效。NAXSI 不提供控制台,作为 WAF 引擎,用起来没有 ModSecurity 那么麻烦,但相比一体化的 WAF 项目使用成本任然较高。检测能力依赖 LibInjection 项目,只支持 SQL 注入和 XSS 检测,不推荐在线上使用。
主页:https://github.com/ADD-SP/ngx_waf
NGX_WAF 是一款国产的 Nginx 扩展类型的 WAF 引擎项目(这类的项目真多)。NGX_WAF 不提供控制台,作为 WAF 引擎,用起来没有 ModSecurity 那么麻烦,但相比一体化的 WAF 项目使用成本任然较高。NGX_WAF 的核心能力基于 LibInjection 和 ModSecurity,和其他引用了第三方开源规则库的 WAF 项目相同,海外规则库对国内互联网环境适配性不太好,容易误报,缺少针对非通用性漏洞的规则。
南墙 WEB 应用防火墙(简称:uuWAF)是有安科技推出的一款全方位网站防护产品。通过有安科技专有的WEB入侵异常检测等技术,结合有安科技团队多年应用安全的攻防理论和应急响应实践经验积累的基础上自主研发而成,缺点在于不能升级,有新版本要铲掉重装。
JANUSEC 是一个开源的 Web 应用安全网关软件,优势在于功能丰富,同时具备负载均衡、WAF、身份认证、证书管理、堡垒机等功能,缺点是 WAF 的安全防护能力比较弱,只能防护一些简单的攻击,适合对安全防护要求不高的站长。
主页:https://github.com/httpwaf/httpwaf2.0
HTTPWAF 官方号称是一款真正有 web 管理后台,并且永久免费的 web 应用防火墙,既支持直接部署在 WEB 服务器上,又可以独立部署保护后端服务器。在免费 WAF 界算是功能很丰富的项目,基础检测能力还可以,缺乏对抗高强度攻击的能力。作为免费产品,源码、文档、安装包均没有公开提供,要加微信获取。
锦衣盾(JXWAF)是一款基于 OpenResty 开发的下一代 Web 应用防火墙,独创的业务逻辑防护引擎和机器学习引擎可以有效对业务安全风险进行防护,解决传统 WAF 无法对业务安全进行防护的痛点。