Redis3未授权访问漏洞导致服务器被入侵
今天在腾讯云上搭的开发环境里的一台机器cpu load飚升老高,然后还能登陆上去,top后发现两个可疑进程、/root/目录下有修改过的文件、/opt目录被干掉了,
后经分析,这台机器上有redis外网服务,/root目录下还有个READ_ME.txt, 内容如下:
中招了,,两个可疑进程
在腾讯云上找到篇处理步骤:
Redis 默认情况下,会绑定在 0.0.0.0:6379,这样会将 Redis 服务暴露到公网上,在Redis服务器没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下成功在Redis 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器进行远程控制,使您的主机沦陷为肉鸡,敏感数据泄漏,为避免您的业务受影响,建议您及时进行加固。
【漏洞概述】
Redis 默认情况下,会绑定在 0.0.0.0:6379,导致Redis服务暴露到公网上。
如果在没有开启认证并且在任意用户可以访问目标服务器的情况下,从而可以未授权访问Redis服务,进一步可进行数据增删改查,甚至获取服务器权限等恶意操作。
【风险等级】
高风险
【漏洞风险】
主机被远程控制,泄漏敏感业务数据;
【漏洞利用条件】
1. Redis服务以root账户运行;
2. Redis无密码或弱密码进行认证;
3. Redis监听在0.0.0.0公网上;
【加固建议】
1. 禁止Redis服务对公网开放,可通过修改redis.conf配置文件中的"#bind 127.0.0.1" ,去掉前面的"#"即可(Redis本来就是作为内存数据库,只要监听在本机即可);
2. 设置密码访问认证,可通过修改redis.conf配置文件中的"requirepass" 设置复杂密码 (需要重启Redis服务才能生效);
3. 对访问源IP进行访问控制,可在防火墙限定指定源ip才可以连接Redis服务器;
3. 对访问源IP进行访问控制,可在防火墙限定指定源ip才可以连接Redis服务器;
4. 修改Redis默认端口,将默认的6379端口修改为其他端口;
5. 禁用config指令避免恶意操作,在Redis配置文件redis.conf中配置rename-command项"RENAME_CONFIG",这样即使存在未授权访问,也能够给攻击者使用config 指令加大难度;
6. Redis使用普通用户权限,禁止使用 root 权限启动Redis 服务,这样可以保证在存在漏洞的情况下攻击者也只能获取到普通用户权限,无法获取root权限;
【清理木马】
如果您的云主机已经被利用并上传了木马,参考木马清理方案如下:
1. 阻断服务器通讯。
(如iptables -A INPUT -sxmr.crypto-pool.fr -j DROP and iptables -A OUTPUT -d xmr.crypto-pool.fr -jDROP)
2. 清除定时器任务。
(如systemctl stop crond 或者crontab –e 删除未知的计划任务)
3. 删除木马和未知公钥文件。
(如 /tmp/Circle_MI.png, /opt/minerd, /root/.mcfg,/root/.daemond, /tmp/kworker34, /root/.httpd等及 ~/.ssh/中未知授权;chmod –x 恶意程序)
4. 终止木马进程。
(如pkill minerd,pkill/root/.mcfg, pkill /tmp/kworker34, pkill /root/.daemond, pkill /tmp/kworker34, pkill /root/.httpd)
5. 终止恶意service
(查看是否有恶意的服务,如lady - service ladystop)现已恢复!