Nginx第三方防火墙扩展

ngx_waf:方便且高性能的 Nginx 防火墙模块

缓存策略为 LRU,IP 检查和 CC 防御花费常数时间,其它的检查花费 O(nm) 的时间,其中 n 是相关规则的条数,m 为执行正则匹配的时间复杂度,但是每次检查过后会自动缓存本次检查的结果,下次检查相同的目标时就可以使用缓存而不是检查全部的规则。不会缓存 POST 请求体的检查结果。

Nginx第三方防火墙扩展

1. 工具特点

介绍了该工具的主要特点以及核心功能!

该 Nginx 的第三方扩展工具,可以防御 CC 攻击(超出限制后自动拉黑对应 IP 一段时间或者使用验证码做人机识别),可以支持多种黑白名单(IP/POST/URL/UA等等),还可以提供防护 SQL 注入和 XSS 工具。

  • 使用简单
    • 配置文件和规则文件书写简单,可读性强
  • 基础防护
    • 如 IP 或 IP 网段的黑白名单、URI 黑白名单和请求体黑名单等
  • 高性能
    • 使用高效的 IP 检查算法和缓存机制,支持 IPV4 和 IPV6
  • 高级防护
    • 兼容 ModSecurity 的规则,你可以使用 OWASP 的核心规则库
  • 友好爬虫验证
    • 支持验证 Google、Bing、Baidu 和 Yandex 的爬虫并自动放行,避免错误拦截,主要是基于 User-Agent 和 IP 的识别规则
  • 验证码
    • 支持三种验证码:hCaptcha、reCAPTCHAv2 和 reCAPTCHAv3