一、DDoS攻击原理

1.1 核心原理

DDoS(Distributed Denial of Service,分布式拒绝服务攻击)通过控制大量僵尸网络(Botnet)节点,大量受控设备 (俗称 "肉鸡" 或 "僵尸主机"),向目标系统发送海量恶意请求,耗尽其计算、带宽或连接资源,导致合法用户无法访问的攻击方式。

技术实现

  • 僵尸网络:成千上万台被控制的设备
  • 攻击工具SYN Flood、HTTP Flood、DNS Amplification
  • 协调机制:主控程序在几秒钟内激活成百上千次代理程序

1.2 攻击三要素

  1. 资源耗尽:带宽、CPU、内存、连接数
  2. 协议漏洞利用:利用TCP三次握手、DNS反射等协议弱点
  3. 分布式特性:攻击源分散,难以追踪和阻断

二、通俗解析

咖啡馆比喻
想象一家热门咖啡馆(你的网站/服务器):

  • 正常情况:店员(服务器)为真实顾客(用户)提供服务
  • DDoS攻击:突然涌入上千名"假顾客"(攻击流量),他们:
    • 占满所有座位(耗尽连接数
    • 不停要求试喝但不购买(发送无效请求
    • 导致真正想喝咖啡的顾客无法进入(正常用户无法访问
    • 店员疲于应付假需求,最终咖啡馆瘫痪停业(服务中断

攻击流程:

  1. 感染阶段:攻击者通过病毒、木马、漏洞利用等方式控制大量互联网设备
  2. 控制阶段:建立 C&C (命令与控制) 服务器,统一管理所有肉鸡
  3. 攻击阶段:向 C&C 服务器发送攻击指令,所有肉鸡同时向目标发起攻击
  4. 持续阶段:不断调整攻击策略,躲避防御措施,维持攻击效果

三、攻击场景分析

 攻击类型分类

攻击类型 攻击原理 影响目标 所属层次
SYN Flood 利用TCP三次握手漏洞,发送大量SYN包不完成握手 耗尽服务器连接资源 传输层
UDP Flood 发送大量UDP数据包 耗尽网络带宽和处理能力 网络层
ICMP Flood 发送大量ICMP请求 耗尽网络带宽 网络层
HTTP Flood 模拟大量HTTP请求访问网页 耗尽Web服务器CPU/内存 应用层
CC攻击 高频次访问特定页面 耗尽Web应用资源 应用层
DNS Amplification 利用DNS协议放大攻击流量 耗尽网络带宽 应用层

四、实战案例分析

案例1:金融平台抵御1.35Tbps混合攻击

攻击背景

  • 深圳某金融公司遭遇持续16小时攻击
  • 峰值达1.35Tbps(国内已知最高记录)
  • 包含SYN Flood、UDP Flood及低频TCP Data Flood

防御方案

全球分布式清洗 → 流量调度至全球12个清洗节点
                    → BGP智能路由
                    → AI流量识别(差异率0.5%)

案例2:电商平台80Gbps混合攻击防御

攻击特征

  • 攻击峰值:80Gbps
  • 攻击类型:SYN洪水、DNS放大、CC攻击混合
  • 持续时间:12小时

分阶段防御处置

第一阶段:紧急引流与带宽扩容
  - 临时增加100Gbps清洗带宽
  - 将流量引导至高防节点

第二阶段:智能识别与精准清洗
  - 部署AI流量分析,区分正常/恶意流量
  - 启用深度包检测(DPI)技术

第三阶段:多层防护加固
  - 云高防CDN进行流量清洗
  - WAF过滤恶意HTTP请求
  - 防火墙设置访问频率限制

案例3:游戏行业3.2Tbps攻击

攻击详情

  • 某日本游戏公司遭受3.2Tbps攻击
  • 63%采用UDP反射放大与HTTP慢速攻击结合
  • 某知名MMORPG游戏遭受380万次虚假登录请求/秒
  • 全服瘫痪72分钟,直接经济损失230万美元

五、防护体系构建

5.1 四层智能防护体系

 第一层:高防服务器与流量清洗
   - 部署高防IP(如白山云SCDN、上海云盾)
   - 支持T级流量清洗
   - 深度包检测(DPI)技术

 第二层:CDN与智能调度
   - 全球节点分散攻击流量
   - Anycast技术隐藏源站IP
   - 智能流量调度

 第三层:应用层防护(WAF)
   - CC攻击防护
   - 恶意Bot识别
   - 请求频率限制

 第四层:网络层防护(防火墙)
   - SYN Flood防护
   - UDP/ICMP速率限制
   - 异常流量检测

5.2 分行业针对性防御策略

金融行业

  • 部署高防IP与金融级流量清洗服务
  • 数据隔离与加密传输
  • 实时监控与自动告警

电商行业

  • 双十一等大促期间提前扩容
  • 负载均衡与弹性伸缩
  • 智能限流与熔断机制

游戏行业

  • 协议栈深度改造
  • 登录验证接口加固
  • 分布式弹性架构

六、华为eNSP实战配置

6.1 实验环境搭建

拓扑结构

攻击者PC → USG6000V防火墙 → 服务器
                ↑
              管理PC

设备清单

  • USG6000V防火墙(支持DoS/DDoS防御)
  • 2台PC(攻击者+服务器)
  • 1台PC(管理设备)

6.2 基础网络配置

# 1. 进入系统视图
system-view

# 2. 配置接口IP地址
interface GigabitEthernet1/0/1
 ip address 192.168.1.1 24  # 连接内网(trust区域)
 quit

interface GigabitEthernet1/0/2
 ip address 200.1.1.1 24    # 连接外网(untrust区域)
 quit

# 3. 安全域划分
firewall zone trust
 set priority 85
 add interface GigabitEthernet1/0/1
 quit

firewall zone untrust
 set priority 5
 add interface GigabitEthernet1/0/2
 quit

# 4. 配置静态路由(确保内外网互通)
ip route-static 0.0.0.0 0.0.0.0 200.1.1.254  # 默认路由指向外网网关

6.3 DDoS防护配置命令详解

# 1. 启用DoS防护功能
firewall defend action block  # 防护动作为阻断

# 2. 配置SYN Flood防护
firewall defend syn-flood enable
firewall defend syn-flood max-rate 10000  # 每秒最大SYN包数
firewall defend syn-flood threshold 5000   # 触发阈值
firewall defend syn-flood source-ip-max-num 100  # 单IP最大连接数

# 3. 配置UDP Flood防护
firewall defend udp-flood enable
firewall defend udp-flood max-rate 5000
firewall defend udp-flood threshold 3000
firewall defend udp-flood port 53  # 针对DNS端口的防护

# 4. 配置ICMP Flood防护
firewall defend icmp-flood enable
firewall defend icmp-flood max-rate 2000
firewall defend icmp-flood threshold 1000

# 5. 配置HTTP Flood防护
firewall defend http-flood enable
firewall defend http-flood max-connections 1000  # 最大并发连接数
firewall defend http-flood max-per-ip 50        # 每IP最大连接数
firewall defend http-flood url /login           # 针对特定URL防护

# 6. 配置DNS Flood防护
firewall defend dns-flood enable
firewall defend dns-flood max-rate 3000
firewall defend dns-flood threshold 2000

# 7. 启用阈值学习功能(自动优化防护阈值)
firewall defend threshold-learning enable
firewall defend threshold-learning interval 3600  # 学习周期1小时
firewall defend threshold-learning auto-apply enable  # 自动应用学习结果

6.4 安全策略配置

# 1. 配置从untrust到trust的安全策略
security-policy
 rule name allow_http
  source-zone untrust
  destination-zone trust
  destination-address 192.168.1.100 32  # 服务器IP
  service http https
  action permit
  profile ips default
  profile av default
 quit

# 2. 配置默认拒绝策略
rule name deny_all
 source-zone untrust
 destination-zone trust
 action deny
 quit

6.5 高级防护功能

# 1. IP信誉功能(基于威胁情报)
firewall defend ip-reputation enable
firewall defend ip-reputation action block

# 2. 流量限流功能
traffic-policy
 classifier http_classifier operator or
  if-match service http
 quit
 behavior http_behavior
  car cir 100000  # 限制HTTP流量为100Mbps
 quit
 policy http_policy
  classifier http_classifier behavior http_behavior
 quit
 interface GigabitEthernet1/0/2
  traffic-policy http_policy inbound
 quit

# 3. 会话限制
firewall session-limit enable
firewall session-limit max-session 10000  # 最大会话数
firewall session-limit per-ip 100        # 每IP最大会话数

6.6 防护效果验证命令

# 1. 查看DoS防护统计
display firewall defend statistics

# 2. 查看SYN Flood防护状态
display firewall defend syn-flood statistics

# 3. 查看UDP Flood防护状态
display firewall defend udp-flood statistics

# 4. 查看安全策略命中情况
display security-policy rule all

# 5. 实时监控流量
display firewall session table

# 6. 查看攻击日志
display logbuffer | include flood

# 7. 查看阈值学习结果
display firewall defend threshold-learning result

# 8. 查看IP信誉库状态
display firewall defend ip-reputation statistics

七、关键配置解析

7.1 阈值设置原则

SYN Flood阈值设置

  • 根据服务器处理能力设置,通常为正常流量的2-3倍
  • 电商大促期间可临时提高阈值
  • 建议启用阈值学习功能自动优化

UDP Flood阈值设置

  • 根据业务需求,DNS服务器可适当提高阈值
  • 非业务端口建议设置较低阈值
  • 结合端口特定防护(如DNS端口)

HTTP Flood阈值设置

  • 根据并发用户数设置,每IP连接数建议50-100
  • 针对关键页面(如登录页)设置更严格限制
  • 结合URL特定防护

7.2 防护策略优化建议

  1. 白名单机制

    firewall defend whitelist add ip 192.168.10.0 24  # 内网用户白名单
    firewall defend whitelist add ip 203.0.113.50 32  # 重要合作伙伴
  2. 动态调整

    • 根据业务高峰时段自动调整阈值
    • 设置定时任务在大促期间提高防护能力
  3. 联动防护

    • 与WAF、IDS系统联动,实现深度防护
    • 启用IPS功能检测应用层攻击

八、实战攻防演练

8.1 模拟攻击测试

使用工具模拟SYN Flood攻击:

# 在攻击者PC上执行
hping3 -S -p 80 --flood 192.168.1.100

参数说明:

  • -c 10000:发送 10000 个包
  • -d 120:每个包大小 120 字节
  • -S:设置 SYN 标志位
  • -w 64:TCP 窗口大小 64
  • -p 80:目标端口 80
  • --flood:洪水模式,尽可能快地发送包

8.2 防护效果验证

# 在防火墙上查看防护效果
display firewall defend syn-flood statistics
# 输出示例:
# SYN Flood statistics:
#   Total packets: 1000000
#   Blocked packets: 950000
#   Current rate: 8000 pps
#   Status: Protected

# 查看会话表
display firewall session table | count
# 正常情况下会话数应保持在合理范围内

九、总结与实践

 防护要点

  • 分层防御:不要依赖单一防护设备
  • 监控预警:建立实时监控和告警机制
  • 应急演练:定期进行攻防演练,验证防护效果
  • 持续优化:根据攻击演进持续优化防护策略
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐