很多团队把 WAF 规则堆到上千条,结果误报压垮业务。事实上,规则数量与安全性并不成正比。
一、正则规则的困境
一篇正常的商品评论可能包含 <script> 字样用于技术讨论,正则一刀切便会误杀。随着业务复杂,误报呈指数上升。
二、转向语义与行为
- 语义分析:理解请求的真实意图,而非字符串匹配
- 行为建模:对异常访问速率、参数分布建模
- 上下文关联:结合登录态、历史行为综合判断
三、灰度上线策略
新规则先以"仅观察"模式运行,确认无误报后再切换为拦截:
# 规则灰度:观察 24h 后再拦截
aegisx waf rule deploy --id 2014 --mode observe --duration 24h
好的 WAF 应该让攻击者难受,而不是让业务和运维难受。
当误报率下降到可接受范围,安全策略才真正可持续。