轉至:https://blog.csdn.net/xinxin_2011/article/details/84936581
服務器使用的是Centos7.2 64位系統。發現服務器異常,一般先想到用top命令查看占用CPU高的進程,但如果是高手入侵,可能會替換掉你系統的一些重要命令。所以建議裝系統后,把諸如/usr/bin目錄的top、ps、kill等重要命令先備份好。一旦發現被入侵,先檢查這些命令是否被篡改,如果你使用凶手的kill,當然怎么也殺不死對方了。
這里發現沒異常,直接使用top命令:
這里是一個名為sustse進程,先別急着kill掉,把PID號(9594)記下來。用ps命令查看進程詳細信息:
趕緊去/var/tmp/目錄下看一下,有哪些文件:
果然有可疑的sustse文件,而且sustse3、kworkerds和kworkerds3與該文件大小一致,應該是副本,都刪除掉,並殺死sustse進程:
kill -9 9594
光結束這個進程還不夠,一般都會有定時任務能夠重啟的,這里使用crontab命令查看下:
果然有,使用crontab –e命令將其刪除(操作與vi類似修改文件):
這樣惡意代碼暫時就無法啟動了,再檢查一下啟動文件是否有日期異常的,防止系統重啟后惡意程序又被啟動。需要檢查/etc/rc.d目錄下的init.d和rcx.d(x從0-6)所有文件。
然后緝拿真凶,使用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
設置完后別忘了重啟防火牆才能生效。