一、清除木馬程序步驟
1.1 執行命令,每1秒刷新一次,顯示整個命令路徑,而不是命令的名稱。
[root@linux-node1 ~]# top -d 1 -c
1.2 查找可疑進程(比較奇怪的進程名稱)如:sshz、crond.conf、.sshd等
1.3 發現可疑進程后,記錄PID,然后執行如下命令
[root@linux-node1 ~]# kill -STOP PID #停止進程,先不要殺掉進程(有可能殺掉之后,木馬守護程序會重新打開一個新的木馬進程) [root@linux-node1 ~]# ls -l /proc/PID #查看exe對應的腳本路徑 例如: [root@linux-node1 ~]# ls -l /proc/2773 #可以看到病毒程序在/usr/bin/python2.7(圖片只是舉例)
1.4 刪除/usr/bin/python2.7此文件。
若某些文件無法直接刪除時,使用chattr命令
[root@linux-node1 ~]# lsattr filename [root@linux-node1 ~]# chattr -aij filename
1.5 查看crontab有無定時任務
[root@linux-node1 ~]# crontab -l [root@linux-node1 ~]# crontab -e [root@linux-node1 ~]# vim /etc/crontab
1.6 查看/tmp特殊目錄下有沒有可執行程序
[root@linux-node1 ~]# ls -l /tmp/
1.7 檢測ps、netstat、ss、lsof命令是否替換。正常的文件大小不會超過1MB,如下按時間排序,重新關注前幾行。
[root@linux-node1 ~]# ls -lht /etc/init.d/ [root@linux-node1 ~]# ls -lht /bin/ [root@linux-node1 ~]# ls -lht /sbin/ [root@linux-node1 ~]# ls -lht /usr/bin [root@linux-node1 ~]# ls -lht /usr/sbin
1.8 執行lsof看看有無可疑的進程名
[root@linux-node1 ~]# lsof
二、原因分析
2.1 弱口令登錄
#過濾出成功登錄系統的用戶名和IP地址,分析IP是否可疑,如有國外IP登錄,或者IP不是常駐地,比較可疑。 [root@linux-node1 ~]# cat /var/log/secure* | grep sshd | grep Acc | awk '{print $9,$11}' #過濾可疑IP地址的登錄時間 [root@linux-node1 ~]# cat /var/log/secure* | grep sshd | grep 1.1.1.1
三、安全加固方法
3.1 使用較為復雜的密碼
使用隨機密碼生成器生成密碼至少12位,然后自己再修改三位密碼。
3.2 端口控制:
禁止不必要端口暴露在公網上,一般只保留80和443端口,修改ssh默認端口,配置防火牆策略,增加IP白名單等
3.3 權限控制:
嚴格控制各服務的系統權限,各服務不要以root權限運行,各應用和數據庫交互的帳號不要使用root權限的帳戶
3.4 查看應用:
檢查WEB應用及相關配置是否存在安全風險(檢查SQL注入、XSS等漏洞)
3.5 重裝系統:
若系統被植入大量的木馬則會對系統穩定性造成影響,建議備份數據后重裝系統,並在上線前進行安全檢查。