如果你的服务器是公网IP,并且开放了docker的远程访问,如果没有进行保护是非常危险的,任何人都可以向你的docker中推送镜像、运行实例。我曾开放过阿里云服务器中docker的远程访问权限,在没有开启保护的状态下,几小时内就被植入了挖矿程序,导致CPU的占用率一直在100%,最终只能将服务器重置。
接下来我们介绍一下如何利用CA证书,安全的开启Docker的远程,通过TLS进行加密访问
因为up通过各种摸索和踩坑,为大家编写了一个脚本,可直接食用。如果想要自己动手可以在此移步
1.创建脚本
mkdir /usr/local/userSh
touch tls.sh
vi tls.sh
#将下面的脚本内容复制
如果需要复制tls.sh请访问原帖fxz
2.执行脚本
./tls.sh
3.修改docker配置文件
vi /lib/systemd/system/docker.service
4.替换ExecStart属性
ExecStart=/usr/bin/dockerd \
--tlsverify --tlscacert=/usr/local/ca/ca.pem \
--tlscert=/usr/local/ca/server-cert.pem \
--tlskey=/usr/local/ca/server-key.pem \
-H tcp://0.0.0.0:2375 \
-H unix:///var/run/docker.sock
5.更新配置文件并重启docker
systemctl daemon-reload && systemctl restart docker
6.对docker端口2375放行
#如果是云服务器 需要在其管理页面中对应开启端口访问
firewall-cmd --zone=public --add-port=2375/tcp