全部产品
云市场
云游戏

【重要安全预警】Memcached UDP端口反射攻击漏洞

更新时间:2018-06-28 13:28:47

本周,阿里云安全中心监测到互联网上存在利用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 IP地址 11211命令查看返回内容。若返回内容非空,则表明您的服务器可能受影响。

解决方案

  • 如果您使用了Memcached服务,并对外开放了11211 UDP端口,建议您根据业务自身情况,使用ECS安全组策略或其他防火墙策略封禁公网入方向UDP 11211端口,确保Memcached服务器与互联网之间无法通过UDP来访问。

  • 如果您的Memcached服务不需要开放UDP端口,建议您在Memcached启动选项中添加-U 0参数来完全禁用UDP协议的访问。

    说明:修改Memcached服务的启动选项后,您需要重启服务使配置生效。

  • Memcached官方已经发布新版本默认禁用UDP 11211端口,建议您升级到最新1.5.6版本(文件完整性校验sha值:ca35929e74b132c2495a6957cfdc80556337fb90);

  • 建议您对在运行的Memcached服务进行安全加固。

    例如,启动绑定本地监听IP,禁止对外访问,禁用UDP协议,启用登录认证等安全功能,提高Memcached安全性。查看Memcached服务安全加固

验证方法

修复完毕后,您可以使用以下方法来测试服务器修复措施是否生效:

  1. 如果您屏蔽了对外TCP协议11211端口,您可以在外网办公电脑上使用命令“telnet ip 11211“,如果返回连接失败,则表示已经关闭对外TCP协议11211端口;

  2. 如果您禁用了memcached UDP协议,您可以运行以下命令检测是否关闭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协议。