CC 防护面向应用层的高并发与高频访问,通过路径与请求特征匹配、统计对象与时窗阈值控制,在达到阈值时执行观察、拦截、限速、人机验证或 JS 挑战等动作。本文旨在帮助您清晰地理解多条 CC 防护规则并存时,Web 应用防火墙是如何决定哪条规则先生效的。
WAF 按照防护域名 > 请求路径 > 请求特征 > 统计条件的顺序逐级匹配 CC 防护规则,只有当前级别的条件匹配成功,才会继续匹配下一级别的规则。
以下是每个配置模块的说明及内部的优先级顺序:
指定需要防护的域名,支持选择添加的精确域名或泛域名。
精确域名 > 泛域名
假设您有两条规则:
www.example.com (精确域名)*.example.com (泛域名)当一个访问 www.example.com 的请求到达时,WAF 会优先匹配规则 A。只有当规则 A 的后续条件(如路径、特征)不满足时,才会尝试去匹配规则 B。
指定访问目标的 URL 路径,支持输入精确路径或使用通配符*匹配任意路径。WAF 对同一域名下的不同 CC 防护规则按照请求路径区分不同分组,即具有相同请求路径的 CC 规则属于同一个一级规则组。
精确路径 > 通配符路径
针对域名 www.example.com,您配置了两条规则:
/login.php (精确路径)/login/* (通配符路径)当一个访问 www.example.com/login.php 的请求到达时,WAF 会优先匹配规则 A。如果规则 A 后续条件不满足,才会继续尝试匹配规则 B。
用于设定更精细的匹配条件,例如请求协议、请求方法、请求头、请求参数、请求体、请求 Cookie、请求 User-Agent 等。您可以根据不同的请求特征设置多条规则。在同一个一级规则组下,WAF 按照请求特征区分二级规则组。即具有相同请求路径和请求特征的 CC 规则属于同一个二级规则组。
以上图为例,针对路径 /path/to/resource,您设置的请求特征组自上而下分别为:
请求特征 | 规则名称 |
|---|---|
| cc1 |
| cc2 |
| cc3 |
| cc |
客户端 IP 等于 1.1.1.1所在特征组至列表最前,则优先级从高到低依次为:cc3 > cc1 > cc2 > cc指定统计对象、统计时长和阈值,用于衡量统计对象的访问频率和并发量,以判断是否触发防护动作。 其优先级说明如下:
您快速理解和查阅,我们将整个匹配逻辑总结如下表:
匹配层级 | 匹配内容 | 内部优先级规则 |
|---|---|---|
第一级 | 防护域名 | 精确域名 > 泛域名 |
第二级 | 请求路径 | 精确路径 > 通配符路径 |
第三级 | 请求特征 | 具体特征 > 未配置特征 (ALL);同级可手动调整顺序 |
第四级 | 统计条件 | 同一特征下可配置多条,顺序可手动调整 |