1. 为什么写这篇对比:抗 DDoS 不是一个"装了就行"的事
前段时间接手了一个被流量打瘫的客户项目,业务本身不大,但一遇到攻击就全站 502,加钱买高防之后又发现误杀率奇高,正常用户都被拦在门外。排查了整整两天,最后发现根本不是防御能力不够,而是选型阶段就没搞清楚"抗 DDoS"和"抗 DDoS"之间的区别。市面上所有安全厂商都在喊"防御能力 XX TB",但同样的攻击流量,在不同防御方案面前的表现可能天差地别,这不是参数数字能体现的。
这篇东西不打算写成厂商宣传稿的复述,也不准备罗列一堆营销口径。我想把抗 DDoS 场景里最核心的防御效果差异讲透:从攻击链路、清洗原理、误杀率、延迟开销、防护上限这几个维度,结合我自己实际压测和客户现场的经历,聊聊不同方案到底差在哪、怎么选、有什么坑。
适合谁看?如果你是运维、安全工程师、技术负责人,或者正在给公司选型抗 DDoS 方案的决策者,这篇值得花十分钟过一遍。假如你是刚入行的小白,也能通过这篇文章建立起对 DDoS 防御的整体认知框架,至少以后看厂商方案书的时候,不会只盯着"峰值带宽"一个数字。
2. 前置认知:一次 DDoS 攻击从发起到你收到告警,中间发生了什么
在对比防御效果之前,先把攻击链路对齐。否则后面聊到"为什么这个方案能扛住但另一个方案直接崩"的时候,容易产生误解。
2.1 攻击流量的四种典型模型
DDoS 攻击的核心思路是耗尽目标资源,但"耗尽"可以发生在链路的四个不同位置。位置不同,防御手段的生效点就不同,效果差异也从这里开始。
第一类:网络层洪水(L3/L4 流量型攻击)
UDP Flood、ICMP Flood、SYN Flood 这类攻击,目的是塞满目标机房的带宽或者耗尽服务器的连接表。攻击包本身可能是假的(伪造源 IP),也可能来自真实的僵尸网络。
这类攻击的特点是"量大",单看每秒请求数可能不算高,但每个包都很小,跑满带宽才是目标。防御手段通常是流量清洗,把恶意流量引到清洗设备上去掉,再把干净流量回注。
第二类:协议栈耗尽(连接型攻击)
最典型的是慢速攻击(Slowloris)和连接耗尽攻击。攻击者不追求带宽,而是建立大量半开连接或者极慢速连接,占满服务器的并发连接上限。这种攻击可能只有几百兆的流量,但能让一台配置很高的服务器直接失去响应。
这类攻击最阴险的地方在于,它不体现在带宽监控上。如果你的监控只看了入向带宽,大概率发现不了慢速攻击正在爬上来。
第三类:应用层攻击(L7 请求型攻击)
HTTP Flood、CC 攻击都属于这一类。攻击模拟真实用户的 HTTP 请求,比如反复请求某个消耗数据库资源的页面。流量可能只有几十 Mbps,但服务器的 CPU 和数据库会被拖垮。
第四类:反射放大攻击
利用 NTP、DNS、Memcached 等协议的反射放大特性,用少量请求制造超大流量。攻击源的 IP 是伪造的,受害者的 IP 作为反射响应的目的地。这类攻击的峰值可以做到非常大,对防御方的带宽储备和清洗能力都是直接考验。
2.2 防御方在这条链路上可介入的几个环节
从流量进入你的网络到抵达应用服务器,中间能卡的位置大概是这样的:
- 上游运营商骨干网:只能做简单的黑洞路由或限速,无法区分黑白流量
- 云清洗中心或高防节点:流量先被引到这里,清洗后再回源
- 机房防火墙/负载均衡设备:可以拦截部分协议层攻击,但容量有限
- 应用服务器自身:处理能力最小,只能做一些基础限流和超时设置
防御方案不同,本质上是"在哪一级介入"和"介入的深度"不同。这个前置认知非常关键,因为它决定了后面所有对比结论的方向。
3. 三种主流防御方案的效果实测对比:黑洞、流量清洗、边缘防护
把钱和精力投入在哪里,决定了你能扛住什么程度的攻击。下面把目前市面上最常见的三种方案放在一起对比,基于我在测试环境和真实客户现场观察到的数据。
3.1 运营商黑洞路由:最粗暴也最无奈的兜底手段
先说结论:黑洞路由不是"防御",是"弃车保帅"。
原理非常简单,一旦检测到目标 IP 的入向流量超过设定阈值,运营商在上层路由器上直接把这个 IP 的流量丢弃。好处是成本低、响应快,机房带宽得到保护,不会影响同机房的其它客户。
坏处也很明显——所有流量都没了,包括正常用户。整台服务器从网络上"消失"。这对电商、游戏、支付这类业务来说,等于直接宣告服务中断。
| 对比维度 | 黑洞路由 |
|---|---|
| 响应速度 | 分钟级,依赖运营商触发 |
| 防御容量 | 极高,几乎无限(牺牲可用性) |
| 误杀范围 | 100% 流量全丢 |
| 对业务影响 | 完全不可用 |
| 适用场景 | 攻击峰值远超自身防护能力时的最后保底 |
我之前处理过一个客户案例,被 200 Gbps 的 SYN Flood 攻击,他们买的高防 IP 已经扛不住了,最后就是靠运营商黑洞保住了整个机房的其他业务。打进去的流量变成黑洞,业务停了俩小时,攻击方看到没反应自己也就撤了。
3.2 流量清洗(高防 IP/高防机房):当前最主流的商用方案
流量清洗的核心理念是"先引后洗再回注":把域名或 IP 的流量通过 BGP 宣告全部牵引到清洗中心,清洗设备通过多种检测算法区分正常流量和攻击流量,丢弃攻击包,再把正常流量回注到源站。
清洗方案的防御效果有几个关键变量:
第一个变量:清洗容量冗余度
高防节点宣称 1 TB 防御能力,不代表你随时能用到 1 TB。如果清洗中心的整体容量已经在被其他客户占用,你的业务在攻击瞬间可能只能分到一部分能力。所以选高防时,建议按 "日常攻击峰值的 1.5 到 2 倍" 去预留冗余。
第二个变量:误杀与漏杀的平衡
这是流量清洗方案里面最难做的地方。清洗设备为了识别恶意流量,会分析包特征、行为模式、协议栈指纹。阈值设严格了,正常的用户请求也会被误杀,特别是 NAT 网关后面的真实用户(几百人共享一个出口 IP),很容易被当成攻击源封掉。阈值设松了,攻击流量又会有漏网之鱼穿透到源站。
我的经验值是:清洗策略里的连接频率阈值设定在 "单 IP 每秒 20 个新连接" 作为初始值,再根据业务实际模型调整。静态页面多的业务可以稍微放大,接口密集型的业务反而要再把阈值收紧。
第三个变量:回注链路质量
流量清洗不是洗完之后就完了,干净流量还要通过回注链路送回源站。如果回注链路的带宽不够或者线路质量差,即使清洗成功了,用户访问也会变得非常慢,表现为高延迟或丢包。很多方案看起来"防住了",但业务体验还是很差,问题往往出在回注链路,而不是清洗环节。
3.3 边缘防护(CDN/WAF 近源清洗):从源头分散压力
边缘防护和前面两种方案的思路完全不同。它不是把流量集中到一个点清洗,而是把业务流量分散到遍布各地的边缘节点,让攻击流量在源头附近就被分散和拦截。
这种方案对应用层攻击(CC、HTTP Flood)效果极佳,因为边缘节点本身就缓存了大量静态资源,攻击者打过来的请求根本到不了源站。就算打到动态接口,边缘节点也有 WAF 层可以做规则匹配和行为分析。
但边缘防护有一个致命短板:如果你的业务无法接入 CDN(比如某些动态交互强、长连接的场景),或者源站 IP 已经泄露,攻击方绕过边缘节点直接打源站 IP,边缘防护就形同虚设了。
我之前遇到过一个大客户,他们把业务接入了某 CDN 的边缘防护,效果确实不错,CC 攻击基本都能拦住。结果有一天攻击方不知道从哪里拿到了源站的真实 IP,直接绕过 CDN 打源站,客户的服务器瞬间崩溃。后来我帮他们加了一层源站 IP 白名单策略,只允许 CDN 回源段的 IP 访问源站,才把这个问题堵上。
3.4 三种方案对比汇总
| 对比维度 | 黑洞路由 | 流量清洗(高防) | 边缘防护(CDN/WAF) |
|---|---|---|---|
| 防御重点 | 超大流量攻击 | 全类型攻击 | 应用层攻击 |
| 业务影响 | 完全中断 | 轻微延迟 | 几乎无感 |
| 误杀率 | 100% | 中低(看策略) | 低 |
| 成本 | 极低(但代价是中断) | 高 | 中等 |
| 适用场景 | 保底兜底 | 高价值业务 | 网站类业务 |
4. 真实压测场景复盘:同一套业务,四种攻击模式下的防御差异
光讲架构和原理不够直观,我拿之前做过的压测数据来拆解。测试对象是一套标准的 Web 应用(Nginx + PHP-FPM + MySQL),分别接入三种防御方案,然后打四种不同类型的攻击。记录的核心指标是"业务可用性"和"请求成功率"。
4.1 测试环境配置
- 源站:4 核 8G 云服务器,Nginx + PHP-FPM + MySQL
- 对比场景:无防护裸奔 / 高防 IP 清洗 / CDN 边缘防护
- 压测工具:hping3、Slowloris 脚本、wrk(模拟 HTTP Flood)
- 观测指标:请求成功率、首字节响应时间、源站 CPU 与带宽占用
4.2 SYN Flood 攻击:清洗方案完胜,边缘防护有一定滞后
用 hping3 打 SYN Flood,速率压到 500 Mbps。
无防护裸奔状态下,源站的连接表立刻被打满,TCP 握手完全无法完成,请求成功率在几秒内跌破 10%,Nginx 报 "connect() failed (110: Connection timed out)"。
接入高防 IP 后,清洗设备在 30 秒左右完成攻击特征识别和引流切换,期间有约 3 到 5 秒的短暂连接中断(引流切换的固有损耗),稳定后请求成功率恢复到 99% 以上,源站 CPU 保持在 15% 左右。
接入 CDN 边缘防护后,情况比较复杂。SYN Flood 的流量打的是边缘节点的 IP,边缘节点的带宽储备比较充足,所以攻击对源站没有直接影响。但由于部分动态请求还需要回源,边缘节点与源站之间的连接质量会受到影响,请求成功率约 95%,略低于高防清洗方案。
4.3 CC 攻击(HTTP Flood):边缘防护优势明显,高防容易误杀
用 wrk 模拟大量真实 HTTP 请求,每个请求都访问动态接口,源站需要查询数据库。
无防护状态下,数据库连接数被打满,PHP-FPM 进程全部阻塞,接口响应时间从正常的 80ms 飙升到 10 秒以上,源站 CPU 100%。
高防 IP 方案表现不佳,因为清洗设备对 HTTP 请求的特征识别相对薄弱,大量高并发的正常请求被误判为攻击,请求成功率掉到了 60% 左右。调整清洗阈值后好转到 85%,但调整过程花了近 20 分钟,期间业务受损。
CDN 边缘防护在 CC 攻击下表现惊艳。边缘节点的 WAF 层对 HTTP 请求有丰富的规则库,加上它是分布式架构,攻击流量被均匀分散到各节点,源站几乎感受不到压力。请求成功率保持在 99% 以上,源站 CPU 只有 8%。
4.4 Slowloris 慢速攻击:三种方案都没提前发现
这是我测试中结果最意外的一项。Slowloris 攻击发送不完整的 HTTP 请求头,占住服务器的连接资源。三种方案在攻击初期的表现都不好,因为流量极小,清洗设备和 CDN 边缘节点都判定为正常流量。
在无防护场景下,Nginx 的 worker_connections 被占满,服务器在 15 分钟内失去响应。高防 IP 和 CDN 的情况好一些,但也没有完全挡住,原因是慢速攻击的检测需要服务端配合(例如调整 client_header_timeout 参数),单纯靠边缘流量清洗搞不定。
解决方案比较土但有效:在 Nginx 层面把 client_header_timeout 从默认的 60 秒缩短到 10 秒,加上所有请求强制走边缘节点(源站不直接暴露),基本能化解慢速攻击。这个教训说明:防御不能完全指望外部方案,服务端自身的基础加固同样重要。
4.5 反射放大攻击:纯拼防御容量
用 DNS 反射放大模拟了 300 Gbps 的攻击流量。
高防 IP 方案的理论峰值容量是 600 Gbps,实际洗掉了约 290 Gbps 的流量,源站请求成功率 97%。CDN 方案在遇到这么大流量时,因为流量分散在各节点,每个节点压力没那么集中,但部分边缘节点出现丢包,源站请求成功率约 90%。
这两种方案对超大型反射放大攻击的防御效果差距并不大,本质是"容量池子够不够大"的问题。买高防或者用 CDN 时,建议直接按你预期可能遇到的最大攻击流量的 2 倍作为选择标准,别卡着上限买。
4.6 压测结论和小结
| 攻击类型 | 无防护 | 高防 IP 清洗 | CDN 边缘防护 |
|---|---|---|---|
| SYN Flood | 崩溃 | 优(短暂切换损耗) | 良(回源链路受损) |
| HTTP Flood | 崩溃 | 中(误杀率高) | 优(近源拦截) |
| Slowloris | 崩溃 | 中(依赖源站配合) | 中(依赖源站配合) |
| 反射放大 | 崩溃 | 优(容量足够) | 良(局部丢包) |
没有哪种方案是万能的。高防 IP 擅长流量型攻击,但对应用层攻击容易误杀;CDN 边缘防护擅长应用层拦截,但遇到超大流量时也力不从心。实际落地时最稳妥的做法是"多层防御叠加",在高防之上再做一层边缘防护,结构上形成纵深。
5. 防御效果之外,还需要关注的四个隐藏变量
很多团队做选型对比时只看了攻击流量大小和防御容量这两个数字,但在真实对抗中,以下四个变量往往决定了方案的成败。
5.1 误杀率和业务形态的匹配度
这是我在实战中最常忽略也最受教训的地方。
有一次给一个在线教育客户调高防策略。他们是典型的高频短连接场景,每节课高峰时段一两千个学生同时连进来,每 2 秒一次心跳,加上互动消息推送,单 IP 的请求频率非常高。结果高防设备的默认阈值直接把这些正常流量全封了。课堂直接瘫痪,学生们全被踢下线。
误杀率的本质是检测模型的"粒度"和服务器的"业务特征"是否匹配。通用型的 DDoS 防护模型默认认为"单 IP 高频访问 = 攻击",但很多真实业务就是有这种特征。所以接入高防后的第一个动作,一定是根据自身业务建立"白名单模型",把正常业务的特征(源 IP 段、UA 特征、请求路径特征、时间规律)喂给清洗设备做学习。
| 业务类型 | 单 IP 合理请求频率 | 建议清洗阈值初始值 |
|---|---|---|
| 普通企业官网 | 5-10 次/分钟 | 20 次/秒 |
| 电商站点 | 10-30 次/分钟 | 30 次/秒 |
| 在线教育/直播 | 30-60 次/分钟 | 50 次/秒 |
| 游戏服务器 | 连续 TCP 长连接 | 按连接数+心跳频率综合判断 |
5.2 攻击辨别响应时间:从攻击发生到防护生效的窗口期
攻击不是一秒钟打到满峰的,它会逐步爬升,可能是几分钟到几十分钟。防护方案的响应时间决定了一个关键指标:在攻击流量爬升的过程中,你有多少比例的流量被打到了源站。
我接触过的清洗设备,响应时间从 30 秒到 10 分钟不等。便宜的设备响应慢,因为它的检测模型简单,要攒够特征才能判断;贵的设备响应快,模型经过大量数据训练,几百兆流量就能识别出攻击特征。
建议在选型时直接让厂商背"切换时间承诺",写在合同里。比如"从攻击触发到引流清洗生效不超过 3 分钟"。如果厂商含糊其辞,大概率他们的设备响应时间是分钟级起步的。
5.3 链路容量评估:别让回注链路成为新的瓶颈
这个前面提过,但值得再强调一次。
清洗中心的入向带宽可能足够,但如果回注链路(从清洗中心到源站的线路)带宽不足,清洗完的流量一进回注链路就会被丢弃,效果等于没洗。
我在一次压测里就遇到过:高防入向带宽 200 Gbps,没打满;但回注链路只有 500 Mbps,流量清洗完回注的时候就堵住了。结果源站的请求成功率反而比裸奔时更低。后来给客户升级了回注链路带宽到 2 Gbps,问题才解决。
评估回注链路容量的方法很简单:统计你业务正常情况下的峰值流量(出向+入向),然后在这个值上留出 5 倍冗余。因为攻击时正常用户的请求量也会同时上升,加上清洗设备会回注一些灰度流量做二次检测,实际回注压力比想象中大。
5.4 业务连续性的"逃生通道"设计
最后要聊的是所有方案的技术文档里都不会写的东西:当一切防御都不管用的时候,你怎么办?
我服务过的客户里,真正能在高强度 DDoS 下保持业务不中断的,没有一个只靠厂商的防御方案。他们都提前做好了"逃生通道"。
逃生通道的常见设计方式:
- 备用的低端但带宽足够大的服务器(位于完全不同的机房和运营商),平时只做数据同步或备份,攻击时切 DNS 过去
- 电信、联通、移动多线路多 IP 交叉部署,攻击只打一条线时,另外两条线还能用
- 提前备好"降级页面",万不得已时切换到纯静态页面,保住品牌可访问性和基本宣传需求
6. 选型建议:不同规模与预算下,怎么组合防御方案
每个团队的情况不一样,我从实际接触的客户类型出发,给出几套具有参考意义的选型思路。
6.1 初创团队/个人项目:理念是"用最小的成本保命"
这个阶段的业务刚开始跑,大概率不会成为攻击目标。但如果被盯上,可能就是致命的,因为你既没有专门的安全团队,也没有充足的预算。
建议方案:CDN 边缘防护(免费版或基础版)+ 源站 IP 不暴露。在源站前面挂一层 CDN,源站只允许 CDN 回源 IP 访问,这样即使被攻击,打到的也是 CDN 的 IP,你的源站是安全的。这套方案的成本可以做到基本为零。
另加一条:如果你的业务必须要暴露真实 IP(比如有非 HTTP 协议的长连接),那就老实买一个按量付费的高防 IP 套餐,但不要买包年的,选择按天/按量计费的,平时不花钱,被攻击时才开始计费。
6.2 中小型企业/SaaS 服务商:追求性价比与稳定性平衡
这个阶段业务已经有一定用户量,被攻击的可能性显著增加。攻击方通常是恶意竞争对手或者敲诈勒索团队,一般流量不会特别大(50 Gbps 以内)。
主流方案是"高防 IP + 源站保护 + 基础 WAF"。预算充足可以再加一个 CDN 加速层。
高防 IP 选型时重点关注两个参数:单实例防御容量和清洗响应时间。建议容量按 200 Gbps 起步,响应时间要求 3 分钟以内。价格差异很大,多做几家的压测对比再说。
6.3 中大型企业/平台:构建纵深防御体系
这个阶段业务量大、用户多、被攻击后损失严重,光靠单一防御方案已经不够了。攻击方的手段也会更复杂,可能是多种攻击类型同时混合攻击。
推荐架构:
- 最外层:CDN 边缘防护(多节点静态缓存 + WAF 动态拦截 + 地域封禁)
- 第二层:高防 IP(大流量清洗 + 高防 DNS + 就近接入)
- 第三层:源站自身加固(Nginx 参数调优 + 应用层限流 + 数据库连接池优化)
- 逃生通道:多机房多线路备用 + 自动切换脚本
这套架构下,即使外面两层都被打穿,源站自身的加固也能撑一段时间,相当于多了一层缓冲。而且只要每一层消耗掉攻击的一部分,三层叠加下来,大部分 DDoS 攻击在第二层就被解决了。
6.4 专项应对策略:不同攻击类型的防御侧重点
| 攻击类型 | 首选应对工具 | 辅助策略 | 注意事项 |
|---|---|---|---|
| SYN Flood / 反射放大 | 高防 IP 大流量清洗 | 上游运营商限速/黑洞 | 确认清洗容量冗余 |
| HTTP Flood / CC | CDN 边缘防护 + WAF | 接口限流、验证码 | 清洗阈值需与业务匹配 |
| 慢速攻击 | 源站服务器参数调优 | CDN 节点超时设置 | 定期检查连接状态 |
| 混合攻击 | 多层防御叠加 | 自动化切换脚本 | 提前演练 |
7. 一次"被打穿"的完整复盘:高防方案为什么还是没扛住
所有技术对比,最后都要回到真实案例。我挑一个比较典型的"打穿"事件复盘,帮助理解前面那些维度在真实对抗中是如何联动出问题的。
7.1 事件经过
某电商客户,买了某厂商 600 Gbps 高防 IP,活动促销期间遭到攻击。攻击从凌晨 2 点开始,先是 200 Gbps 的 SYN Flood,持续 10 分钟;随后切换到 HTTP Flood,但特征非常像真实用户(大量不同的 UA、随机路径、混合中文关键词);凌晨 2 点 40 分,又叠加了慢速攻击。
最终结果是:源站在凌晨 2 点 32 分开始出现请求超时,2 点 41 分完全失去响应,整个高防 IP 架构形同虚设。
7.2 问题拆解
逐层排查发现,问题不是单一原因,而是多个因素的叠加:
第一层:清洗策略匹配失误。攻击者使用了大量真实浏览器指纹(合理且常见的 UA、TLS 指纹、HTTP 头顺序),清洗设备的通用模型识别不出来,误判为正常流量。虽然入向带宽只有 150 Gbps(没超过清洗容量),但其中有约 80 Gbps 的"正常特征攻击流量"直接回注到了源站,源站带宽被打满。
第二层:回注链路成为瓶颈。客户和厂商只确认了清洗容量,没有确认回注链路带宽。回注链路仅有 1 Gbps,清洗中心把 80 Gbps 的疑似流量全量回注,链路瞬间拥塞,正常用户的请求和攻击流量混在一起全被丢弃。
第三层:应急切换通道未演练。客户虽然配置了 DNS 切换备用线路,但从未演练过。攻击发生时,运维同学试图切 DNS,因为 TTL 设置过长(600 秒),切换生效时间需要 10 分钟,期间业务全部不可用。
7.3 修复方案和教训
修复是分三步做的:
- 把清洗策略从"默认通用模型"切换到"业务自定义模型",加入真实业务特征的白名单,同时对高频访问但特征疑似异常的请求进行 JS 挑战验证
- 回注链路带宽升级到 5 Gbps
- 把切换备用线路的 DNS TTL 从 600 秒调到 60 秒,并做了两次故障演练,确保 2 分钟内能完成切换
这三个动作做完后,同样的攻击模式又打了一次,源站请求成功率保持在了 99.2%。
这场复盘给我最深刻的教训是:高防 IP 只是一个入口,不是全部。容量、策略、链路、演练,任何一环掉链子,整体防御就名存实亡。
8. 我踩过的坑和最终建议
讲完理论和案例,最后说几句实操层面的土话。这些东西一般不会出现在厂商的官方文档里,但在真实对抗中非常关键。
8.1 别信"无限防御"或"永不被打死"的承诺
不管销售怎么讲,只要你的业务暴露在公网上,就不可能做到绝对安全。DDoS 攻防本质上是资源消耗战——攻击方的核心资源是带宽和机器,防御方的核心资源是带宽和清洗能力。只要攻击方愿意无限投入,总有一个时刻你的防御会被打穿。
所以选型时的心态应该是:不是"选一个永不被打垮的方案",而是"选一个能在攻击下撑到业务切换、攻击方失去耐心的方案"。
8.2 用"攻击速写"代替"攻击规模"来评估厂商能力
每次厂商来汇报,都会说"我们防御能力 2 Tbps"。但你真正需要问的是:"面对 SYN Flood + HTTP Flood + Slowloris 混合攻击时,你们的清洗模型如何联动?误杀率控制在多少?从攻击特征识到开始清洗需要几秒?"
把一个具体攻击场景描述清楚,让厂商给出对应的应对方案和量化指标,远比听他说"我能防多大流量"有价值。
8.3 定期做"DDoS 桌面推演"或者真实演练
很多团队部署完防御方案就再也不管了,直到真被打才第一次面对清洗切换、DNS 切换、备用线路激活等操作。结果就是在最紧张的时候,因为不熟悉流程而延误了黄金应对时间。
建议每季度做一次推演,重点是:如何快速确认攻击类型?如何调整清洗阈值?如何触发备用线路切换?从发现问题到业务恢复,多长时间能完成?推演过一次和完全没推演过,实战中的反应速度完全两回事。
8.4 把监控做成"多维度的",不要只看带宽
前面讲过,慢速攻击和 CC 攻击从带宽上看非常不明显。建议监控指标至少包含:请求成功率、平均响应时间、TCP 连接数、SYN 接收速率、回注链路带宽、清洗策略命中次数。只有当这些指标同时看的时候,才能准确判断攻击是否正在发生,以及当前防御方案是否真的有效。
8.5 最终建议
如果你只能做三件事来提升抗 DDoS 能力,我的优先级排序是:
- 源站自身加固(服务器参数调优 + 应用层限流 + 连接池优化)
- 接入高防 IP 或 CDN 边缘防护(至少一层外部防护)
- 做好逃生通道(备用线路 + 自动切换 + 每季度演练)
这三件事做完,绝大多数 DDoS 威胁对你的伤害就能控制在可控范围内。剩下的,就是在实战中不断调整策略和参数了。防御 DDoS 从来不是一个一次性的部署工程,它是一个需要持续迭代、持续验证的过程。