Web 应用防火墙(WAF)防护策略包含多个防护模块。本文介绍各模块的规则执行顺序、处理逻辑及模块间的相互关系,帮助理解请求在 WAF 引擎中的完整检测流程,以便更合理地配置防护策略。
执行流程图


总体说明
请求到达 WAF 后,引擎会根据当前防护策略中已启用的模块,按特定顺序对请求进行逐层检测和处置。部分模块之间为串行执行,部分模块之间为并行执行。
白名单优先放行机制
命中精准白名单或 IP 白名单后,请求将直接放行,后续所有防护规则不再生效。
说明:
白名单的优先级最高。如果发现正常请求被误拦截,可将源 IP 或特征添加到白名单中,确保其不受任何防护规则影响。
前端对抗与 CC 防护的执行关系
前端对抗优先于 CC 防护执行。被前端对抗模块拦截的请求会返回 HTTP 403 状态码,不会进入 CC 防护流程。因此,攻击日志中的 403 状态码可能来自前端对抗模块,也可能来自 CC 防护模块。
注意:
排查攻击日志时,请注意区分 403 状态码的来源模块,以便准确判断攻击类型和调整防护策略。
模块内规则处理逻辑
在同一防护模块内,当请求命中多条规则时,遵循以下处理逻辑:
优先级高的规则先执行:规则的优先级数值越小,优先级越高。引擎按优先级从高到低依次检查规则。例如优先级 1 高于优先级 10。
命中即执行:请求命中某条规则后,立即执行该规则设定的处置动作(如拦截、观察、人机识别等)。
跳出当前模块:命中并执行处置动作后,该请求在当前模块内的后续规则不再继续匹配,但会继续进入下一个防护模块进行检测(除非动作是放行或拦截)。
注意事项
规则冲突:如果同一请求同时命中多条不同模块的规则,以先执行的模块的处置动作为准。白名单模块在所有防护模块之前执行。
性能优化建议:将高频命中的规则(如常用白名单)放在靠前位置,可减少不必要的检测开销。
日志查询:在攻击日志中,可查看每条请求命中的具体模块和规则,帮助分析防护效果。详情请参见 攻击日志。