防护阈值设得过低,正常访问可能被拦;设得过高,异常流量又可能先挤满链路。优化DDoS策略的起点不是直接调大或调小数字,而是确认流量从哪里来、以什么方式增长,以及服务在哪个环节开始受影响。带宽告警、服务器负载和用户请求量反映的并非同一件事,不能互相替代。
先区分流量指标与攻击形态
核对数据时,至少分开观察每秒比特数(bps)、每秒数据包数(pps)和每秒请求数(RPS)。大流量可能先占满出口带宽;小包洪泛可能让网络设备承受高包速率;针对网页或接口的应用层攻击,则可能在带宽不高时大量消耗连接、计算或数据库资源。
因此,DDoS防护不能只设置一个总流量阈值。还要对照受影响的入口、协议、目标端口和具体路径。例如,网站首页与登录接口的正常请求量和处理成本不同;DNS服务也有自己的查询特征。适用于网络层的清洗规则,未必能直接识别应用层异常。
用基线流量校准阈值
选择可比较的历史区间
建议先查看至少一至两周的监控记录;若业务存在明显的周末、活动或月末波动,可延长到覆盖完整业务周期。将相同星期、相近时段的带宽、pps、RPS与错误率放在一起比较,并标注发布、促销或内容传播等已知事件。短时峰值不应自动当作攻击,也不宜仅凭月平均值决定阈值。
按入口设置阈值和动作
速率限制适合约束特定接口或来源的请求频率,但对共享出口、移动网络和代理用户要谨慎,过严规则可能误伤多人。流量清洗可在网络层过滤可疑数据,效果取决于流量是否经过清洗路径及规则匹配能力。若使用Cloudflare等反向代理服务,还需确认相关域名流量确实经过代理;未代理的服务入口不会因网站规则自动得到同等保护。
将阈值分为告警线、观察线和自动处置线,比单一数字更便于控制风险。数值应根据历史峰值、链路容量、服务承受能力和监控延迟设定,不存在适用于所有业务的固定比例。若缺少足够历史数据,可先启用告警和记录,待观察到正常波动后再逐步启用自动拦截。
按步骤核对并调整
- 列出入口:记录公网域名、IP服务、端口、协议及流量是否经过CDN或清洗服务。
- 导出基线:按分钟或更细粒度查看bps、pps、RPS、并发连接、响应时间和错误率,并注明采集点与统计周期。
- 对照业务日志:检查请求路径、状态码、来源分布及重复频率。单一来源突增与大量分散来源请求,可能需要不同规则。
- 分阶段调参:先提高告警敏感度,再小范围启用限速或清洗;观察正常用户成功率、延迟和误拦截记录后,才扩大规则范围。
- 保留回退方案:记录每次改动、负责人和生效时间,确认可快速撤销;攻击缓解后重新检查规则,避免临时措施长期影响正常流量。
复盘重点:阈值之外的盲区
如果监控只看总带宽,攻击可能在带宽未到阈值前就拖慢关键接口;如果只看请求量,也可能漏掉高包速率造成的网络压力。应把清洗侧统计与源站日志、链路监控对齐时间,检查指标是否覆盖同一流量路径。调整DDoS策略后,还要验证健康检查、DNS解析和备用入口的表现,避免防护规则生效但故障转移无法正常工作。
阈值不是一次设定后不变的常数。业务结构、正常访问习惯和网络路径都会变化。按月或在重大变更后复核基线,并结合告警与误拦截记录修订规则,才能让DDoS防护既能识别异常,也尽量不影响真实用户。
常见问题
流量一超过历史峰值就应该拦截吗?
不一定。先确认是否有业务活动或正常流量增长,再结合pps、请求特征、错误率和服务状态判断,避免仅凭单项指标误拦。
只设置带宽阈值够不够?
不够。还应关注包速率、请求速率、并发连接和应用响应情况,并按协议及业务入口分别观察。
没有历史数据时怎么开始?
先开启监控和告警,记录正常时段的流量与服务表现;采用保守的人工确认流程,积累可比较的数据后再启用自动处置。
清洗规则越严格越安全吗?
不是。规则过严会增加误拦风险。应从明确的异常特征开始,分阶段上线,并持续检查正常请求成功率和回退条件。