第219篇:Anti-DDoS 防护机制
关键词
Anti-DDoS、云清洗、流量清洗、近源清洗、黑洞路由、SCRUBBING、DDoS 缓解
一、DDoS 防护体系
1.1 三层防护架构
应对 DDoS 攻击需要多层次防护,而非仅依赖单一设备:
┌─────────────────────────────────────────┐
│ 层 1:骨干网 / 运营商侧(云清洗) │
│ 清洗能力:Tbps 级别 │
│ 部署:ISP 骨干网清洗中心 │
└──────────────────┬──────────────────────┘
│
┌──────────────────┴──────────────────────┐
│ 层 2:近源清洗 / 流量牵引 │
│ 清洗能力:Gbps - Tbps │
│ 部署:运营商边缘或企业入口 │
└──────────────────┬──────────────────────┘
│
┌──────────────────┴──────────────────────┐
│ 层 3:本地防火墙 / IPS │
│ 清洗能力:Gbps 级别 │
│ 部署:企业边界 │
└─────────────────────────────────────────┘
1.2 攻击流量 vs 正常流量
攻击流量 清洗中心 正常流量
│ │
│── HTTP Flood ──→ │ 识别并过滤 │ │
│── SYN Flood ────→│ ↓ │ │
│── UDP Flood ────→│ 丢弃攻击包 │ │
│ │ 放行正常包 │ │
│ └──────┬───────┘ │
│ │ │
│ │ 正常流量 │
│ │──────────────────→│
│ │ │
二、流量牵引(Traffic Diversion)
2.1 什么是流量牵引
当检测到 DDoS 攻击时,企业将流量牵引到专业清洗中心,清洗后再送回:
正常路径
用户 ──────────────────────────────────→ 目标服务器
│ │
│ 攻击时:BGP 路由变更 │
│ 将目标 IP 的流量指到清洗中心 │
│ 清洗后再通过 GRE 隧道送回 │
│ │
└──→ ISP 路由器 ──→ 清洗中心 ──→ 目标
│
BGP 宣告更优路径
(如通过 AS Path 操作)
2.2 BGP 流量牵引配置
# 检测到攻击后,触发 BGP 路由变更
# 清洗中心 BGP 宣告
bgp 65001
#
# 被保护的目标 IP
network 202.1.1.0 mask 255.255.255.0
#
# 使用 AS Path 操作让路由更优
peer 10.0.0.1 as-number 65000
#
# 正常路径:AS Path = [65000]
# 牵引路径:AS Path = [65000 65001](加长,不优)
# 使用 Community 控制
#
route-policy ATTRACT permit node 10
apply community 65000:100 # 标记牵引流量
apply as-path 65001 additive
2.3 黑洞路由(Blackhole)
黑洞路由是最简单粗暴的 DDoS 缓解方式——直接把流量丢弃:
# 在 ISP 边缘路由器上配置黑洞路由
ip route-static 202.1.1.1 255.255.255.255 NULL0
!
# 或者通过 RTBH(Remote Triggered Blackhole)
# ISP 收到 Trigger 后自动创建黑洞路由
优点:配置简单,立即生效
缺点:被攻击 IP 完全不可用(正常流量也被丢弃)
适用:攻击流量极大,其他手段无法缓解时
三、云清洗方案
3.1 云清洗流程
云清洗(Cloud-based Scrubbing)的完整流程:
检测阶段:
持续监控流量 → 发现异常(如 SYN 突增 10 倍)
→ 自动触发清洗流程
牵引阶段:
通过 BGP 将流量牵引到云端清洗中心
清洗中心接受所有被保护 IP 的流量
清洗阶段:
清洗中心执行:
1. 协议合规检查
2. 源 IP 信誉检查
3. 行为分析(速率、模式)
4. 签名匹配
5. 机器学习模型判断
回注阶段:
清洗后的合法流量通过 GRE/IPsec 隧道回送到企业网络
3.2 华为 Anti-DDoS 方案
华为 Anti-DDoS 解决方案(如 AntiDDoS8000):
| ┌─────────────┐ 流量牵引 ┌──────────────┐ | ||
|---|---|---|
| 企业网络 被保护 IP 202.1.1.1 └─────────────┘ 清洗后回注 | ──────────────→ ←─────────────── 检测+清洗 | AntiDDoS 清洗 设备集群 |
| │ 10 Tbps │ | ||
| └──────────────┘ |
功能: - 三层 DDoS(SYN/UDP/ICMP Flood) - 四层 DDoS(TCP 异常) - 七层 DDoS(HTTP/DNS/SSL Flood) - 应用层 CC 攻击防护 - 误报率 < 1%
四、本地 Anti-DDoS 防护
4.1 华为防火墙 Anti-DDoS 配置
# 华为 USG 防火墙本地 DDoS 防御配置
# 1. 开启 Anti-DDoS 功能
anti-ddos enable
# 2. 定义保护对象
anti-ddos protected-ip 10.0.0.0 255.0.0.0 # 保护整个内网
anti-ddos protected-ip 202.1.1.1 255.255.255.255 # 保护特定公网 IP
# 3. 配置防护策略
anti-ddos policy default
# SYN Flood
syn-flood
activate threshold 3000 # 每秒 3000 SYN 触发防护
action rate-limit 1000 # 限速到 1000/s
source-ip threshold 100 # 单源 100/s
source-ip action blacklist 600 # 超限加入黑名单 10 分钟
# UDP Flood
udp-flood
activate threshold 5000
action rate-limit 2000
# ICMP Flood
icmp-flood
activate threshold 1000
action rate-limit 200
# DNS Flood
dns-flood
activate threshold 2000
action rate-limit 500
# HTTP Flood (CC 攻击)
http-flood
activate threshold 5000
action captcha # 触发验证码验证
source-ip threshold 200
# 4. 查看防护效果
display anti-ddos statistics protected-ip all
Protected IP Policy Status Drop/Pass
202.1.1.1 default Active 500000/20000
10.0.0.1 default Active 0/500000
4.2 TCP 协议栈参数调优
除了防火墙策略,服务器侧的 TCP 栈调优也很重要:
# Linux 服务器 SYN Flood 防护
# 启用 SYN Cookie
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# 减少 SYN 超时时间
echo 1 > /proc/sys/net/ipv4/tcp_synack_retries
# 增大半连接队列
echo 4096 > /proc/sys/net/ipv4/tcp_max_syn_backlog
# 启用 TCP Fast Open(减少握手开销)
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
五、DDoS 攻击的监控与响应
5.1 监控指标
关键监控指标:
指标 正常范围 告警阈值
───────────────────────────────────────────────
新建连接速率 < 5000/s > 10000/s
半连接数量 < 1000 > 5000
入向带宽利用率 < 60% > 80%
ICMP 包速率 < 100/s > 1000/s
DNS 查询速率 < 2000/s > 10000/s
5.2 响应流程
DDoS 攻击应急响应流程:
Phase 1:检测(0-5 分钟)
监控告警 → 确认攻击类型和规模
查看 display anti-ddos statistics
Phase 2:评估(1-2 分钟)
评估攻击对业务的影响
判断是否触发自动防护
Phase 3:缓解(2-10 分钟)
自动缓解:
- 本地防火墙限速
- 源 IP 黑名单
手动缓解(如果自动不足):
- 联系 ISP 做流量牵引
- 启用云清洗
- 黑洞路由(极其严重时)
Phase 4:恢复(持续)
攻击停止后恢复正常路由
总结攻击特征
优化防护策略
六、总结
| 知识点 | 核心要点 |
|---|---|
| 三层防护 | 云清洗(Tbps)→ 近源清洗(Gbps)→ 本地防火墙 |
| 流量牵引 | BGP 路由变更,将攻击流量引到清洗中心 |
| 黑洞路由 | 流量直接丢弃,简单粗暴但让业务不可用 |
| 云清洗 | 云端检测 + 清洗 + 回注,适合大规模 DDoS |
| SYN Cookie | 服务器端防御 SYN Flood 的有效手段 |
| 本地防护 | 华为防火墙内置 Anti-DDoS 功能 |
| 响应流程 | 检测 → 评估 → 缓解 → 恢复 |
七、思考
- DDoS 三层防护体系各自的作用是什么?什么攻击规模需要用到云清洗?
- BGP 流量牵引是如何将攻击流量引导到清洗中心的?
- 黑洞路由的优缺点是什么?什么情况下才会使用黑洞路由?
- SYN Cookie 的工作原理是什么?它是如何在不消耗半连接资源的情况下验证客户端的?
- 企业建立 DDoS 应急响应流程时,每个阶段应该包含哪些关键动作?
下篇预告:第220篇《全局白名单与黑名单策略》——防火墙黑白名单机制,从静态规则到动态信誉的演进。