服务器病毒处理排查思路
项目交付与运维过程中,一些项目出现了平台异常,经排查是由于服务器中毒导致,由此提供一些病毒处理排查思路;
注:此帖旨在给予大家提供一些排查思路,病毒查杀:找出对应异常服务→找到对应病毒定时任务→找到对应病毒文件→修改对应病毒文件→删除对应定时任务→kill病毒程序→禁用服务器异常服务→重启服务→关闭22端口映射;如后续大家有新的排查思路可以提供问题小组,不断完善病毒处理流程
1、异常进程:使用 top、htop 或 ps aux 查看是否有高CPU/内存占用的可疑进程(如 netools、kinsing、kdevtmpfs 等),如下图示例。
2、网络连接:通过 netstat -antp 或 ss -tunlp 检查异常外连IP(尤其是矿池地址),获取异常IP后可以百度IP地址,如地址异常可以继续进行排查处理,如下图示例;
3、使用seekcy用户检查是否有seekcy用户下异常crontab任务,如下图所示;
4、根据上图所示定时任务去对应目录下找到对应文件,上图所示文件目录为/dev/shm/.b,注意:有一些情况下文件为隐藏文件,因此需要一层一层进入对应目录下,使用ll -a查看文件,如未找到文件可使用sudo find / -name <文件名>查找病毒相关文件;
5、找到对应文件后使用mv命令修改文件名,病毒一般都会往对应文件不断读写数据,直至磁盘崩溃,mv <病毒文件名><病毒新文件名>用此方式处理,切记不要删除文件,防止病毒未查杀成功回溯继续杀毒;
6、若使用以上命令无法处理,无法修改文件,病毒文件可能赋予了隐藏属性,使用 lsattr <文件名>查看文件属性,如果存在 i(不可修改)或 a(仅追加)属性,需先移除属性修改文件;
7、使用sudo chattr -i <文件名> 或 sudo chattr -a <文件名>处理,若无隐藏属性无需处理;
8、文件重命名后将seekcy账户下异常crontab命令删除,非i修改模式下可以使用dd删除整行;
9、上述执行完成之后可以使用此链接下的帖子去检查root下crontab任务;
10、上述步骤执行完成后,执行一下命令进行如下操作;
(1)systemctl list-unit-files –type=service –state=enabled | grep enabled | awk ‘{print $1}’ | grep -Ev “sshd|network|firewalld|systemd|rsyslog|crond|auditd” > services-to-disable.txt #生成待禁用服务列表
(2) while read service; do systemctl disable “$service”
done < services-to-disable.txt #根据待禁用列表服务批量禁用
11、以上执行完成后会保留ssh,network,防火墙等必要服务,禁用其他异常服务,执行成功如下图所示
12、以上执行完成后重启服务,查看服务是否正常,如异常或者操作过程中出现问题可联系问题小组处理,病毒查杀完成后,需联系客户关闭22端口外网映射以绝后患;
ZGL(0514)
转载请注明作者和出处,并添加本页链接。
原文链接:
//svn.seekcy.com:33382/775