Memcached UDP反射攻击漏洞
2018-03-06 by dongnan
概述
近期收到阿里云.云盾提醒通知,其监测到互联网上存在利用 Memcached
服务漏洞进行的恶意攻击,建议检自建的 Memcache
服务。
如果默认开放UDP
协议且未做访问控制,在运行 Memcached
服务时可能会被黑客利用,导致出方向的带宽消耗或CPU
资源消耗。
影响范围
对外开放了 UDP 11211
端口的 Memcache
服务。
排查方法
- 从外部互联网测试是否对外开放了
UDP 11211
端口,可以使用nc
工具测试端口.
# 没有任何输出表示安全
nc -vuz Your_Memcached_Host 11211
# 如果输出链接成功,则存在漏洞
nc -vuz Your_Memcached_Host 11211
Connection to oma 11211 port [udp/memcache] succeeded!
- 或者在 Memcache 服务器上执行以下命令,若返回内容非空,则表明服务器可能受影响。
echo -en "\x00\x00\x00\x00\x00\x01\x00\x00stats\r\n" | nc -u 127.0.0.1 11211
# 注意 127.0.0.1 换成你的监听IP
解决方案
- 建议根据业务自身情况,使用防火墙策略封禁
UDP协议 11211
端口,确保Memcached
服务与互联网之间无法通过UDP
端口通信。 - 建议对在运行的
Memcached
服务进行安全加固,添加-U 0
参数完全禁用UDP
端口。 Memcached
官方已经发布新版本默认禁用UDP 协议 11211
端口,建议升级到1.5.6
新版本。
举个例子
测试环境 memcached
启动命令如下:
# 启动绑定本地监听IP,禁止对外访问、禁用UDP协议、启用登录认证等安全功能,提高 Memcached安全性;
memcached -u root -d -m 1024 -c 2000 -l Server_LAN_IP -p 11211 -P /var/run/memcached.pid -U 0