评分制怎么工作
CRS 不为单条规则命中就立刻拦截,而是把命中的每条规则的严重度累加为异常分数,同一请求方向的总分达到阈值才处理。好处是单条低危命中不会造成误拦,攻击要凑够分数才会被拦下,整体误报率明显低于「命中即拦」的模式。
调优要看分数构成
评分机制下,调优的入口是分数明细:一次误报里哪些规则贡献了分数、各贡献多少,优先处理贡献最大的那条。反之,直接抬高阈值等于整体降低敏感度,攻击少做一步就可能落到阈值以下。
基本信息
| 入站阈值 | 请求方向默认 5 分 |
|---|---|
| 出站阈值 | 响应方向默认 4 分 |
| 调整影响 | 调高阈值降低误报,同时放松拦截 |
| 日志要求 | 记录每条规则的分数贡献,便于定位 |
典型使用场景
- 分析一次误报由哪几条规则共同造成
- 评估是否需要用参数级排除替代调整阈值
- 升级规则集后确认阈值设置未变
- 解释「为什么这条请求被拦」给业务方
- 排查拦截效果下降是否与阈值调整有关
- 制定调优记录规范
相关配置
相关配置
# 入站与出站异常评分阈值(默认 5 与 4)
SecAction "id:900110,phase:1,nolog,pass,t:none,setvar:tx.inbound_anomaly_score_threshold=5,setvar:tx.outbound_anomaly_score_threshold=4"
# 调整前先看日志里的分数构成,确认主要贡献规则概念与含义
| 概念 | 含义 |
|---|---|
| 异常分数 | 一次请求命中的规则严重度累加值 |
| 触发阈值 | 分数达到该值才执行拦截动作 |
| 分数构成 | 各条规则分别贡献多少,用于定位调优目标 |
| 方向区分 | 请求与响应分别计分,阈值也可分别设置 |
评分机制下,调优优先精确定位高贡献规则,而不是整体抬高阈值。
直接抬高阈值会整体削弱防护:攻击不需要变得更隐蔽,只要少触发一条规则就可能落到阈值以下。
日志中不记录各规则的分数贡献时,调优无从下手,只能靠猜,这也是很多调优越调越差的原因。