kdevtmpfsi挖矿病毒 复盘
编辑起初:昨日在arm盒子上用docker部署了rocketmq,今天瞥了眼探针发现盒子的cpu 100%在爆红了,立马察觉不对,赶紧ssh上机检查
挖矿病毒
通过htop发现/tmp/kdevtmpfsi 疯狂占用cpu,显然是罪魁祸首,第一时间 kill -9 pid杀掉后cpu使用率骤降
PS:建议这里先docker stats看一下容器情况,如果容器cpu明显异常,那病毒就是在容器里
如果容器状态没异常,那么建议systemctl status PID查一下有没有守护进程
网上搜索了下得知,kdevtmpfsi是个在20年处爆发的挖矿僵尸网络蠕虫病毒
然后ll /tmp/kdevtmpfsi,没看到文件,很奇怪
继续ll /var/tmp/kdevtmpfsi,依然没有
这里其实是因为在容器,所以宿主机找不到,后续find命令无输出也是这个原因
再次使用htop,未看到kdevtmpfsi复活
环境确认
印象里ssh是仅密钥登录,用
cat /etc/ssh/sshd_config检查是否符合预期,以下着重注意这两行
PubkeyAuthentication yes
PasswordAuthentication no
确认是否有未知密钥
cat ~/.ssh/authorized_keys检查所有用户的crontab是否有异常任务
for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done全盘扫一下病毒位置,无输出代表没找到
find / -name "*kdevtmpfsi*"
到这如果都没问题,那宿主机大概率没事,问题应该是在docker
检查docker
docker exec -it 容器名 /bin/bash 进入容器
如果前面你没和我一样kill异常进程,那么这里top -c 你应该能再次看到它
ls -al /tmp/kdevtmpfsi 不出意外就能看到病毒文件了
清除病毒
我这边容器只是用来测试,并不重要就直接docker rm 和docker rmi了
如果容器还需使用,临时处理可以参考这个:
https://segmentfault.com/a/1190000042305570
总结
因为rocketmq官方并没有提供arm镜像,我也不想浪费时间再去配置,偷懒使用了github上的这个镜像
https://github.com/dyrnq/docker-rocketmq-example/blob/main/compose/docker-compose.yml
同时为了方便随处使用,把rocketmq的10911和9876内网穿透到公网。
所以这里就有两个问题:
首先他人镜像并不能保证安全无毒。切记对需要特权模式运行的容器一定要慎重,确保来源安全可信
任何程序都有存在漏洞的可能。这里用的rocketmq是4.9.4版本,非最新版本(怀疑病毒就是从这突破进来的)
然后是ssh仅密钥登录+禁止root登录,最好也要确保
后记
我这边盒子使用的是coreelec,默认没useradd,偷懒还是用的root,此处是有风险的(emmmm,老爱偷懒)
PS:根据coreelec论坛资料,其实还是可以实现新增用户的,虽然有点麻烦。本懒狗考虑到coreelec作为极度精简的linux,使用非root可能后续会带来很多不变,决定继续用root。。。大不了重刷:)
https://discourse.coreelec.org/t/how-can-i-add-a-new-user/14645
- 0
- 0
-
分享