docker镜像中存在kdevtmpfsi挖矿程序
今天码墙提测的时候,发现测试机器突然卡的不行。故而上去服务器进行排查到底是什么程序导致系统卡的。(上去服务器看看谁拉了坨屎)
排查问题第一步 执行top 看看是那个进行占用cpu特别高
$ top
一眼看出来了是一个叫做 kdevtmpfsi
的程序占用了大部分的cpu时间,问过组内的开发人员没人有印象。度娘查了查,发现是一个老外的挖矿程序。
机器情况
用途:测试机器
部署应用:docker 包含一坨应用
权限分布:cto有root,其他人只有read
思考一下相关的信息,得出结论可能是docker环境被搞了。
进行查看docker状态命令,进一步确认是否docker的问题。
$ docker stats
查看到是一个叫做 laradock_php-fpm_1
的容器占用cpu比较厉害。(十有八九是这个容器被搞了,但是按道理不可能被搞。。。至今不知道为毛被搞到了)
继续查一下挖矿程序具体文件位置
$ find / -name kdevtmpfsi
查询得出以下结果
/var/lib/docker/overlay2/6fd30d3dc2b89a20a8c78d3ae2739cadc9083c48cb8505c1a0646dddf96b3f07/diff/tmp/kdevtmpfsi
/var/lib/docker/overlay2/6fd30d3dc2b89a20a8c78d3ae2739cadc9083c48cb8505c1a0646dddf96b3f07/merged/tmp/kdevtmpfsi
好家伙看来这玩意确实是运行在docker容器里面,再仔细确认容器工作空间是属于那个容器的。
$ docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep "6fd30d3dc2b89a20a8c78d3ae2739cadc9083c48cb8505c1a0646dddf9"
注意上面这个查询容器目录的命令需要root权限
执行得出结果 是 一个叫做 laradock_php-fpm_1
的容器。
两次查询都指向这个容器。
解决方案
删除容器,删除镜像,重构这个镜像即可,毕竟php-fpm只是负责执行php程序而已
容器删除就根本解决了吗。我的群晖DOCKER里面也是中招了。
无法根本解决,彻底的解决方案需要看你这个容器跑的是啥玩意。因为容器里面运行的程序有可能是有漏洞的版本。