前言
最近因为自己的云服务器开放了Docker 2375端口,导致被注入蠕虫,一直在跑挖矿程序。所以大家一定要注意外网环境下不要轻易打开此端口,如果要对外开放此端口,可以参考下面的解决方案,下面就Docker对外开放2375端口引发安全漏洞进行一个详细的说明。
缘由
2375:未加密的docker socket,远程root无密码访问主机
为了实现集群管理,Docker提供了远程管理接口。Docker Daemon作为守护进程,运行在后台,可以执行发送到管理接口上的Docker命令。正是因为错误的使用了Docker远端接口,引起安全漏洞。
启动Docker Daemon时,加入-H 0.0.0.0:2375,Docker Daemon就可以接收远端的Docker Client发送的指令。注意,Docker是把2375端口作为非加密端口暴露出来,一般是用在内网环境中。此时,没有任何加密和认证过程,只要知道Docker主机的IP,任何人都可以管理这台主机上的容器和镜像。黑客可以扫描出主机上的暴露的端口,因为没有加密,知道了主机IP以后,黑客就可以为所欲为了。
解决方案
知道了来龙去脉,下面就如何安全开放Docker 2375端口进行一个详细的介绍。
我们可以通过添加安全传输层协议(TLS)和CA认证对2375端口进行一个验证。这样黑客只要拿不到我们的证书秘钥,就无法进行攻击了。
1. 创建一个目录用于存储生成的证书和秘钥
mkdir /docker-ca && cd /docker-ca
2. 使用openssl创建CA证书私钥,期间需要输入两次密码,生成文件为ca-key.pem
openssl genrsa

本文详细介绍了如何通过配置TLS和CA证书安全地开放Docker的2375端口,避免因该端口暴露而遭受的安全攻击。
最低0.47元/天 解锁文章
3067





