一般服务器被挖矿后,CPU会占用到百分百。可以通过top
命令,查看cpu使用率。
以下是所经历过的挖矿病毒及解决方法。
挖矿进程:ld-linux-x86-64
进程信息
使用top命令查看进程信息。cpu占用400,是挖矿程序。pid是21980,后边需要用到。
解决方法
删掉定时任务
1
2编辑定时任务
crontab -e
光标移动到这一行:* * * * * /usr/lib/updated/upd >/dev/null 2>&1
,按dd删掉这一行并保存。如果删除提示权限不足
可能是文件被设置为隐藏、或不可编辑。查看文件属性:lsattr /var/spool/cron/root
,
解决导致没有权限的设置:chattr -ia /var/spool/cron/root
;再执行删除定时任务。
杀掉进程
1
kill -9 21980
挖矿进程:kdevtmpfsi
进程信息
使用top命令查看进程信息。cpu占用近400,是挖矿程序。
问题排查
根据进程名查询进程所在的目录
1
find / -name kdevtmpfsi
根据目录名看出来该进程在Docker容器中。根据overaly2的id搜索容器name
把双引号中的内容替换成上一步中搜索的结果,选择带merged的那条记录。1
docker ps -q | xargs docker inspect --format '{{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep "f01d21084945ef8b389fc9f1d6b26444b11fcaf8eaf4616ba5ae6b6e8d18621e"
根据容器name查看容器详细
这个容器不是我们的业务容器,猜测是挖矿容器。1
2
3
4
5
6
7
8# 进入容器
docker exec -it frosty_antonelli /bin/bash
# 在容器内查看/tmp目录
ls /tmp
# 在容器内查看定时任务
crontab -l
tmp目录包含kdevtmpfsi可执行程序,并且包含定时任务,断定是挖矿容器。
解决方法
- 删除Docker中有问题的容器;
1
docker rm -f frosty_antonelli
- 剩下的参考【挖矿进程:ld-linux-x86-64】的解决方法。