Linux系統發現佔用CPU達100%的進程並處理

服務器使用的是Centos7.2 64位系統。發現服務器異常,一般先想到用top命令查看佔用CPU高的進程,但如果是高手入侵,可能會替換掉你係統的一些重要命令。所以建議裝系統後,把諸如/usr/bin目錄的top、ps、kill等重要命令先備份好。一旦發現被入侵,先檢查這些命令是否被篡改,如果你使用兇手的kill,當然怎麼也殺不死對方了。
這裏發現沒異常,直接使用top命令:
top查看
這裏是一個名爲sustse進程,先別急着kill掉,把PID號(9594)記下來。用ps命令查看進程詳細信息:
ps查看信息
趕緊去/var/tmp/目錄下看一下,有哪些文件:
/var/tmp/目錄文件
果然有可疑的sustse文件,而且sustse3、kworkerds和kworkerds3與該文件大小一致,應該是副本,都刪除掉,並殺死sustse進程:

kill -9 9594

光結束這個進程還不夠,一般都會有定時任務能夠重啓的,這裏使用crontab命令查看下:
crontab定時任務
果然有,使用crontab –e命令將其刪除(操作與vi類似修改文件):
crontab刪除任務
這樣惡意代碼暫時就無法啓動了,再檢查一下啓動文件是否有日期異常的,防止系統重啓後惡意程序又被啓動。需要檢查/etc/rc.d目錄下的init.d和rcx.d(x從0-6)所有文件。
然後緝拿真兇,使用who命令查看一下用戶信息:
who用戶信息
沒有異常,檢查一下系統最近系統登錄信息,看看是否被入侵,使用lastlog命令:
系統登錄日誌
除了自己root登錄過,其他沒有異常。再使用last命令列出當前和曾經登入系統的用戶信息:
最近登錄信息
這裏除了自己登錄外,還有個218.68.199.250的IP登錄過,在18:15分還重啓過系統,問題就是他了,入侵者可能創建一個新的存放用戶名及密碼文件,可以查看/etc/passwd及/etc/shadow文件:
密碼文件
passwd-是passwd文件最後一次備份,對比兩個文件,可以鑑別是否被修改掉。Shadow文件與此類似。
通過查看/var/log/secure日誌文件,嘗試發現入侵者的信息,這裏查看密碼驗證通過的信息:
驗證密碼通過
爲防止再次入侵,不僅要修改root密碼,最好修改ssh登錄端口,使用命令“vi /etc/ssh/sshd_config”將默認的22端口改爲別的,比如2233。別忘在防火牆裏開放這個端口,要不登錄不了了,終端執行:

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 2233 -j ACCEPT
iptables-save

爲保險起見,查看一下已開放的端口:

iptables -nL --line-number

然後重啓ssh服務,執行命令:

systemctl restart sshd.service

這時原來連接會斷開的,然後把端口改爲2233再重新登錄即可。另外如果確認某個IP是惡意的訪問(比如上文的218.68.199.250),可以在防火牆中將其禁掉:

iptables -I INPUT -s 218.68.199.250 -j DROP

設置完後別忘了重啓防火牆才能生效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章