Docker安全漏洞

Docker本身提供了加密的远程管理端口2376,配合CA证书,就能提供TLS连接了

生成需要的证书文件

注意设置好自己的目录

openssl genrsa -out ca-key.pem 4096

证书的相关信息,设置自己的

openssl req -x509 -sha256 -batch -subj '/C=CN/ST=Shanghai/L=Shanghai/O=Ghostcloud Co.,Ltd/OU=Laboratory/CN=www.XXX.cn' -new -days 365 -key ca-key.pem -out ca.pem
openssl genrsa -out server-key.pem 4096
openssl req -subj '/CN=DockerDaemon' -sha256 -new -key  server-key.pem -out  server-csr.pem

配置上可以访问的ip地址,网上有说配置0.0.0.0 的, 但是测试失败了,肯定有办法,要不都设置上… ,有知道的麻烦告知下…

echo subjectAltName = IP:127.0.0.1,IP:10.111.30.22,IP:10.111.30.21,IP:10.111.30.24,IP:10.111.30.25,IP:10.111.30.26 ,IP:10.111.30.23 > allow.list
openssl x509 -req -days 365 -sha256 -in  server-csr.pem -CA  ca.pem -CAkey  ca-key.pem -CAcreateserial -out  server-cert.pem -extfile allow.list
openssl genrsa -out  client-key.pem 4096
openssl req -subj '/CN=DockerClient' -new -key client-key.pem -out  client-csr.pem
echo extendedKeyUsage = clientAuth > options.list
openssl x509 -req -days 365 -sha256 -in client-csr.pem -CA  ca.pem -CAkey  ca-key.pem -CAcreateserial -out  client-cert.pem -extfile  options.list

以上需要的文件都生成完毕!

修改docker配置

修改 docker.service文件

vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/data/docker/tsl/ca.pem --tlscert=/data/docker/tsl/server-cert.pem --tlskey=/data/docker/tsl/server-key.pem -H=0.0.0.0:2376 -H unix://var/run/docker.sock
重启docker
systemctl daemon-reload   守护进程
systemctl restart docker       重启服务
systemctl status docker -l 查看状态
连接

docker --tlsverify --tlscacert=ca.pem --tlscert=client-cert.pem --tlskey=client-key.pem -H=tcp://127.0.0.1:2376 info

通过Portainer连接,选择对应的文件即可
在这里插入图片描述
文件大部分命令来自:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值