[ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上
2016-04-14 18:08
288 查看
一、缘由:
突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑。在终于找到一个还在登陆状态的同事后,经查看/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
突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑。在终于找到一个还在登陆状态的同事后,经查看/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
相关文章推荐
- Spring Boot入门(连接MySQL, Redis 输出JSP)
- Python 练习册 3-存储激活码到Redis数据库
- redis学习日志【二、redis+jedis】
- Asp.net Session保存到Redis: 使用 RedisSessionStateProvider
- Redis - 作为 LRU 缓存
- 基于nginx tomcat redis分布式web应用的session共享配置
- 用 Redis 轻松实现秒杀系统的构思
- 使用一致性哈希实现Redis分布式部署
- redis 事务
- Redis的使用
- Redis命令-有序集合-zrevrangebylex
- redis
- SpringMVC整合Redis 出现 afterPropertiesSet signature: ()V) Incompatible argument to function 解决办法
- 基于Redis实现分布式锁-Redisson使用及源码分析
- Redis资料整理
- 把redis安装到ubuntu-14.04.1-server
- redis安装
- redis 3.0的集群部署
- php redis
- 【笔记】初试Redis