第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 功能
响应流程 检测 → 评估 → 缓解 → 恢复

七、思考

  1. DDoS 三层防护体系各自的作用是什么?什么攻击规模需要用到云清洗?
  2. BGP 流量牵引是如何将攻击流量引导到清洗中心的?
  3. 黑洞路由的优缺点是什么?什么情况下才会使用黑洞路由?
  4. SYN Cookie 的工作原理是什么?它是如何在不消耗半连接资源的情况下验证客户端的?
  5. 企业建立 DDoS 应急响应流程时,每个阶段应该包含哪些关键动作?

下篇预告:第220篇《全局白名单与黑名单策略》——防火墙黑白名单机制,从静态规则到动态信誉的演进。