[ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上

一、缘由:

  突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑。在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中的账户都被删除,且第一行加上了REDIS0006,还有莫名其妙的账户加入,google之后确认redis漏洞被利用,服务器被攻破。

 

二、解决办法:  

  最好有一个漏扫工具,定期扫描服务器上的漏洞,并打上补丁。安全至上!!

  1、查看/root/.ssh有没有authorized_keys文件,并删除之

  2、恢复/etc/passwd passwd-文件中的账号,参考home目录

 

三、Redis未授权访问漏洞

 

漏洞描述和危害:

Redis因配置不当可以未授权访问,被攻击者恶意利用。
攻击者无需认证访问到内部数据,可能导致敏感信息泄露,黑客也可以恶意执行flushall来清空所有数据。
攻击者可通过EVAL执行lua代码,或通过数据备份功能往磁盘写入后门文件,如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。

已确认被成功利用的软件及系统:  

对公网开放,且未启用认证的redis服务器。

 

建议修复方案:

1、指定redis服务使用的网卡 (需要重启redis才能生效)
在 redis.conf 文件中找到 “# bind 127.0.0.1” ,把前面的#号去掉,然后保存。注:修改后只有本机才能访问Redis。

2、设置访问密码 (需要重启redis才能生效)
在 redis.conf 中找到“requirepass”字段,在后面填上你需要的密码,Redis客户端也需要使用此密码来访问Redis服务。

3、修改Redis服务运行账号
请以较低权限账号运行Redis服务,且禁用该账号的登录权限。可以限制攻击者往磁盘写入文件,但是Redis数据还是能被黑客访问到,或者被黑客恶意删除。

4、设置防火墙策略
如果正常业务中Redis服务需要被其他服务器来访问,可以设置iptables策略仅允许指定的IP来访问Redis服务。

 

四、Redis_crackit分析报告

http://static.nosec.org/download/redis_crackit_v1.1.pdf 

posted @ 2016-04-14 18:08  Devops达人  阅读(3444)  评论(0编辑  收藏  举报