博客被挖矿程序xmrig入侵以及我的解决方案(docker安全)

您所在的位置:网站首页 服务器被挖矿攻击怎么解决 博客被挖矿程序xmrig入侵以及我的解决方案(docker安全)

博客被挖矿程序xmrig入侵以及我的解决方案(docker安全)

2024-06-08 23:05| 来源: 网络整理| 查看: 265

文章记录了一次由于Docker配置的漏洞导致的挖矿程序入侵的发现过程以及解决方案。由于本人时间有限,没有时间去深度学习linux的相关运维知识,所以解决方案可能是比较浅显的,还望您在阅读本文前知悉。 在我的个人博客阅读本文

前言

2019年9月2日凌晨,我正准备关闭电脑睡觉,突然收到阿里云的一条短信,说是服务器被挖矿软件入侵了,一开始我是不相信的,就我这草履虫一样的网站,应该没有任何会来才对啊,后来查看了一下阿里云后台,我确定我的服务器确实被矿总入侵了。

阿里安全中心给出的结论 控制台CPU占用 我的服务器只挂载了一个Docker和Nginx应该没有那么大的资源占用,很明显这是异常占用了。

原因分析与解决方案 寻找原因 查找挖矿进程 top -H

从图上我们可以找到CPU占用97.7的进行名为xmrig(甚至都不伪装一下进程名)

查找挖矿程序文件位置 root@xxx:/# find / -name '*xmrig*' /var/lib/docker/overlay2/7e28a5f8f394ab1242ed26d38f60c0f5023f02ddb307276fbf71bcbbc43e9399/merged/xmrig /var/lib/docker/overlay2/d5e73ad017bf13ca294b65ba6f8f07e17e334b76e8ad5f43a10bd7737791bd6f/diff/xmrig

笔者发现这两个挖矿程序都是在docker的路径下,初步判断应该是docker的配置导致的

笔者想起来前些日子为了idea能够一键部署docker偷了一个懒:

开放了无CA认证的Docker远程访问

矿总应该是通过这个渠道连接到主机植入了挖矿程序。看到这个路径,笔者考虑是不是由于之前开放了远程访问,所以矿总部署了挖矿镜像?

docker ps -a

果然如此。

我们尝试查杀挖矿程序 首先,移除docker容器,删除相关镜像 docker rm -fv efd4021b4e66(容器id) docker rmi tanchao2014/mytest

之前我们发现了是因为Docker的无认证的远程访问开启导致的入侵,所以这里要做的是关闭Docker无认证远程访问权限,避免下次被入侵

先关闭Docker systemctl stop docker 配置docker远程访问 vi /lib/systemd/system/docker.service

之前的配置:

[Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=always

移除ExecStart中的-H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock 现在就有如下配置:

[Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd -H fd:// ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=always 重新读取配置,启动docker systemctl daemon-reload systemctl start docker

top -H查看CPU占用最高的进程,发现恢复正常,整机cpu占用百分之7点几,符合网站预期。

教训与经验

这是我第一次亲身感受服务器被入侵,好在矿总大哥手下留情,只是部署了一个挖矿的Docker容器,没有在服务器其他地方植入矿机。虽然服务器成为肉鸡令人难过,可是这次的教训却让我以后再部署实施时更加注意服务器安全问题,让我意识到之前的配置存在的问题而且没有造成很严重的后果,总体是收获大于损失(几乎没损失哈哈)。

如果你也之前看到过idea一键部署Docker的教程,千万记得要配置CA认证的远程访问,不要偷懒,不然你就是下一个矿机



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3