今天 blog、freeshell 实验部署了 Web 防火墙。

Web 防火墙使用了 stephen 推荐的 ngx_lua_waf。当访问可能存在注入的页面时,将返回 403 错误页面。如果您正常的网页被阻止,出现下面这样的错误页,请联系我们。

为防 CC 攻击,限制每个 IP 地址每分钟访问相同 URL 不超过 200 次,若超过则返回 503 Service Temporarily Unavailable。下图使用 ab 进行压力测试,有 299 个请求被 WAF 阻止了;而每秒接近 50 个请求的速度是之前就有的 nginx 每 IP 每秒请求数限制所致。

多谢 stephen 师兄的建议。