centos docker remote api tls认证加密

本文详细介绍了如何通过生成和配置SSL证书,实现Docker服务的加密认证,防止未授权访问,提升服务器安全性。
  • 事情的起因是因为服务器被人拿去挖矿-利用docker remote api进行ssh认证
  • 所以去看了看官网之后发现docker还可以进行加密
  • (博主中的是kdevtmpfsi低配版的病毒-解决方案
  • 这里主要讲解如何设置认证

认证

PS:下文中的IP地址换成自己的服务器IP地址(即192.168.211.238)

首先,在主机上,生成CA私有和公共密钥
#这一过程会有密码输入,记住输入的密码
openssl genrsa -aes256 -out ca-key.pem 4096

#这一过程则需要输入数据
#只需要填写common name(即服务器ip),其余enter跳过即可
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
接着创建csr
openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=ip地址" -sha256 -new -key server-key.pem -out server.csr
接下来,用CA来签署公共密钥:
vim extfile.cnf

加入下列内容:

subjectAltName = DNS:192.168.211.238,IP:192.168.211.238,IP:127.0.0.1
extendedKeyUsage = serverAuth
然后生成key:
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf`
创建客户端密钥和证书签名请求:
openssl genrsa -out key.pem 4096
openssl req -subj '/CN=client' -new -key key.pem -out client.csr
修改extfile.cnf
subjectAltName = DNS:192.168.211.238,IP:192.168.211.238,IP:127.0.0.1
extendedKeyUsage = clientAuth
生成签名私钥:
openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf
  • 删除 client.csr和server.csr两个文件

  • 暂时停止Docker服务,然后:

  • 将服务端认证文件cp到配置文件夹

- mkdir -p /root/.docker
- cp {ca,server-cert,server-key}.pem /root/.docker/
修改docker.service文件
vi /usr/lib/systemd/system/docker.service

找到 ExecStart= 开头部分,修改如下:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --tlsverify --tlscacert=/root/.docker/ca.pem --tlscert=/root/.docker/server-cert.pem --tlskey=/root/.docker/server-key.pem -H fd:// --containerd=/run/containerd/containerd.sock

:wq!保存
#重新载入服务
systemctl daemon-reload
systemctl restart docker.service
  • 如果使用idea远程连接的话,则idea配置部分需要把engine api url修改为https://ip:2376
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值