阈值设得低,突发攻击更容易被拦住,正常请求也可能一并受阻;设得高,业务较稳,清洗又可能来不及。要做好攻击流量清洗阈值与业务误伤平衡,关键不是只选固定或动态,而是明确每种阈值测什么、影响哪些流量,以及误判后如何撤回。
先区分两种阈值的工作方式
固定阈值是在一段时间内使用同一条触发线,例如某类请求速率超过预设值便启动限速或清洗。它规则简单、结果容易复核,适合容量边界明确、流量变化较小的服务;但遇到发布、促销或突发关注时,正常峰值也可能触发。
动态阈值根据近期正常流量基线调整触发线,常按请求类型、服务入口或资源类别分别计算。它更能适应自然波动,但若基线混入攻击流量,阈值可能被抬高;样本不足时,也可能频繁波动。动态不是自动正确,必须配合基线治理和人工回退。
用六项指标比较清洗效果与误伤
| 指标 | 固定阈值 | 动态阈值 | 如何核对 |
|---|---|---|---|
| 攻击覆盖率 | 攻击特征稳定时容易复现;攻击强度变化大时可能漏拦。 | 能跟随正常流量变化,但基线受污染会降低拦截力度。 | 结合已确认的攻击流量样本,核对触发前后有多少恶意请求被处置。 |
| 触发延迟 | 越线即触发,规则直接;阈值偏高会等待更久。 | 取决于更新频率和统计窗口,调整过慢会延迟,过快则容易追着噪声变化。 | 记录异常出现、规则生效和恢复的时间,比较相同类型事件。 |
| 正常流量误伤 | 高峰超过固定线时,正常请求可能被限流。 | 基线准确时可减少峰谷造成的误触发;异常样本进入基线也会误放行。 | 看被挑战、拒绝或降速的正常请求比例,并抽查失败请求的原因。 |
| 阈值稳定性 | 配置不变,行为容易预期;业务结构变化后可能不再合适。 | 能自适应,但样本少或流量剧烈变化时规则可能跳动。 | 检查阈值变更记录,并观察其是否频繁反向调整。 |
| 环境适应能力 | 适合业务模式和资源上限相对稳定的场景。 | 适合流量有规律波动、且能可靠区分流量类别的场景。 | 以 DNS 服务为例,应区分常规查询与异常放大流量特征,不能仅凭总请求量判定。 |
| 运营与审计成本 | 配置、解释较省事,但业务变化后需要人工复核和调参。 | 持续计算和监控要求更高,还需记录基线、版本及回退原因。 | 核对规则是否有负责人、变更记录、告警和停用办法。 |
可执行的选择与上线步骤
- 按流量类别拆分。不要让不同协议、接口或资源共用一个总量阈值。先确认清洗设备实际能识别和处置哪些特征。
- 建立可信基线。动态阈值可先使用约7至28天的历史数据作参考,并排除已确认的攻击时段、故障和规则切换期;具体长度要看业务周期和样本量。样本不足时,不宜自动放宽限制。
- 先告警、后处置。用历史记录回放或观察模式检查触发效果。若使用中位数和MAD(中位数绝对偏差)估计波动,可把高于基线数倍的点作为排查信号,而非直接封禁线;倍率需依据误报记录校准。
- 分层执行动作。先采用限速、挑战或针对性清洗,再对证据更强的流量采取拒绝措施。不同动作设置独立触发条件,避免一个阈值直接导致大范围阻断。
- 设定复核和回退。同步监测业务成功率、清洗命中量与正常用户失败情况;发现误伤集中增加时,先撤回最近变更或降低动作强度,再复核样本与基线。保留固定阈值作为保护上限或回退规则。
实际部署常采用混合策略:固定阈值守住明确的资源上限,动态阈值处理正常流量波动,并限制动态规则可调整的范围。这样既保留可解释性,也不让基线变化无限放宽防护,较容易实现攻击流量清洗阈值与业务误伤平衡。
常见问题
动态阈值是不是更先进,应该优先选?
不一定。流量样本不足、类别难以区分或必须严格审计时,固定阈值更容易管理;只有基线可信、调整过程可监控时,动态方式才有优势。
固定阈值怎么减少高峰期误伤?
按服务类别分开设线,先用观察模式核验历史高峰,并设置较温和的初始动作。业务容量变化后要重新评估,不能长期沿用过时配置。

怎样判断动态基线被攻击流量带偏?
查看基线是否持续抬升、阈值是否随异常同步上移,并对照独立的业务与安全告警。确认污染后,剔除异常样本并恢复已验证的配置。
两种方式能同时使用吗?
可以。常见做法是动态阈值决定日常触发点,固定上限限制其可变范围;上线前需明确两者冲突时的优先级和回退动作。


