1. 问题表现
突然发现云主机的 CPU 使用率爆满了,我寻思着我也没干啥啊,不会中病毒了吧
看了下 docker 中的容器,多了很多不知道哪里来的东西
把容器和镜像统统删光后,短暂的恢复了一下,但过一阵子,CPU 又爆满了
用top
命令查看了自己服务器 CPU 运行情况
好家伙,这 kdevtmpfsi
是什么东西,网上一查,原来是个挖矿病毒
2. 问题解决
经了解,是因为 Docker 暴露 2375 端口导致服务器被攻击,为什么会被攻击呢?
- 因为容器内部的 root 用户就是宿主机的 root 用户,一旦挂载目录,就可以在容器内部以宿主机的 root 用户身份对挂载的文件系统随意修改了
- 暴露的 docker remote API 端口没有启动 ssl 验证,任何能连通到这台 docker 宿主机的的机器都可以随意操作这台 docker 宿主机的 docker daemon
2.1 清除病毒
(1) 查看进程
ps -aux | grep kdevtmpfs
ps -aux | grep kinsing
(2) 结束进程
kill -9 [kdevtmpfs的进程ID]
kill -9 [kinsing的进程ID]
(3) 删除 kdevtmpfsi 的相关文件
cd /tmp
ls
rm -rf kdevtmpfsi
rm -rf /var/tmp/kinsing
(4) 查询定时任务
crontab -l
我这里没发现
(5) 检查相关文件
最后自己可以再检查一下是否还有 kdevtmpfsi 的相关文件,有的话就继续删除
find / -name kdevtmpfsi
find / -name kinsing
发现和 docker 有关
[root@lavm-qorc0ta7dr tmp]# find / -name kdevtmpfsi
/var/lib/docker/overlay2/11aaa8116de1d4bfd8dd2c99b8053954608feed0e89c90182eb46cc24fac5f31/merged/tmp/kdevtmpfsi
/var/lib/docker/overlay2/11aaa8116de1d4bfd8dd2c99b8053954608feed0e89c90182eb46cc24fac5f31/diff/tmp/kdevtmpfsi
原来又多了个容器和镜像,删掉删掉
2.2 配置证书和秘钥
待写...