本周,阿里云安全中心监测到互联网上存在利用Memcached服务漏洞进行的恶意攻击。如果客户默认开放UDP协议且未做访问控制,在运行Memcached服务时可能会被黑客利用,导致出方向的带宽消耗或CPU资源消耗。
阿里云云数据库Memcache版未使用UDP协议,默认不受该问题影响,用户可以放心使用。同时,阿里云提示用户关注自身业务并启动应急排查工作。
受影响范围:
用户自建,并对外开放了Memcached 11211 UDP端口的Memcached服务。
排查方案:
1.从外部互联网测试是否对外开放了Memcached 11211 UDP端口,您可以使用nc工具测试端口,并查看服务器上是否运行memcached进程,具体测试方式:
测试端口:nc -vuz IP地址 11211
测试是否对外开放memcached服务:telnet IP地址 11211
,如果开放了11211端口,则可能受影响
检查进程状态:ps -aux | grep memcached
2.使用“echo -en "\x00\x00\x00\x00\x00\x01\x00\x00stats\r\n" | nc -u 127.0.0.1 11211
”命令查看返回内容,若返回内容非空,则表明您的服务器可能受影响。
解决方案:
1.如果您使用了Memcached服务,并对外开放了11211 UDP端口,建议您根据业务自身情况,使用ECS安全组策略或其他防火墙策略封禁UDP 11211端口,确保Memcached服务器与互联网之间无法通过UDP来访问;
2.建议您添加“-U 0”参数重启memcached服务完全禁用UDP;
3.Memcached官方已经发布新版本默认禁用UDP 11211端口,建议您升级到最新1.5.6版本;
4.建议您对在运行的Memcached服务进行安全加固,例如:启动绑定本地监听IP,禁止对外访问、禁用UDP协议、启用登录认证等安全功能,提高Memcached安全性;
验证方法:
修复完毕后,您可以使用以下方法来测试服务器修复措施是否生效:
1.如果您屏蔽了对外TCP协议11211端口,您可以在外网办公电脑上使用命令“telnet ip 11211
",如果返回连接失败,则表示已经关闭对外TCP协议11211端口;
2.如果您在服务器上禁用了Memcached服务的UDP协议,您可以运行以下“echo -en "\x00\x00\x00\x00\x00\x01\x00\x00stats\r\n" | nc -u IP地址 11211
”命令检测是否关闭memcached 服务UDP协议,查看返回内容,若返回内容为空,则表明您的服务器已经成功修复漏洞,也可以使用“ netstat -an | grep udp
”查看UDP 11211端口是否处于监听状态,如果没有监听,则表示已经成功关停memcached UDP协议。