关于服务器挖矿处理思路
事情布景
原因是有开发人员报障,程序在发布后无法正常运转,一向处于在重启的状况。
一开端我以为是程序自身的问题,但在检查服务日志后,并未发现程序有任何过错。
在检查监控体系时,发现该服务器节点CPU 利用率达到了100%,难怪程序现已无法运转。而且,还发现有这种状况的节点不止一个,整个环境中有好几台服务器都是CPU 100%的状况
一、检查进程
运用Top指令检查进程 ,能够看到CPU的运用率现已跑满。但在进程列表中却未发现有反常进程 。除有单个事务程序占用CPU较多,但关掉后状况并未改进。
二、检查网络拜访
此刻,置疑是机器被侵略了,因而通过下面指令检查网络衔接的状况。
netstat -an |grep ESTABLISHED
在检查几台机器后,发现有问题的机器都有一个外网衔接,如下所示。
tcp 0 0 10.12.15.7:39410 86.107.101.103:7643 ESTABLISHED
尽管每台机器衔接的外网IP地址不同,但端口号一致都是 7643,而且查询地址后发现都是国外地址。
因为相关的服务器并没有国外的事务,因而能够确认被病毒侵略无疑了。
三、检查发动项
运用下面指令检查开机发动项
systemctl list-unit-files |grep enabled
在发动项中,发现有一个名为OOlmeN2R.service 的可疑服务,置疑便是病毒。(注:该病毒在不同机器的服务称号皆不同,随机的。但特色是乱码,有大小写或数字。)
auditd.service enabled
[email protected] enabled
crond.service enabled
docker.service enabled
OOlmeN2R.service enabled <-------
rhel-autorelabel.service enabled
rhel-configure.service enabled
rhel-dmesg.service enabled
rhel-domainname.service enabled
rhel-import-state.service enabled
rhel-loadmodules.service enabled
rhel-readonly.service enabled
rsyslog.service enabled
sshd.service enabled
通过下面指令,检查服务的发动状况以及发动文件的寄存方位。
systemctl status OOlmeN2R.service
接着,找到该发动文件,并检查文件内容。
$ cat /usr/lib/systemd/system/OOlmeN2R.service
[Unit]
Description=service
After=network.target
[Service]
Type=simple
ExecStart=/bin/eWqAVtbn
RemainAfterExit=yes
Restart=always
RestartSec=60s
能够看到,服务在发动时调用了一个/bin/eWqAVtbn 文件,这应该是就病毒的履行文件了。
四、铲除病毒
在发现病毒文件后,现在咱们能够开端来铲除病毒了。
中止病毒服务
systemctl stop OOlmeN2R.service
systemctl disable OOlmeN2R.service
删去相关病毒文件
rm /bin/eWqAVtbn #删去履行文件
rm /usr/lib/systemd/system/OOlmeN2R.service # 删去发动文件
删去完结后,重启服务器。
完结上述过程后,再次检查该网络链接,发现该链接已消失。一起,服务器CPU运用率康复到正常状况 ,病毒被铲除了。
总结
该病毒有可能是挖矿类的病毒,占用机器资源进行使命,因而导致CPU运用率暴升。一起,病毒较为奸刁,具有以下特色:
1.躲藏自己的进程,无法通过TOP指令来发现。
2.参加开机发动项,确保重启服务器后仍然会收效。
3.文件名随机,在不同机器上都不相同,增大了排查难度。
现在,通过本文档记载的办法,能够有用铲除病毒。已知通过处理后的机器未再呈现重复中毒状况。