百度云防护的CC防护功能已于近期重新优化推出,这是主机帮至今用过强大的CC攻击拦截功能之一。为什么这说呢?原因是百度云防护的这个CC攻击可选的拦截特征实在太多了。
如果你不懂配置自定义CC防护规则的话,可以直接开启智能CC防护,拥有三个模式,可以有效解决各类CC攻击。


除了智能CC防护外,其精准自定义CC功能非常强大。
下面我们以清晰的格式分别解释这些百度云防护 CC防护匹配条件的含义、作用和用法。
1. IP
- 含义: 客户端的源IP地址。
- 作用: 作为最基础的访问者标识符,用于对单个IP的请求频率进行统计和管控。
- 用法: 通常作为核心统计对象。例如:统计
IP在10秒内对任何资源的请求超过100次,则进行拦截。
2. URI
- 含义: 完整的请求地址,包括路径和查询参数(例如:
/api/user/login?id=123)。 - 作用: 精确定位到某个特定的资源或接口。
- 用法: 针对高敏感或高消耗的接口进行防护。例如:统计
IP在10秒内访问URI(/api/user/login) 超过5次,则触发挑战。
3. URI Path
- 含义: URI中的路径部分,不包含查询参数(例如:
/api/user/login)。 - 作用: 对某一类路径下的所有请求进行批量防护。
- 用法: 防护整个目录或模块。例如:统计
IP在10秒内访问URI Path(/api/) 超过50次,则进行拦截。
4. Referer
- 含义: HTTP请求头中的一个字段,表示该请求是从哪个页面链接过来的。
- 作用: 用于判断请求的来源是否合法,常用于防止盗链和识别恶意扫描来源。
- 用法: 匹配可疑或非法的来源。例如:
Referer等于http://evil.com/hack.php的请求,直接拦截。
5. Query String Parameter
- 含义: URL问号(?)后面的参数中的某一个具体参数的值(例如:
?name=admin&pwd=123中的pwd)。 - 作用: 检测攻击者是否在频繁尝试爆破某个参数(如密码、验证码)。
- 用法: 针对特定参数进行频率统计。例如:统计
IP在60秒内请求包含Query String Parameter(pwd) 的页面超过20次,则拦截。
6. Header
- 含义: HTTP请求的头部信息,包含很多字段(如 User-Agent, Accept-Language等)。
- 作用: 识别伪造的请求头或带有特定攻击特征的请求。
- 用法: 匹配自定义或特定的请求头。例如:
Header(X-Api-Key) 等于非法密钥的请求,直接拦截。
7. Cookie
- 含义: 客户端持有的会话凭证字符串(例如:
sessionid=abc123; user=admin)。 - 作用: 通过会话标识来统计请求频率,防止攻击者更换IP但维持同一会话进行攻击。
- 用法: 将Cookie作为统计对象。例如:统计
Cookie在10秒内对网站根路径的请求超过30次,则拦截。
8. CookieName
- 含义: Cookie中某个具体Cookie的名字(例如:
sessionid)。 - 作用: 定位到特定的Cookie,用于识别会话或用户标识。
- 用法: 常用于匹配会话固定攻击或缺失关键Cookie的请求。例如:请求中不包含
CookieName(sessionid) 的,进行观察或挑战。
9. Content-Type
- 含义: 请求头中表示请求主体内容类型的字段(例如:
application/json,multipart/form-data)。 - 作用: 区分请求的数据类型,对特定类型的请求进行频率控制或攻击检测。
- 用法: 限制某些类型请求的频率。例如:统计
IP在10秒内发送Content-Type为application/json的POST请求超过20次,则拦截。
10. Content-Length
- 含义: 请求头中表示请求主体数据长度的字段(单位:字节)。
- 作用: 识别异常大的请求体,这可能是文件上传攻击或DDoS攻击的一部分。
- 用法: 设置大小阈值。例如:
Content-Length大于10000000(10MB) 的请求,直接拦截。
11. X-Forwarded-For
- 含义: 一个事实标准的请求头,用于在代理或负载均衡环境下标识客户端的原始IP。
- 作用: 在多层架构中正确获取用户真实IP并进行频率统计。
- 用法: WAF配置为优先从该头获取IP进行统计。例如:统计
X-Forwarded-For中的IP在5秒内请求超过100次,则拦截。
12. Query String
- 含义: URL中问号(?)后面的整个参数字符串(例如:
id=123&action=delete)。 - 作用: 检测整个参数字符串是否匹配某个攻击模式或是否被频繁访问。
- 用法: 匹配完整的参数组合。例如:
Query String等于?cmd=whoami的请求,直接拦截。
13. Host
- 含义: 请求的目标域名(例如:
www.example.com)。 - 作用: 防止Host头攻击,并正确区分不同域名的流量(尤其在虚拟主机环境下)。
- 用法: 匹配恶意域名或非本站域名。例如:
Host不等于www.example.com的请求,进行观察或拦截。
14. Http-Method
- 含义: HTTP请求方法(例如:
GET,POST,PUT,DELETE)。 - 作用: 对不同方法的请求实施不同的安全策略,通常非GET/POST方法的请求更敏感。
- 用法: 限制高危方法的使用频率。例如:统计
IP在60秒内发送Http-Method为DELETE的请求超过5次,则拦截。
15. Body
- 含义: HTTP请求的主体内容(例如:POST表单数据、JSON字符串等)。
- 作用: 检测请求体中是否包含SQL注入、XSS等攻击payload。
- 用法: 定义规则匹配Body中的特定字符串。例如:
Body包含' OR 1=1--的请求,直接拦截。(注意:此操作计算开销大,需谨慎使用)
16. JA3
- 含义: 一种SSL/TLS客户端握手指纹技术,可以生成一个唯一哈希值来标识客户端环境(如用的工具、操作系统等)。
- 作用: 非常精准地识别恶意客户端软件(如扫描器、 bots),即使它们更换IP、User-Agent等也无法逃避检测。
- 用法: 直接匹配已知的恶意工具指纹库。例如:
JA3等于xxxxxxxxx(某个已知攻击工具的JA3指纹) 的请求,直接拦截。这是一种非常高级且有效的防护手段。
总结
| 条件 | 核心含义 | 主要作用 | 典型用法 |
|---|---|---|---|
| IP | 客户端地址 | 基础频率统计 | 单IP高频访问拦截 |
| URI/Path | 请求资源地址 | 保护特定接口/目录 | 登录接口防爆破 |
| JA3 | TLS握手指纹 | 精准识别恶意客户端 | 封禁已知攻击工具 |
| 其他头/参数 | 请求元数据 | 细化规则、防御特定攻击 | 防盗链、防参数污染、防异常请求 |
在实际配置中,通常会组合多个条件来构建更精确、误报更少的防护规则。例如:“统计 IP + URI Path (/api/login) 在 10 秒内超过 5 次” 的规则,就比单独统计IP或URI要精准得多。


