| 维度 | DNS | NTP | SSDP | Memcached | CLDAP |
|---|---|---|---|---|---|
| 典型放大倍数 | 28~54倍 | 50~200倍 | 30~75倍 | 数千至上万倍 | 50~80倍 |
| 伪造难度 | 低 | 低 | 低 | 中 | 中 |
| 反射源数量 | 极多 | 较多 | 多 | 少 | 少 |
| 攻击特征识别难度 | 中 | 低 | 高 | 中 | 中 |
| 对目标服务器的连带影响 | 无 | 无 | 无 | 可能引发数据回显外泄 | 无 |
过滤的决策看协议特征
多数情况下,运营商和云厂商的流量清洗设备对单口UDP大流量的识别已经非常成熟,而反射放大攻击的流量特征是52字节小包为主,速率可达数百万pps,这比大流量更早触发防护阈值。
核心防御逻辑并不复杂:把“非业务必需的UDP端口”全部过滤掉,或做连接状态校验,实操中,在边界防火墙上直接丢弃外部来源的NTP、SSDP、Memcached、CLDAP端口流量,攻击面就能缩小八成以上,而DNS因为是业务必需,只能靠流量牵引和限速缓解,这就是为何DNS放大攻击至今仍是主流的原因。
运维侧的应急止血操作
被攻击时,手边没有专业清洗设备,也有几条可落地的止血命令。
先跑一条tcpdump -i eth0 udp port 123,看看来源IP是否分散,若来源IP跨度极大且目的端口固定为高端口,基本可判定是NTP放大攻击,此时建议在接入交换机上做RTBH(远程触发黑洞),把受害者IP的流量全部丢弃,并在边界设备上添加ACL丢弃目的端口为123的入向流量,同时用netstat -s -u对比UDP收包错误数与数据包增长趋势,能辅助判断攻击规模是否已达设备转发上限。
这些操作在多数主流路由器、防火墙上都有对应指令,关键不在于命令多复杂,而在于提前把应急路径演练过。
DDoS反射放大攻击怎么防御,清洗链路与源端过滤的取舍
本地清洗还是云端清洗?看清业务属性再决定
业内专家指出,对于单点带宽超过1Gbps的反射放大攻击,本地部署的防火墙和入侵检测设备几乎没有招架之力,因为攻击包大小多在几十字节,防火墙的会话处理能力会在短时间内被打满,CPU飙升导致设备失去管理响应。
所以多数企业最终得在两条路里二选一:
- 本地清洗:适合攻击频率低、带宽余量充足、业务系统可容忍短暂中断的场景,投入成本不少,但响应最快,不依赖运营商配合。
- 云端清洗:适合攻击频率高、业务连续性要求严格的场景,流量牵引到云端清洗集群,过滤后再回注,防护能力基本不设上限,但需要和运营商打通BGP或DNS引流通道,部署周期从几天到几周不等。
近年来的防护实践显示,混合清洗架构本地防火墙做基础过滤、云端清洗做流量兜底逐步成为中大型企业的标准配置,这个架构的成本取舍也很清晰:本地设备的吞吐量可以按常态峰值采购,而非按攻击峰值。
若是DNS业务,协议层的防护思路
不少企业被攻击的不是普通业务服务器,而是自身托管的权威DNS或递归DNS,这类场景下,通用清洗设备只能缓解带宽洪峰,真正持续的解法是:
- 开启DNS解析器的源端口随机化,让伪造请求无法顺利穿透缓存层
- 限制单IP每秒请求数,并启用RRL(响应速率限制)
- 减少开放递归,把递归和权威解析逻辑分离
- 部署Anycast,把流量分散到多个节点,单个节点被打瘫不影响全局
花钱买防护时容易踩的坑
很多用户不问协议类型,只问“DDoS防御多少钱一年”,实际上反射放大攻击的防护报价差异极大,主要取决于计费模式是按保底带宽还是按弹性防护峰值。
买高防服务前建议先问三个问题:
- 是否支持针对UDP小包的高效过滤,而非仅做大流量丢弃
- 防护集群的单机处理性能是否足以应对高PPS攻击场景
- 清洗策略能否按协议自定义,而不只是“黑洞”或“放行”两种选项
防护费用并无统一市场价,但多数云厂商的弹性防护,保底10Gbps的月价通常在数千元区间,峰值100Gbps则要数万元每月,按地域看,杭州、贵阳、内蒙等数据中心资源充沛的地区,相同防护规格的报价往往低于北京、上海等核心城市,这也是很多用户选择把业务托管到西部节点的一个现实原因。
挑高倍率源时,反射源质量往往比倍数更关键
端口可达性是生存的根本
理论上倍数越高的服务越有吸引力,但反射源本身得能稳定响应,Memcached 的万倍放大虽诱人,可默认端口11211在公网上的暴露数量,相比开放123端口的NTP服务器少了好几个数量级,攻击者用脚本批量扫描,能在数小时内找出数千台可利用的NTP服务器,但Memcached源可能翻遍整个C段也凑不够一个攻击波次。
- 源的数量决定攻击能持续多久
- 源的分布广度决定清洗难度
- 源的协议一致性决定攻击流量的纯度
超倍数协议只存在于“特定版本”里
不少攻击者会过度依赖某些旧版本的特定服务实现,比如特定Linux发行版自带的NTP版本,在monlist指令下放大倍数可达700倍,但该系统版本早已停止维护,现网存量正逐年递减,攻击者找一批“老顽固”源并不难,但这些源所在的IP段大多被运营商标记为风险IP,一旦攻击发生,源地址很可能被上游AS的流量清洗策略快速过滤。
代价是隐蔽性变差
高倍率服务(如MEMCACHED)有个共性:请求包与响应包的大小差异极为悬殊,导致攻击流量在统计层面出现明显的异常分布,任何部署了NetFlow或sFlow分析的系统,都能在攻击发生后的几秒内识别出这种模式,相比NTP放大攻击的线性增长流量,Memcached的爆发性特征会导致防护方触发黑洞策略的速度更快攻击效果越好,被防御方锁定的速度也越快。
因此实际操作中,多数攻击者不会一上来就上最高倍率的服务,而是先用中等倍率(如DNS或SSDP)探测目标防护水位,再决定是否需要切换到更激进的协议。
实战中,放大攻击与业务流向如何协同
攻击方向与攻击目标要匹配
反射源的地理位置分布决定了攻击流量的到达路径,若目标服务器位于中国内地,而反射源主要分布在欧美,跨境链路上的运营商限速与清洗节点会折损相当一部分攻击流量,这就解释了为何国内攻击者更偏向解析国内的开放DNS/NTP源,虽然单个源倍数不高,但时延低、路径短、丢包少,攻击效率反而更高。
用DNS流量做“探路”,找清洗盲区
反射放大攻击还有一种常见用法:先用低倍数、低峰值的DNS放大攻击试探目标是否开启防护,若目标未出现明显丢包,再切换NTP或CLDAP源,这种“由弱到强”的节奏在处理有真实业务流量的目标时尤其有效,因为防护方很难一次就把所有UDP端口全部封堵。
此时防守方若是经验不足,往往会在“要不要封123端口”上犹豫万一业务里有用到NTP同步呢?正是这种犹豫给攻击留出了窗口期,提前确认业务使用的NTP服务器IP,仅允许与固定NTP服务器的通信,就能在恐慌中迅速做出正确决策。
Q&A:反射放大攻击高倍率服务的常见疑问
反射放大攻击的类型有哪些是最高危的?
从攻击效果和源可用性两个维度看,NTP和DNS放大攻击属于最稳定且最容易落地的高危类型,Memcached和CLDAP放大攻击倍率虽高但源数量稀少且容易被快速惩处,SSDP则因源大量位于家庭路由器而稳定性差,多数DDoS攻击事件中观察到的反射放大攻击类型,仍然以DNS和NTP为主。
高倍率服务的挑选逻辑与服务器防御策略是什么关系?
两者本质是博弈关系,攻击者挑选高倍率源时,必须考虑目标多数会配置的防御基线比如边界防火墙是否封堵了非业务UDP端口,是否存在Anycast或流量清洗设备,通常若目标启用了云端清洗,高倍率但低保真度的流量很难构成实质威胁;若目标仅靠本地防火墙,则任何倍率在30倍以上的放大流量都有可能快速击穿链路带宽,因此挑选高倍率源之前,攻击者会花更多时间确认目标的防护水位,而非单纯追求倍数最高的协议。
国内跨地域攻击有差别吗?
不同地域的运营商清洗策略差异明显,部分省份对UDP小包限速更严格,部分省份的IDC出口带宽余量更大,清洗触发阈值更高,攻击者追逐的是目标所在地网络链路中“防护最薄弱”的环节,对于防护方而言,了解自己所在机房的上游清洗策略与峰值限制值,比单纯堆带宽更有实际意义,将高防服务部署在靠近大流量清洗节点(如贵阳、内蒙古等地)的数据中心,可以显著缩短清洗路径上的暴露窗口。
反射放大攻击的取舍逻辑,说到底就是攻击者在“倍数、源质量、隐蔽性、可达性”之间找平衡,而防守方则应该在同一维度上思考对策不追求挡住所有流量,而是让每一次放大攻击的性价比降到最低,理解了这个逻辑,再回头配置防火墙、选高防、调清洗策略,自然就有清晰的优先级了。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/786803.html

