DDoS 攻击的常见类型与防御方法详解
2026/6/87 阅读
DDoS 不是一种攻击,而是一类。SYN Flood、UDP Flood、CC、反射放大每种打法不同,防御策略也不一样。
一、DDoS 不是单一攻击
DDoS(Distributed Denial of Service,分布式拒绝服务)是一类攻击的统称,根据原理和目标不同,常见有以下几种:
二、SYN Flood(最经典)
原理:攻击者向服务器发大量 TCP SYN 包但不回 ACK,服务器维护半连接队列耗尽内存/连接数。
特征:大量小包,源 IP 通常伪造。
防御:
- 启用 SYN Cookie(Linux: net.ipv4.tcp_syncookies=1)
- 缩短半连接超时(tcp_synack_retries)
- 高防机房会用专用清洗设备识别并丢弃伪造源 SYN
三、UDP Flood
原理:UDP 无连接,攻击者向目标 UDP 端口发大量包。服务器即使不监听,也要响应 ICMP "Port Unreachable",消耗带宽。
特征:大流量、目标常是非业务端口或随机端口。
防御:
- 禁用不必要的 UDP 服务
- iptables 限制 UDP 速率
- 高防节点上行清洗(业务前置)
四、ICMP Flood(Ping of Death)
原理:大量 ICMP echo(ping 包)淹没目标。
防御:直接禁 ICMP 入站或限速。生产环境通常 iptables 限制 ping。
五、反射放大攻击(最猛)
原理:攻击者发小请求到 DNS/NTP/Memcached 等服务器,伪造源 IP 为目标 IP,被反射的回复(数倍体积)淹没目标。
放大倍数:
- DNS:约 28-54 倍
- NTP(monlist 漏洞):约 556 倍
- Memcached(无认证):约 51000 倍(创纪录的 1.7Tbps 攻击就是这个原理)
防御:用户侧无法直接防,靠机房上行带宽和清洗能力。
六、CC 攻击(最难防)
原理:模拟正常用户行为发 HTTP 请求,每个请求都是完整 TCP 握手 + GET/POST,服务器处理这些请求耗 CPU/数据库。
特征:源 IP 真实(来自代理或肉鸡),User-Agent 看起来像浏览器。
防御(这是真正难的):
- 验证码(JS Challenge、滑块、reCAPTCHA)
- 限速:单 IP 限请求频率
- WAF 规则识别异常 UA、Referer、行为模式
- CDN 边缘节点拦截
- 极端情况:人机验证强制弹窗
七、Slow HTTP(Slowloris)
原理:攻击者建立 HTTP 连接但缓慢发送数据,长时间占用服务器并发槽位。
防御:Nginx 配置 client_body_timeout、send_timeout,限制单 IP 并发连接数。
八、防御层次
真实业务的防御不是单一手段,而是分层:
- 机房层:上行清洗(DDoS)— 30 网 60-200G 高防机型
- 应用层:WAF + 限速(CC、应用层攻击)
- 业务层:限频、滑块、人机验证(防自动化)
- 数据层:缓存、降级方案(最坏情况业务不崩)
如果你的业务正在或预期被攻击,建议直接上 100G 以上的香港高防,避免临时上线时被打瘫。
#DDoS#攻击类型#防御#网络安全