WAF规则自定义核心原则
避免使用过于宽泛的正则表达式,采用精准匹配模式。例如针对SQL注入防护,避免简单过滤UNION SELECT,而是结合具体业务上下文设计规则。
业务流量基线分析
通过流量日志分析建立正常请求特征模型。统计高频访问路径、参数类型、字符分布等指标,设置合理的阈值区间。异常检测算法可参考: [ \text{异常值} = \frac{|x - \mu|}{\sigma} ] 其中μ为均值,σ为标准差,x>3σ时可视为异常。
规则分层防御策略
基础防护层
部署OWASP CRS核心规则集,启用以下模块:
- 900系列(HTTP协议合规)
- 910系列(异常检测)
- 920系列(协议攻击防护)
业务逻辑层
针对特定API设计规则,例如限制商品价格参数范围:
<rule id="10001" action="DENY"> <operator>RX</operator> <pattern>price=[^0-9]</pattern> <where>ARGS</where> </rule>误判处理机制
建立规则测试沙盒环境,使用历史流量进行回放测试。误判样本需加入白名单策略,例如对管理后台特定路径禁用某些规则:
SecRuleRemoveById 941160 "/admin/*"机器学习动态调优
集成AI引擎分析误报日志,自动优化规则权重。特征工程应包含:
- 请求频率时序特征
- 参数熵值分析
- HTTP头完整性校验
规则性能优化
复杂正则表达式应预编译,避免回溯问题。例如将(a+)+b优化为a+b。使用WAF厂商提供的规则性能分析工具,确保单规则处理时间<5ms。
持续监控体系
部署实时仪表盘监控以下指标:
- 拦截/放行请求比例
- 规则命中TOP10
- 平均规则处理延迟
- 误报率周环比变化
日志分析建议采用ELK架构,设置关键告警阈值。