从带宽使用图看出异常攻击行为

2025.7.9 杂七杂八 1416
33BLOG智能摘要
上周三凌晨3点,服务器遭遇DDoS攻击,带宽使用量在短时间内激增至平时10倍。正常流量变化平滑,攻击流量则表现为陡增、持续高位和不符合业务周期。攻击识别特征包括斜率异常、协议比例失衡、流量来源集中及非常规端口。使用iftop、nethogs、vnstat和goaccess等工具成功定位问题,发现为UDP反射放大攻击。更新防御策略包括启用Cloudflare、Nginx限速和SYN Cookie机制,并设置智能基线告警以提升应对效率。
— 此摘要由33BLOG基于AI分析文章内容生成,仅供参考。

我的服务器被DDoS了?从带宽监控图揪出异常流量

从带宽使用图看出异常攻击行为

上周三凌晨3点,手机突然疯狂震动——来自UptimeRobot的告警短信堆满了通知栏。睡眼惺忪地打开监控面板,看到带宽使用曲线那个夸张的尖峰时,我瞬间清醒了:这绝对不是正常流量!今天就来分享如何像侦探一样,从带宽图中识别异常攻击行为。

正常流量 vs 攻击流量的波形差异

先看两张对比图(模拟数据):

# 正常日流量(平滑曲线)
08:00 12Mbps |-----
12:00 45Mbps |--------------
18:00 38Mbps |------------
23:00 8Mbps  |---
# 攻击日流量(剧烈波动)
03:00 12Mbps |-----
03:05 892Mbps|################################
03:30 15Mbps |-----

正常流量就像心跳图,有规律的波峰波谷;而DDoS攻击往往表现为:瞬时陡增持续高位不符合业务周期。那次我的服务器在凌晨3点突然冲到平时10倍的带宽用量——这个时间点根本不会有用户活跃。

四个关键特征点

通过这次事件,我总结了攻击流量的识别特征:

  1. 斜率异常:正常流量变化斜率≤45°,攻击流量往往接近90°垂直上升
  2. 协议比例失衡:突然出现大量ICMP/UDP包(正常业务以TCP为主)
  3. 来源集中:TOP10 IP的流量占比超过80%
  4. 非常规端口:大量流量指向非常用端口(比如我的案例中出现123端口暴增)

实战排查工具链

当时我用了这套组合拳定位问题:

# 实时流量分析
iftop -nNP # 查看实时连接
nethogs eth0 # 按进程统计流量

# 历史数据分析
vnstat -h # 小时级流量统计
goaccess /var/log/nginx/access.log # 日志可视化

最终发现是来自某ASN的UDP反射放大攻击。这里有个血泪教训:我的Nginx之前没配置UDP端口限制,导致攻击者利用DNS查询进行流量放大。

防御措施三步走

根据这次经验,我完善了防御策略:

  • 第一层:Cloudflare代理 + 防火墙UDP端口白名单
  • 第二层:Nginx限速配置(如下代码)
  • 第三层:服务器层面启用SYN Cookie和连接数限制
# Nginx限速配置示例
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;

location / {
    limit_req zone=api burst=20 nodelay;
    limit_conn perip 10;
}

现在我的监控系统增加了智能基线告警——当流量偏离历史平均值3个标准差时立即触发通知。毕竟凌晨3点被吵醒的滋味,体验一次就够了!

你有遇到过类似情况吗?欢迎在评论区分享你的攻防故事~

评论

  • 楼主分析得很专业啊,我上次服务器被DDoS时也是凌晨被吵醒,带宽直接爆表 😅

  • 学到了!平时都没注意过协议比例这点,以后排查问题又多一个角度