本项目由来自 ModSecurity 和 Fastly 的研究人员创建,旨在为 WAF 规则提供严格的测试。它使用 OWASP 核心规则集 V3 作为基线来测试 WAF 上的规则。规则集中的每条规则都被加载到一个 YAML 文件中,该文件会发出可触发这些规则的 HTTP 请求。用户可以在测试发出后验证规则的执行情况,确保从攻击中收到预期的响应。
目标 / 用例包括:
关于 1.0 版本的发布公告,请查看 OWASP CRS 博客
git clone https://github.com/coreruleset/ftw.gitcd ftwvirtualenv env && source ./env/bin/activatepip install -r requirements.txtpy.test -s -v test/test_default.py --ruledir=test/yamlFTW 的核心是其可扩展的基于 yaml 的测试。本节列出了一些关于它们如何格式化、如何编写以及如何使用它们的资源。
OWASP CRS 撰写了一篇精彩的 博客文章,描述了 FTW 测试的编写和执行方式。
YAMLFormat.md 是 FTW 当前支持的所有 yaml 字段的权威文档。
阅读了这两份资料后,你应该能够开始编写测试了。你很可能需要对照状态码响应或使用 log_contains 指令检查 Web 请求响应。要将 FTW 集成到 WAF 日志中测试正则表达式,请参考 ExtendingFTW.md
如果你需要一个测试 WAF 规则的环境,我们已经创建了一个包含 Apache、Modsecurity 和 OWASP 核心规则集 3.0.0 版本的环境。可以通过以下方式部署:
git clone https://github.com/fastly/waf_testbed.gitvagrant up