一、緣由:
突然有一天某台服務器遠程登陸不上,試了好幾個人的賬號都行,頓時慌了,感覺服務器被黑。在終於找到一個還在登陸狀態的同事后,經查看/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分析報告