1、删除掉/tmp文件下的kdevtmpfs文件;删除掉kdevtmpfs对应的进程,清理掉定时任务;(无效,几分钟后依然会自动重启,自动在定时任务新增定时任务)( >线上一台服务器,CPU高达90%以上,经过top 分析出进程kdevtmpfsi
kill -9 杀死进程无果,很快就会自动恢复
排查步骤:
结果:
病毒被植入到了线上运行的某一docker容器内。
如何先确定是哪一容器再去删除搜索结果中的病毒文件?
我这台机器跑的容器不多,可以用复制文件的方法,先 docker cp 一个文件到容器中。再去find 这个文件
如果结果还是在刚才搜索病毒的那个文件目录下(/var/lib/docker/devicemapper/mnt/xxxxx )就可以确定容器了。结果是php的容器出现了问题。
知道是具体是什么容器出现了问题,最快的办法就是先重启一个新的容器。
我这边是nginx +php 两种服务容器,所以先启动了一个新php容器,修改nginx中配置文件代理后端php服务器端口为新容器的IP地址。(nginx容器已经映射目录到宿主机)
修改PHP后端IP地址
cd 宿主机映射nginx的配置文件位置目录
测试线上环境正常后,删除原来的php容器。(这是自然也==直接删除了病毒文件)
执行 TOP命令,CPU占用正常。
平时防火墙和sellinux都关闭的话,服务器不要暴漏太多无用端口,出现问题应该最新通过进程名去查找文件的原始位置去分析问题,遇到挖矿病毒也应该多注意/etc/initd下和cron计划任务有无异常。
后期也可以写个cron或者脚本利用云电脑的计算资源执行挖矿的持续性程序,
已停止是服务绝大数都是正常的。这些已停止表示你已经禁用或停止了相关的服务,但停止不是卸载,所以它们仍然存在是正常的,每台电脑里都有许多已停止的服务,不用担心。你真正要担心的是360那个提示,可在任务管理器中查着活动进程,若某进程CPU或内存占用高,而你又不明确该进程是干嘛的,可以先结束进程再看看360还会不会提醒!服务器CPU使用率50%,被两个进程占用,名称分别为
-mysql
zfsutils-md5sum
使用crontab -l查看定时任务,发现病毒文件-mysql
查看这个/var/log/目录,发现更多病毒文件,-mysql是个脚本,内容如下
查看/etc/crontabdaily目录,发现一个文件名为ntpdate
/bin/sysprg创建日期与ntupdate是同一天,文件大小与x86_64相同,无疑也是个病毒文件。
进入到/var/spool/cron目录查看文件权限,发现被加了保护,使用lsattr去除,再编辑删除内容即可
禁用crontab
云服务器中挖矿病毒的清除过程(一)
云服务器中挖矿病毒的清除过程(二)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)