Redis CrackIT 入侵事件引发Linux 沦陷

分类:PHP |

双十一网购狂潮也掩映不住安全入侵事件,据白帽汇安全团队分析,2015年11月10日中午12点左右,发现不知名团体利用redis世界缺陷针对全球互联网的全网性入侵事件,如果您的linux服务器上运行的redis没有设置密码,很可能已经受到了此次安全事件影响。结果将导致:redis数据丢失,服务器的ssh公钥被替换。

Redis CrackIT 入侵事件引发Linux 沦陷

如图开放在公网的redis的6379端口的ip总数有63443个。无密码认证的IP有43024个,在总数占比里达到67%。发现遭受到redis crackit事件影响的服务器达到35024,在总数占比中达到55%,在无密码认证的redis数量中占比达到81%左右。

  事件描述

  很多使用者都是把redis下载到服务器直接运行使用,无ACL,无密码,root运行,且绑定在0.0.0.0:6379,暴露在公网。攻击者在未授权访问 Redis 的情况下通过redis的机制,可以将自己的公钥或者其他恶意程序写入目标服务器中,从而可以直接控制目标服务器。

  本次攻击事件已经影响至少万余家服务器被成功入侵。redis官网并未对此提供补丁,到目前为止看到的利用过程是基于redis提供的正常功能,而且这一问题早在去年九月就作为远程代码执行RCE的技术问题做了公开发布,并只得到小范围传播。

Redis CrackIT 入侵事件引发Linux 沦陷



  容易遭受攻击的环境是用户自建的运行了 Redis 服务的 Linux 主机,并在公网上开放了 6379 的 Redis 端口。目前云服务供应商青云已经提供相应解决方案:


  •   以非 root 权限启动 Redis

  •   增加 Redis 密码验证

  •   禁止公网开放 Redis 端口, 例如可以在青云防火墙上禁用 6379 Redis 的端口

  •   检查 authorized_keys 是否非法


  比较直接有效的修补加固建议是从环境安全角度进行无需外网访问的可以绑定本地回环,同时需要对外的增加ACL进行网络访问控制。另外还可以借用stunnel等工具完成数据加密传输。给redis设定密码、创建单独的nologin系统账号给redis服务使用、禁用特定命令等有效措施也可以亡羊补牢。