漏洞防护的加白名单机制,旨在为可信的业务流量创建豁免规则,以避免因 WAF 严格的检测引擎而产生的误报。加白规则主要分为两类:请求加白和字段加白。
本文档将详细解析这两类规则,并重点阐述“请求加白”规则的层级匹配与优先级逻辑。
在请求加白规则中,WAF 按照防护域名 > 请求路径 > 高级条件的顺序逐级评估一个请求是否应该被加白。只有当前级别的条件匹配成功,才会继续匹配下一级别的规则。
以下是每个配置模块的说明及内部的优先级顺序:
指定需要防护的域名,支持选择添加的精确域名或泛域名。
www.example.com (精确域名)*.example.com (泛域名)www.example.com 的请求到达时,WAF 会优先匹配规则 A。只有当规则 A 的后续条件(如路径、高级条件)不满足时,才会尝试去匹配规则 B。指定访问目标的 URL 路径,支持输入精确路径或使用通配符*匹配任意路径。
优先级:精确路径 > 通配符路径
示例:
针对域名 www.example.com,您配置了两条规则:
/login.php (精确路径)/login/* (通配符路径)www.example.com/login.php 的请求到达时,WAF 会优先匹配规则 A。如果规则 A 后续条件不满足,才会继续尝试匹配规则 B。用于设定更精细的匹配条件,例如请求协议、请求方法、请求头、请求参数、请求体、请求 Cookie、请求 User-Agent 等。您可以根据不同的请求特征设置多条规则。
字段加白规则的设计更为直接,不涉及复杂的层级优先级。它是一个扁平化的规则列表,每条规则由以下两个核心要素构成:
Header、Path、Body、Cookie 等。WAF 在进行漏洞扫描时,会检查请求中的字段是否与列表中的任意一条“区域+字段”规则匹配。如果匹配成功,则跳过对该字段值的检测,并继续处理请求的其余部分。