docker被入侵后.............

本文讲述了Docker服务因未正确配置TLS验证导致系统被入侵的例子,并提供了如何安全配置Docker服务的建议。

服务器上线后,怎么发现总有个 xmrig 的容器在跑,删了还出来

那么恭喜你!!你的服务器已经被入侵了!!
$ docker ps
IMAGE               COMMAND                  CREATED           STATUS                           PORTS    NAMES
linuxrun/cpu2     "./xmrig --algo=cr...."    4 hours ago     Exited (137) 7 minutes ago                  linuxrun-cpu2

这就是有人在你的 Docker 宿主上跑了一个 xmrig 挖矿的蠕虫,因为你的系统被入侵了……
 
在你说 Docker 不安全之前,先检讨一下自己是不是做错了。
检查一下 dockerd 引擎是否配置错误:ps -ef | grep dockerd,如果你看到的是这样子的:
$ ps -ef | grep dockerd
123  root   12:34   /usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
 
如果在其中没有 --tlsverify 类的 TLS 配置参数,那就说明你将你的系统大门彻底敞开了。这是配置上严重的安全事故。
-H tcp://0.0.0.0:2375 是说你希望通过 2375/tcp 来操控你的 Docker 引擎,但是如果你没有加 --tlsverify 类的配置,就表明你的意图是允许任何人来操控你的 Docker 引擎,而 Docker 引擎是以 root 权限允许的,
因此,你等于给了地球上所有人你服务器的 root 权限,而且还没密码。
 
如果细心一些,去查看 dockerd 的服务日志,journalctl -u docker,日志中有明确的警告,警告你这么配置是极端危险的:
$ journalctl -u docker
...
level=warning msg="[!] DON'T BIND ON ANY IP ADDRESS WITHOUT setting --tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING [!]"
...
如果这些你都忽略了,那么被别人入侵就太正常了,是你自己邀请别人来的。所以,Docker 服务绑定端口,必须通过 TLS 保护起来,以后见到 -H tcp://.... 就要检查,是否同时配置了 --tlsverify,如果没看到,那就是严重错误了。
 
这也是为什么推荐使用 docker-machine 进行 Docker 宿主管理的原因,因为 docker-machine 会帮你创建证书、配置 TLS,确保服务器的安全。
 
配置 TLS 的信息可以查看官网文档: https://docs.docker.com/engine/security/https/
关于 docker-machine 的介绍,可以看官网文档: https://docs.docker.com/machine/overview/
posted on 2017-09-15 08:38  smile-you-me 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/smlile-you-me/p/7524406.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值