DDoS 清洗是高防服务的核心环节,但很多站长只知道“买了高防”这个结果,不清楚攻击流量到底是怎么被处理掉的。本文用问答形式讲清 DDoS 清洗的工作原理、攻击流量的完整处理链路、误杀是怎么控制的,以及清洗和 WAF 的分工,帮助你判断自己的业务适不适合上清洗。
DDoS清洗到底是什么意思?
DDoS 清洗(Scrubbing)指把进入的流量先汇聚到专用防护节点,从中剥离攻击流量,只把“干净的”正常流量回源到你的服务器的过程。就像自来水厂的过滤:原水里既有正常用水也有泥沙,清洗中心负责把泥沙滤掉。
清洗一般发生在运营商侧或云厂商自建的数据中心,靠的是 T 级集群带宽加流量指纹识别,这是单台服务器完全做不到的。
攻击流量是怎么被“牵引”到清洗节点的?
主流方式是 BGP 引流。你的域名解析到高防 IP,这个 IP 由清洗中心公告:
- 平时清洗节点直接转发流量到源站,延迟增加很小;
- 检测到攻击时,通过 BGP 把指向被攻击 IP 的路由“牵引”到清洗集群;
- 流量在清洗集群过滤后,再通过隧道或专线的形式“回注”到源站。
所以高防接入的正确姿势是:源站只允许清洗节点的回源 IP 段访问,公网直接扫描源站真实 IP 应该不通。否则攻击者绕过高防直接打源站,清洗就白做了。
清洗中心靠什么区分正常流量和攻击流量?
不是靠单一规则,而是多层过滤叠加:
- 指纹过滤:SYN Flood、UDP Flood 这类报文协议特征明显,不符合规范的畸形包直接丢弃;
- 限速与会话限制:对单 IP 的新建连接频率、并发会话数设阈值;
- 特征库匹配:已知攻击工具的载荷特征直接拦截;
- 行为分析:对混合型攻击建立正常流量基线,偏离即拦截;
- 人机验证:对可疑的 HTTP 请求下发 JS 挑战或验证码。
整套动作通常在秒级完成,因为 DDoS 流量拖得越久,业务损失越大。
清洗会不会把正常用户也拦掉?
误杀是清洗的核心权衡,缓解手段主要有三种:
- 白名单:把搜索引擎蜘蛛、支付回调、合作方 API 的 IP 和指纹加入白名单直接放行;
- 分级策略:攻击缓解后逐步放宽策略,而不是一刀切全量挑战;
- 验证码/JS挑战:真人点一下就能过,只影响体验不影响可达。
给站长的建议:接入高防前先整理一份自己的“必须放行清单”(搜索引擎、回调地址、公司出口 IP),接入时提交给服务商,能显著降低误杀。
清洗能防住所有类型的DDoS吗?
不是。清洗对不同攻击的效果差别很大:
- 容量型(UDP Flood、反射放大):清洗效果最好,靠带宽优势硬吃加指纹过滤;
- 协议型(SYN Flood、ACK Flood):效果好,清洗节点代替服务器完成握手;
- 应用层(HTTP Flood、CC 攻击):清洗节点能挡掉明显异常的部分,但仿真的低频 CC 更适合交给 WAF 的频次控制和业务规则,两者是配合关系。
清洗和WAF是一回事吗?要一起上吗?
不是一回事,分工不同:
- 清洗解决的是“网络层洪水”,目标是保住链路和服务器不被打死;
- WAF 解决的是“应用层恶意请求”,目标是拦 SQL 注入、CC、恶意爬虫这类看起来正常、行为不正常的流量。
典型组合是“高防(含清洗)+ WAF”:DDoS 打不死链路,CC 和漏洞攻击由 WAF 兜底。预算有限的中小网站,选带 CC 防护能力的 CDN/WAF 一体化产品(比如百度云防护这类),比单独买裸高防更划算。
自己买硬件防火墙扛,为什么不行?
核心是带宽不对等。DDoS 攻击流量轻松做到几十上百 Gbps,而单台服务器所在机房的上联通常只有几百 Mbps 到几 Gbps——攻击流量还没到你机器,机房带宽就先被打满,邻居业务跟着遭殃,机房大概率直接把你的 IP 拉入黑洞。清洗中心的意义就是用 T 级集群带宽把洪水吸走,本地硬件防火墙只适合处理小流量、慢速攻击。
还有什么补充建议?
- 隐藏源站 IP:历史解析记录也要处理,防止攻击者从 DNS 历史查到真实 IP;
- 演练切换:接入高防后定期测试业务是否正常,别等真被打才发现配置错了;
- 监控告警:关注清洗中心控制台的流量曲线和拦截日志,攻击开始第一时间知道;
- 保留证据:攻击截图和日志可用于报案和向运营商申诉。