Web 应用防火墙(WAF)是一种专门保护 Web 应用的安全防护工具,主要工作在应用层,针对基于 HTTP/HTTPS 协议的 Web 系统提供有效防护,防止黑客攻击。与传统防火墙不同,WAF 能更精确地识别和阻止针对 Web 应用的攻击,如 SQL 注入、跨站脚本攻击(XSS)、文件包含漏洞等。
近年来,由于经济增速放缓和科技企业成本意识的增强,安全支出逐渐变得更加理性。这种变化推动了国内开源安全项目的发展,尤其是在 WAF 领域。从 GitHub 上的活跃度来看,国内开源 WAF 项目在一定程度上超过了海外项目。然而,尽管互联网上有数千个 WAF 项目,大部分仍处于实验性阶段,缺乏工程性和实际部署案例,未经过大规模流量的验证,真正能够作为产品使用的项目不足1%。
经过广泛的资料调研和多款产品的部署测试,选出了十个具有代表性的 WAF 项目,这些项目在功能、稳定性和安全性等方面表现优异,能够满足不同企业的应用安全需求。接下来,将对这些项目进行详细介绍和评估,帮助用户了解当前 WAF 领域的技术趋势和实践经验。
ModSecurity 是一款开源的跨平台 Web 应用防火墙(WAF)模块,支持 Apache、IIS 和 Nginx,并于 2024 年捐赠给 OWASP。被誉为 WAF 领域的“瑞士军刀”,ModSecurity 提供强大的功能,能够对 HTTP(S) 流量进行实时监控、记录和分析,帮助 Web 应用防御者识别和阻止潜在的安全威胁。其独特的规则语言和 API 支持高级防护策略,结合 OWASP CRS(主流 WAF 规则集)使用,显著提高了对 HTTP 攻击的防护能力。全球数百万企业、政府组织和互联网服务提供商都在使用该引擎,它在 GitHub 上的认可度非常高,拥有超过 8200 个 star,是全球 star 数最高的 WAF 项目之一。
官网:https://modsecurity.org
github:https://github.com/owasp-modsecurity/ModSecurity
雷池社区版是长亭科技基于其企业版雷池 Web 应用防护系统提炼而来的开源项目,核心检测能力由长亭首创的智能语义分析算法驱动。虽然项目开源了语义分析算法的核心引擎和相关安全插件,但控制台并未开源。雷池通过过滤和监控 Web 应用与互联网之间的 HTTP 流量,有效防护 Web 服务免受多种攻击,包括 SQL 注入、XSS、代码注入、命令注入、CRLF 注入、ldap 注入、xpath 注入、RCE、XXE、SSRF、路径遍历、后门、暴力破解、CC 攻击、爬虫等。其优点在于防护效果显著、项目迭代快速且界面清爽易用,缺点是社区版相比企业版功能较为简化,但依然能够满足 WAF 的基本需求。该项目在 GitHub 上获得了广泛认可,拥有超过 12800 个 star。
官网:https://waf-ce.chaitin.cn
github:https://github.com/chaitin/SafeLine
Coraza 是一款开源、企业级且高性能的 Web 应用防火墙(WAF),使用 Go 语言编写,支持 ModSecurity SecLang 规则集,并且与 OWASP 核心规则集(CRS)实现了 100% 兼容。该项目旨在为 Web 应用提供高效、安全的防护解决方案,具有较好的性能和可扩展性。目前,Coraza 在 GitHub 上获得了广泛的社区认可,拥有超过 2300 个 star。
官网:https://coraza.io
github:https://github.com/corazawaf/coraza
VeryNginx 是一款与 Nginx 深度集成的 WAF 扩展程序,它提供了一个控制台界面,这使其与其他 Nginx 扩展相比独具特色。基于 lua_nginx_module(OpenResty),VeryNginx 实现了高级防火墙(WAF)和访问统计等功能,增强了 Nginx 的原生功能,并提供了一个友好的 Web 界面。然而,VeryNginx 并不提供核心检测引擎,其规则部分依赖于第三方库。该项目在 GitHub 上获得了较高的社区认可,拥有超过 6000 个 star,但自 2016 年 8 月 15 日后,项目已经停止更新。
github:https://github.com/alexazhou/VeryNginx
NAXSI 是一款专为 Nginx 设计的 WAF 引擎,作为 Nginx 的动态扩展,编译后修改 Nginx 配置即可生效。与一些一体化的 WAF 项目相比,NAXSI 的使用相对简单,不提供控制台,配置和管理较为直接。然而,它的检测能力主要依赖于 LibInjection 项目,当前仅支持 SQL 注入和 XSS 检测,因此功能较为有限。该项目在 GitHub 上的社区认可度较低,只有 298 个 star,且更新频率较慢,最近一次更新发生在 2023 年 10 月 11 日,因此不建议用于生产环境。
github:https://github.com/wargio/naxsi
NGX_WAF 是一款国产的 Nginx 扩展类型的 WAF 引擎,与其他类似项目一样,它不提供控制台,使用起来比 ModSecurity 简单,但相比一体化的 WAF 解决方案,其使用成本仍然较高。NGX_WAF 的核心能力依赖于 LibInjection 和 ModSecurity,类似于其他使用第三方开源规则库的 WAF 项目。由于采用的是海外规则库,这些规则库在国内互联网环境中的适配性较差,容易出现误报,且缺乏针对一些非通用性漏洞的专门规则。该项目在 GitHub 上的社区认可度较低,仅有 1500 个 star。
github:https://github.com/ADD-SP/ngx_waf
南墙WEB应用防火墙(简称:uuWAF)是由有安科技推出的一款全方位网站防护产品,首次实现了流量层、系统层和运行时层的三层纵深防御功能。该产品通过有安科技专有的 Web 入侵异常检测技术,结合团队多年在应用安全领域的攻防经验和应急响应实践,提供了全面的 Web 应用安全保护。uuWAF 能够帮助各级政府、企业及事业单位实现 Web 服务器的全方位防护。尽管该项目具有较强的技术优势,但在 GitHub 上的社区认可度较低,目前只有 796 个 star。
官网:https://waf.uusec.com
github:https://github.com/Safe3/uuWAF
JANUSEC 是一款开源的 Web 应用安全网关软件,具有功能丰富的优势,除了 WAF 功能外,还包括负载均衡、身份认证、证书管理和堡垒机等多项功能。然而,其 WAF 的安全防护能力较弱,主要能够防护一些简单的攻击,适合对安全防护要求不高的站长使用。尽管具备多项实用功能,JANUSEC 在 GitHub 上的社区认可度较低,当前只有 1100 个 star。
官网:https://janusec.github.io/
github:https://github.com/Janusec/janusec
HTTPWAF 是一款官方宣称为真正拥有 Web 管理后台并且永久免费的 Web 应用防火墙,支持直接部署在 Web 服务器上,也可以独立部署以保护后端服务器。在免费 WAF 产品中,HTTPWAF 的功能较为丰富,基础检测能力不错,但在应对高强度攻击时的防护能力较弱。作为免费产品,HTTPWAF 的源码、文档和安装包并未公开提供,用户需通过微信获取相关资源。该项目在 GitHub 上的社区认可度较低,仅有 114 个 star。
github:https://github.com/httpwaf/httpwaf2.0
demo地址:http://101.42.31.94
锦衣盾(JXWAF)是一款开源的 Web 应用防火墙,专为防护 SQL 注入、XSS 攻击、命令执行、代码执行等多种 Web 漏洞攻击设计。它还能有效应对高频 CC 攻击和慢速 CC 攻击等 Web 流量攻击,确保网站数据安全,并维护网站的稳定性和安全性。该产品基于 OpenResty 开发,支持云原生部署,用户可以将 JXWAF 部署在阿里云、腾讯云等公有云平台,也可部署在自建机房的服务器上。JXWAF 支持单机部署以满足小规模需求,亦可通过集群化部署增强处理能力和满足高可用性要求。与商业 WAF 不同,JXWAF 完全没有授权限制,提供开放、自由、可定制的 Web 安全解决方案。尽管功能丰富,该项目在 GitHub 上的社区认可度较低,仅有 1100 个 star。
官网:https://www.jxwaf.com/
github:https://github.com/jx-sec/jxwaf
demo地址:http://demo.jxwaf.com:8000