流量突然升高,不一定就是攻击。新品发布、直播开始、新闻传播或搜索引擎集中抓取,都可能带来真实访问。有效的流量攻击告警规则应当同时回答三个问题:流量是否异常、异常是否影响服务、是否需要立即处置。下面用五种方法说明如何建立可执行的规则。
一、先建立业务基线,再设置动态阈值
固定写死“超过某个带宽就报警”很容易误报。以电商网站、在线教育平台或票务系统为例,工作日、周末、活动日和夜间的访问模式差异明显,应该先观察至少一到两个完整业务周期。
具体做法
- 从监控系统提取每5分钟或每10分钟的带宽、请求数、并发连接和响应状态数据。
- 按小时、星期和业务场景分别计算正常区间。可以使用过去数周同一时段的中位数,避免单次峰值影响判断。
- 将当前值与基线比较,例如连续5分钟超过历史同周期均值的约2至3倍,再触发初级告警。
这里的倍数不是通用答案。流量稳定的网站可以设置得更敏感;促销频繁、波动较大的业务则应扩大容忍区间。动态基线是流量攻击告警规则减少误报的基础。
二、同时监控带宽、包速率和连接数
DDoS攻击不只有一种表现。大流量攻击可能首先推高出口带宽,SYN Flood等攻击则可能在带宽尚未饱和时耗尽连接资源。因此,规则不能只盯着Gbps或Mbps。
- 带宽阈值:适合发现UDP Flood、反射放大等高流量事件,可按线路峰值容量的约60%至80%设置预警,具体取值取决于冗余设计。
- 包速率阈值:适合识别小包高频攻击。网络设备处理能力往往受pps影响,不能用带宽数值替代。
- 并发连接阈值:适合发现连接资源被大量占用的情况,应结合负载均衡器、操作系统和应用服务器的实际上限设置。
建议分为预警、严重和紧急三级。例如达到容量预警线时通知值班人员,持续超过严重线时联动清洗或限速,出现丢包、连接失败或服务不可用时直接升级为紧急事件。
三、按来源和行为识别异常请求
仅凭总请求量无法区分真实用户和攻击流量。CC攻击通常表现为大量HTTP请求,可能集中访问登录、搜索、下单或评论等消耗资源较高的功能。
可加入的判断条件
- 单个IP、网段或自治系统在短时间内的请求数明显超出正常用户范围。
- 大量请求集中到同一个URL、同一种请求方法或同一类参数。
- 来源国家、地区、客户端特征与业务用户画像明显不一致。
- 请求成功率下降,但访问量继续上升,且后端CPU、数据库连接池或缓存命中率同步恶化。
不要把“海外访问”或某个固定User-Agent直接判定为攻击。办公网络、移动运营商和代理服务都可能造成来源聚集。更稳妥的流量攻击告警规则是采用多个条件组合,例如请求速率升高、目标路径集中、错误率升高同时出现,才提升告警等级。
四、把业务影响纳入告警,而不是只看网络指标
攻击是否需要处理,最终要看用户能否正常使用服务。监控平台可以使用Prometheus采集服务指标,再由Grafana展示趋势;日志侧也可通过Elasticsearch等系统统计状态码和接口耗时。
- 为首页、登录、支付回调、文件下载等关键功能配置独立探测。
- 记录成功率、P95或P99响应时间、超时数和5xx比例。
- 将网络异常与业务异常关联,例如请求量超过基线约2倍,且关键接口错误率持续超过平时水平。
- 设置持续时间,短暂尖峰只发通知,连续5至10分钟未恢复再升级。
这种设计能避免网络流量很大但业务仍正常时过早启动处置,也能发现带宽并未明显升高、但应用线程或数据库已被拖慢的低速攻击。
五、设置分级动作并持续复盘
告警规则不应只是发一封邮件。每一级告警都应对应负责人、响应时间和可执行动作,这也是流量攻击告警规则落地的关键。
推荐的处置层级
| 等级 | 典型条件 | 建议动作 |
|---|---|---|
| 提示 | 指标超过基线,业务无明显影响 | 记录事件并观察趋势 |
| 高危 | 带宽、连接或请求速率持续异常 | 通知值班人员,检查来源和目标路径 |
| 紧急 | 出现明显丢包、超时或关键功能不可用 | 启动限速、WAF规则或上游清洗流程 |
每次事件结束后,应检查告警是否提前触发、是否重复通知、是否遗漏低速攻击,并调整阈值、持续时间和聚合方式。对正常的大促、发布会或内容传播,可建立临时变更记录,避免为了压低误报而永久放宽规则。
常见问题
1. 流量超过带宽一半就应该报警吗?
不一定。应结合线路容量、业务峰值、冗余和丢包情况。带宽占用较高但业务稳定时,可以先预警;出现持续增长或服务指标恶化时再升级。
2. IP请求次数能单独判断攻击吗?
不能。大型企业网络、运营商出口或代理服务可能共享IP。应结合路径、请求频率、响应结果和行为持续时间判断。

3. 告警持续多久才合理?
网络层突发攻击需要较短响应时间,应用层波动则可观察约5至10分钟。具体时间应根据业务可承受中断时长调整。
4. 如何降低误报?
使用分时段基线、连续触发条件和多指标组合,并为已知活动设置临时观察窗口,不建议简单提高所有阈值。
总的来说,可靠的流量攻击告警规则应覆盖基线、网络容量、请求行为和业务影响,并且每条规则都要绑定明确动作。先监测、再分级、后复盘,通常比单一阈值更适合长期运行。


