前言
测试环境上的中间件和java应用都是由docker进行部署的,但是因为docker的镜像访问有时候需要外网,由此引发了问题,在docker文件中 /usr/lib/systemd/system/docker.service
原有的配置为,可以看到进行了加密
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
修改配置为:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --registry-mirror=https://f2kob4mc.mirror.aliyuncs.com
就因为以上的修改了,导致了服务器中了病毒,收到的告警信息如下
具体信息
- 告警信息
测试和构建服务器/10.19.16.123[{instanceId=i-wz9ddqdfdsfdsfsdfdfdfpz9, userId=22132311}] ,(ECS)同时连接数最大值>=3000个 当前值: 48603个 告警规则同时连接数 请登录云监控查看
- 服务器推送
- ECS访问数量图
综上所述, 问题出现在了ecs连接数过高上引起的问题
解决
参考文章:
Linux中招挖矿木马如何处置,附带解决方案_linux.risktool.bitcoinminer.msmw-CSDN博客
阿里云服务器被pnscan挖矿病毒入侵如何解决?-CSDN博客
systemd占用大量 CPU 或内存资源_systemd-journal cpu占满-CSDN博客
Docker 恶意挖矿镜像应急实例-腾讯云开发者社区-腾讯云
核心步骤
- 查看 /etc/ld.so.preload 文件,发现有异常的文件配置,如下
根据文章描述是把真实的top进行了隐藏,因此我们需要把这几个文件进行删除
-
然后再进行top,就可以看到臭名昭著的 pnscan (挖矿进程),把进程停掉,然后相关的信息也删除,看看/etc/crontab有没有定时任务,有也删掉,以及看看在 /etc/systemd/system文件夹中有没有可疑的文件(重要),有也删掉
-
当进行了2步操作后ECS的访问数就瞬间下来了,但是出现了一个systemd-journald占用进程,资料上说这是系统自带的,目前怀疑是因为删掉了挖矿的脚本后导致找不到文件一直报错
-
对系统进行重启(或者解决systemd-journald高占用)问题,最终恢复了正常
其他
重启后重新安装docker和docker-compose组件,有可能是在删除挖矿脚本时删除了一些相关的文件
结语
在使用公网服务器时要注意安全问题,以前比较常见的是redis不配置密码也会引起这种挖矿问题,这次是docker没有配置密钥或者暴漏了以前病毒植入,这方面的知识可以研究研究