1.
评估指标与关键参数
- 并发耐受力:衡量最大并发连接数(并发 HTTP 连接、TCP 半连接数等)。通常以 Conn/s 和并发连接数表示。
- 流量带宽峰值:DDoS 攻击时的峰值带宽(Gbps),决定能否在骨干层被清洗或被丢弃。
- 报文每秒(PPS):对于 UDP/小包攻击更关键,常用单位为 Mpps(百万包/秒)。
- 清洗能力与策略:运营商/高防节点的最大清洗带宽(如 50Gbps、100Gbps)和每秒处理的最大连接数。
- 源站承载能力:VPS CPU、内存、网络队列(netdev_max_backlog)、连接跟踪数(nf_conntrack)的上限值。
- 可观测性与日志:是否能实时看到 SYN、RST、HTTP 状态码等数据以决定是否切换策略。
2.
测试方法与工具
- 带宽测试:使用受控流量发生器(如 TRex、iperf3)模拟不同带宽点(10/20/50 Gbps)。
- PPS/小包测试:用 TRex 或 trafgen 测试不同包长下的 PPS,观察丢包与延迟变化。
- 并发连接压测:使用 wrk、hey、ab 等进行 HTTP 并发测试,记录 95/99 百分位延迟。
- 半连接与 SYN 测试:用 hping3 模拟 SYN Flood,监测 conntrack、SYN backlog 的消耗。
- 恢复与切换测试:在攻击后测试清洗策略切换、回源流量与缓存命中率。
3.
服务器与网络配置样例(示例配置)
- VPS 配置示例:8 vCPU(Intel Xeon E5), 16 GB RAM, NVMe 200 GB, 单线 1 Gbps CN2 专线接入。
- 高防能力(运营商节点):清洗带宽 80 Gbps,最大处理 15 Mpps,支持按源/目的 IP 策略。
- 内核调优示例:net.core.somaxconn=4096;net.ipv4.tcp_max_syn_backlog=8192;nf_conntrack_max=2000000。
- 防护组件:启用 SYN cookies、iptables rate-limit、TCP Fast Open 视情况禁用。
- 日志与告警:连接追踪阈值、流量阈值、PPS 阈值需同步到监控平台(Prometheus+Grafana)。
4.
真实案例:电商平台遭遇高并发 DDoS
- 背景:某电商在促销期间被发起多向量攻击,峰值流量到达 45 Gbps,PPS 峰值 3.8 Mpps。
- 采用方案:切换到台湾 CN2 高防空间,前端使用高防清洗节点(清洗带宽 100Gbps),后端原始 VPS 为 8vCPU/16GB。
- 结果:清洗节点将恶意流量削减至 0.9 Gbps,PPS 降到 0.12 Mpps,源站延迟与响应恢复到基线 95 百分位。
- 教训:单纯 1Gbps 出口的 VPS 无法直接抵御 45Gbps 攻击,必须依靠上游清洗与速率限制。
- 后续优化:增加 CDN 缓存与应用层限流,调整 conntrack 和 backlog 值,避免内核资源枯竭。
5.
评估流程与决策建议
- 初步评估:询问提供商清洗带宽、PPS 能力、是否支持 CN2 专线和 BGP 多线。
- 实验验证:用小规模压力测试(1-5 Gbps)验证是否能按策略清洗,再逐步放大到目标阈值。
- 指标门槛:若预期攻击可能超过 10 Gbps,应选择清洗带宽 >= 攻击预估 2 倍的方案并关注 PPS 限制。
- 容灾策略:结合 CDN、Anycast、冗余机房与应用限流,避免单点清洗失败导致整体瘫痪。
- 合同与 SLA:明确清洗延迟、最大清洗带宽和误伤白名单机制。
6.
数据演示:样例对比表
| 项目 | 攻击峰值 | 峰值 PPS | 清洗带宽 | 源站负载 |
| 真实案例 A | 45 Gbps | 3.8 Mpps | 100 Gbps | 降为 0.9 Gbps,CPU < 30% |
| 模拟测试 B | 20 Gbps | 1.2 Mpps | 80 Gbps | 延迟恢复,连接数正常 |
| 未防护对比 | 10 Gbps | 0.9 Mpps | 无 | CPU 100%,服务宕机 |
- 结论:评估台湾 CN2 高防空间时,优先关注清洗带宽与 PPS 能力,并结合内核调优与 CDN 分流来保证在高并发攻击下的可用性与恢复时间。