一、清除木马程序步骤
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 重装系统:
若系统被植入大量的木马则会对系统稳定性造成影响,建议备份数据后重装系统,并在上线前进行安全检查。