美文网首页
解决挖矿病毒的经历

解决挖矿病毒的经历

作者: 阿当运维 | 来源:发表于2020-11-19 14:03 被阅读0次

    线上一台服务器,CPU高达90%以上,经过top 分析出进程kdevtmpfsi
    kill -9 杀死进程无果,很快就会自动恢复
    排查步骤:

    find / -name kdevtmpfsi
    

    结果:

    /var/lib/docker/devicemapper/mnt/02a2d8fbdbad195ae7dbc74ec3ddbd3c6a237f77dc55991bb9c1edb9c3043f15/rootfs/tmp/kdevtmpfsi
    

    病毒被植入到了线上运行的某一docker容器内。

    如何先确定是哪一容器再去删除搜索结果中的病毒文件?

    我这台机器跑的容器不多,可以用复制文件的方法,先 docker cp 一个文件到容器中。再去find 这个文件
    如果结果还是在刚才搜索病毒的那个文件目录下(/var/lib/docker/devicemapper/mnt/xxxxx )就可以确定容器了。结果是php的容器出现了问题。

    知道是具体是什么容器出现了问题,最快的办法就是先重启一个新的容器。
    我这边是nginx +php 两种服务容器,所以先启动了一个新php容器,修改nginx中配置文件代理后端php服务器端口为新容器的IP地址。(nginx容器已经映射目录到宿主机)

    docker run -itd --name new_lzad_php -v /docker:/var/www/html -p 9002:9000  php7:v7.3
    

    修改PHP后端IP地址
    cd 宿主机映射nginx的配置文件位置目录

    for i in `ls *.conf`
    do     
            sed  -i "s/fastcgi_pass 172.18.0.2:9000/fastcgi_pass 172.18.0.4:9000/g" $i
    done
    

    测试线上环境正常后,删除原来的php容器。(这是自然也==直接删除了病毒文件)
    执行 TOP命令,CPU占用正常。
    平时防火墙和sellinux都关闭的话,服务器不要暴漏太多无用端口,出现问题应该最新通过进程名去查找文件的原始位置去分析问题,遇到挖矿病毒也应该多注意/etc/init.d下和cron计划任务有无异常。
    后期也可以写个cron或者脚本

     ps aux |grep kdevtmpfsi|grep -v grep|awk '{print $2}'|xargs kill -9
    

    相关文章

      网友评论

          本文标题:解决挖矿病毒的经历

          本文链接:https://www.haomeiwen.com/subject/pnbkiktx.html