在公网开放Memcached、NTP、DNS、SSDP、CLDAP、Chargen、SNMP、TFTP等UDP服务,几乎等于把服务器变成攻击者的免费放大器,其中Memcached与NTP的反射放大倍数最高,风险最突出。
为什么UDP服务会被攻击者盯上
UDP协议没有三次握手,不验证来源地址,攻击者伪造受害者IP向开放UDP服务的机器发送一个很小的请求包,那台机器会把更大的响应包发到受害者地址,请求小、响应大,就形成放大,开放的UDP服务越多,可利用的反射面越大。
- 无需建立连接:伪造源地址更简单,攻击者可以随意冒充目标。
- 天然不对称:很多UDP协议为了查询效率,响应体远大于请求体。
- 溯源困难:受害者只看到反射服务器的IP,背后攻击者被藏了起来。
行业共识认为,UDP反射放大攻击已经成为DDoS攻击中较难防御的一类,因为攻击流量本身来自合法的第三方服务器,封禁源IP往往误伤正常业务。
哪些UDP服务最容易被反射放大攻击盯上
攻击者会优先选择响应包远大于请求包、且公网可访问的服务,下面按风险从高到低列出。
Memcached(端口11211)
Memcached默认监听在0.0.0且未启用认证时,一条stats命令可能返回大量缓存条目,攻击者发送几十字节的请求,响应可达数万倍,很多云主机和自建服务器误将其暴露到公网,成为最危险的放大器。
- 错误启动方式:
memcached -u memcached -l 0.0.0.0且不带-S启用SASL认证。 - 测试命令:
echo -e 'statsrnquitrn' | nc <服务器IP> 11211,如果返回大量数据,说明存在高风险。 - 修复方式:
systemctl stop memcached,或修改配置文件为OPTIONS="-l 127.0.0.1"仅监听本地。
NTP(端口123)
老版本NTP的monlist命令会返回最近600个客户端列表,放大倍数可达数百倍,即使新版关闭了monlist,部分旧设备仍然存在。
- 测试命令:
ntpdc -c monlist <服务器IP>,如果返回大量客户端地址,说明可被利用。 - 修复方式:升级NTP到4.2.7p26以上版本,或在配置中禁用
monlist查询。 - 防火墙限制:只允许可信时间源访问UDP123端口。
DNS(端口53)
开放递归查询的DNS服务器可被利用。ANY类型查询能触发较大响应,放大倍数通常在数十倍,一些自建DNS服务器没有限制递归来源,攻击者发送一个短域名查询,响应却包含大量记录。
- 测试命令:
dig ANY example.com @<服务器IP>,观察响应包大小是否远大于请求。 - 修复方式:在BIND配置中设置
allow-recursion { 内网网段; };,禁止公网递归。 - 或者将DNS服务仅作为权威解析,不开放递归查询。
SSDP(端口1900)
智能家居设备、家用路由器和部分NAS默认开启SSDP,攻击者发送M-SEARCH请求,设备返回描述信息,放大倍数通常数十倍,设备数量巨大,分布广泛,清理难度高。
- 场景:很多家用路由器默认开启UPnP/SSDP,公网可直接访问。
- 修复方式:在边界路由器禁止外网UDP1900进入内网,同时在机房出口限制1900出站大包。
- 个人用户:登录路由器后台关闭UPnP功能。
CLDAP(端口389)
无连接LDAP服务,主要出现在部分Windows Server和旧版目录服务中,响应包比请求大数十倍,容易被滥用。
- 测试命令:使用
nmap -sU -p 389 <服务器IP>确认是否开放。 - 修复方式:禁用无连接LDAP,或在防火墙丢弃UDP389的入站和出站流量。
Chargen(端口19)
古老的字符生成协议,现已很少使用,但仍有老旧设备开放,它会持续发送字符流,放大倍数可达数百倍。
- 风险场景:部分Unix/Linux系统误开
chargen服务,或因测试临时开放后忘记关闭。 - 修复方式:检查
/etc/inetd.conf,注释掉chargen相关行并重启inetd/xinetd。
SNMP(端口161)
简单网络管理协议,默认community字符串为public时,可请求大量MIB数据,放大倍数相对较低,通常几倍到十几倍,但暴露面广。
- 风险设备:路由器、交换机、打印机、监控设备常默认开启SNMP。
- 修复方式:修改默认community字符串,或只允许内网IP访问UDP161。
- 防火墙规则:
iptables -A INPUT -p udp --dport 161 -s <管理网段> -j ACCEPT,其余丢弃。
TFTP(端口69)
简单文件传输协议,部分网络设备固件升级或配置备份时临时开放,错误响应比请求大几倍,整体放大倍数不高,但可能被组合利用。
- 场景:交换机、路由器、IP话机在配置传输时短暂开启TFTP。
- 修复方式:临时使用后立即关闭,或在防火墙限制UDP69仅允许特定管理IP。
| 服务 | 默认端口 | 放大倍数量级 | 典型风险场景 |
|---|---|---|---|
| Memcached | 11211 | 数万倍 | 云主机误开、开发测试环境直接暴露 |
| NTP | 123 | 数百倍 | 旧版Linux、网络设备默认服务 |
| DNS | 53 | 数十倍 | 自建递归DNS、小型IDC服务器 |
| SSDP | 1900 | 数十倍 | 家用路由器、智能家居设备 |
| CLDAP | 389 | 数十倍 | Windows Server、旧版目录服务 |
| Chargen | 19 | 数百倍 | 老旧Unix/Linux设备 |
| SNMP | 161 | 几倍到十几倍 | 路由器、交换机、监控设备 |
| TFTP | 69 | 几倍 | 网络设备传输配置 |
高放大倍数不等于一定被利用,还要看公网暴露规模,例如Chargen放大高但存量少,SSDP放大中等但设备基数极大,实际被滥用频率更高。
游戏服务器防UDP反射攻击怎么做才有效
游戏服务器通常使用UDP传输战斗、移动数据,不能一刀切全禁UDP,需要分层防御,先清理自身开放面,再给业务UDP加防护。
先清理自身开放面
- 用
netstat -ulnp查看监听的UDP端口。 - 用
nmap -sU -p 53,123,11211,1900,389,19,161,69 <服务器IP>自查。 - 对不需要的服务直接关闭:例如
systemctl disable --now memcached。 - 对必须开放的UDP端口绑定内网地址,例如将DNS监听从
0.0.0改为0.0.1。 - 在边界防火墙丢弃来自外部但目的端口为内部管理UDP的包。
业务UDP加防护策略
- 在游戏接入层做包长度限制,丢弃异常小请求或异常大响应。
- 对UDP包做来源IP声誉过滤,拦截已知扫描源。
- 使用指纹识别,仅接受本游戏客户端格式的UDP包。
- 隐藏真实源站IP,接入高防IP或高防CDN。
上游运营商配合
- 在路由器启用uRPF严格模式,防止伪造源地址流量从本网出去。
- 在出口配置ACL,禁止源IP不属于本地网段的UDP包进入互联网。
国内高防机房价格与地域怎么权衡
针对UDP反射放大攻击,仅靠源站防护不够,需要大带宽清洗,国内高防机房的地域和价格差异明显,选择时要同时考虑清洗能力和业务延迟。
- 北京、上海、广州、深圳等核心节点的高防IP价格通常高于中西部机房,但延迟更低,适合游戏、金融、直播等对实时性敏感的业务。
- 浙江、江苏、四川等地的中型城市高防机房价格更亲民,防御峰值也可以满足多数场景。
- 选择时看清洗中心是否支持UDP单独限速、协议指纹识别和源地址验证,而不是只看防御标称值。
- 价格方面,防御峰值100Gbps的国内高防IP年度费用通常比50Gbps高出一个量级,具体差价受线路、机房和防护算法影响,不要只按最低价选择,否则UDP反射攻击打过来时清洗不彻底,业务仍会中断。
UDP反射放大攻击和TCP攻击有什么不同
UDP反射放大攻击和TCP攻击的区别决定了防御重点。
- 连接特性:TCP需要三次握手,SYN Flood攻击需要维持半连接;UDP不需要连接,攻击者可直接发伪造源地址的数据包。
- 欺骗难度:TCP握手使源地址伪造更难,UDP源地址伪造更简单。
- 攻击特征:TCP攻击以带宽或连接表耗尽为主;UDP反射攻击表现为受害者收到大量来自真实第三方服务器的响应包,源IP分散且合法。
- 防御方式:TCP可依赖SYN Cookie和连接限速;UDP反射攻击更依赖上游清洗、协议指纹和源站隐藏。
业内专家指出,UDP反射放大攻击的治理不能只靠在受害侧封禁IP,因为攻击流量来源是大量被滥用的合法服务器,需要结合源地址验证和开放服务治理。
据工信部公开通报,反射放大攻击在国内DDoS攻击事件中的出现频率持续上升,其中UDP类协议占比相当大,这意味着每一台错误开放UDP服务的机器,都可能在不自知的情况下为攻击流量贡献带宽。
开放UDP服务就像在公网上留了一面面回音壁,攻击者喊一声,受害者听到震耳的回响,优先关闭不必要的UDP服务,是成本最低、见效最快的阻断方式。
Q&A
哪些UDP端口容易被反射攻击利用?
常见易被利用的UDP端口包括11211(Memcached)、123(NTP)、53(DNS)、1900(SSDP)、389(CLDAP)、19(Chargen)、161(SNMP)、69(TFTP),这些端口对应的服务具有响应大于请求的特性,且部分设备默认开放。
如何检测自己的服务器是否被用作UDP反射放大源?
在Linux服务器执行netstat -ulnp | grep -E ':(53|123|11211|1900|389|19|161|69)',查看这些端口是否监听在0.0.0或公网地址,再用另一台外部主机执行nmap -sU -p 53,123,11211,1900,389,19,161,69 <服务器公网IP>,如果返回open或可响应,说明存在被利用风险,对开放的服务立即禁用或限制来源。
国内高防IP防御UDP反射攻击一般什么价格?
国内高防IP的价格主要看防御峰值、清洗能力和机房地域,多数情况下,50Gbps基础防御的年度费用在数千元到上万元不等,100Gbps及以上的防御费用会明显上浮,北京、上海、广州的节点比中西部贵,但延迟更低;部分浙江、江苏机房可以提供相近清洗能力而价格更有竞争力,选择时需确认是否支持UDP协议指纹识别和源地址反向验证,否则遇到反射攻击仍可能被打穿。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/637431.html





