`

Docker TLS配置

阅读更多

公司最近采用了Spring Boot架构以Docker容器服务作为载体给客户提供服务,但是最近碰到一个严重的安全问题,这也是这几个月来一直忙碌更换新的架构而忽视的安全问题,但是最近随着产品上线客户的使用安全问题被赤裸裸的暴露出来,好在Docker提供了证书安全保护方案,下面就来讲一下配置与采过的坑(其中命令都是官网提供,具体意义请查询官网https://docs.docker.com/engine/security/https

 

生成ssl证书命令步骤:注:这里$HOST定义一个域名或服务器名 用DNS指向本机  比方说修改/etc/hosts 加一下  127.0.0.1  master 这里$HOST就是master了

1. openssl genrsa -aes256 -out ca-key.pem 4096

2.openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem

3.openssl genrsa -out server-key.pem 4096

4.openssl req -subj "/CN=$HOST" -sha256 -new -key server-key.pem -out server.csr

5. echo subjectAltName = DNS:$HOST,IP:127.0.0.1 > extfile.cnf

6.openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \

-CAcreateserial -out server-cert.pem -extfile extfile.cnf

7.openssl genrsa -out key.pem 4096

8.openssl req -subj '/CN=client' -new -key key.pem -out client.csr

9.echo extendedKeyUsage = clientAuth > extfile.cnf

10.openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \ -CAcreateserial -out cert.pem -extfile extfile.cnf

11.rm -v client.csr server.csr

12.chmod -v 0400 ca-key.pem key.pem server-key.pem

13.chmod -v 0444 ca.pem server-cert.pem cert.pem

 

测试证书是否正常

1.dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem \ -H=0.0.0.0:2376

2.docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem \ -H=$HOST:2376 version

 

Docker配置证书

1. cp -v {ca,cert,key}.pem /etc/docker/

2. vi /usr/lib/systemd/system/docker.service

3. ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix://var/run/docker.sock \

--tlsverify --tlscacert=/etc/docker/ca.pem \

--tlscert=/etc/docker/server-cert.pem \

--tlskey=/etc/docker/server-key.pem

 

4.将证书拷贝到client服务器  测试连接是否正常

curl https://master:2376/images/json \

  --cert /etc/docker/cert.pem \

  --key /etc/docker/key.pem \

 

  --cacert /etc/docker/ca.pem

 

就这样Docker TLS连接就这样配置好了

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Docker启用TLS实现安全配置的步骤

    同时,确保客户端Docker配置也开启TLS验证。 6. **测试连接** 确认Docker守护进程已成功启用TLS并可安全访问,可以尝试运行一个简单的Docker命令,如`docker info`。如果配置正确,命令应该能够正常执行,表明TLS...

    使用portainer连接远程docker的教程

    Portainer是一个轻量级的docker环境管理UI,可以用来管理docker宿主机和docker swarm集群,这篇文章主要介绍了使用portainer连接远程docker的方法,需要的朋友可以参考下

    docker部署rancher证书过期问题解决方案

    - 对于Rancher 2.2及以上:`docker exec -ti <rancher_server_id> mv /var/lib/rancher/management-state/tls/localhost.crt /var/lib/rancher/management-state/tls/localhost.crt-bak` - 对于Rancher 2.3及以上...

    Docker 命令行的使用.pdf

    2. 环境变量:设置各种环境变量以控制Docker行为,如API版本、TLS设置、代理配置等。 3. 配置文件:通过配置文件个性化Docker命令行为,了解敏感信息的安全处理。 4. Go运行时环境变量:利用Go语言的环境变量,如...

    tls-observatory, 用于TLS配置,X509证书和更多的天文台.zip

    tls-observatory, 用于TLS配置,X509证书和更多的天文台 TLS想要WebUI请查看mozilla的天文台。? !TLS正在开始运行。使用来自 Docker的tlsobs客户端开发创建数据库数据库。启动API和扫描程序。在本地运行扫描。配置...

    nginx1.26.2版本docker镜像

    在某些情况下,用户可能需要自定义 Nginx 配置文件来适应特定的应用需求,例如调整监听端口、设置 SSL/TLS 加密、配置反向代理规则等。自定义配置文件可以通过挂载卷(volume)的方式来实现。在启动容器时,通过指定...

    基于ARM64+X86-64使用docker-compose一键离线部署mongodb7.0.14容器版TLS/SS副本集群工具

    2、 支持TLS/SSL证书,证书有效期为100年 3、支持单实例部署 4、支持单机伪集群部署(1主+1从+1仲裁) 5、支持多机分布式集群部署(1主+1从+1仲裁) 6、支持数据目录、日志目录、端口、账号、密码、最大连接数、副本...

    CIS_Docker_Benchmark_v1.2.0.pdf

    - **为Docker守护进程配置TLS认证**:使用传输层安全性(TLS)可确保Docker守护进程通信的加密。 6. **非评分项**:文档中有些配置项并未纳入评分,这可能是由于这些配置项在不同环境下可能有不同需求,或者是由于...

    Docker 在线、离线安装

    同时,出于安全考虑,安装完成后还需要对Docker进行安全加固,包括设置防火墙规则、配置TLS加密通信、用户认证等,以确保容器的安全运行。 在Docker的使用过程中,容器编排工具docker-compose也扮演着极其重要的...

    Centos Docker1.12 远程Rest api访问的配置方法

    在CentOS 7中,Docker 1.12版本,可以通过配置开启远程REST API访问来实现这一功能。下面将详细介绍如何配置CentOS Docker 1.12以允许远程REST API访问。 首先,Docker默认使用Unix套接字(socket)与守护进程通信...

    搭建私有docker仓库

    搭建过程通常包括安装Docker Registry服务、配置访问权限和认证、设置TLS/SSL证书以保证传输安全等步骤。安装完成后,用户可以将自定义的Docker镜像推送到私有仓库中,也可以从私有仓库拉取镜像到本地进行部署。 ...

    docker-ldap:使用Osixia进行Dockerized OpenLDAP

    Dockerized OpenLDAP ... 如果启用了TLS,则将需要生成证书,并且LDAP_TLS_ *环境变量将需要指向适当的配置文件或设置。 OpenLDAP已配置为侦听端口389,但将LDAP暴露在端口3389的容器外部。类似地,phpLdapA

    docker离线安装文件

    安全配置方面,如关闭直接在宿主机上运行容器的默认设置,配置TLS证书以确保通信的安全,都是需要细致处理的步骤。 在安装完成后,通常需要对Docker服务进行测试,以确认Docker守护进程正常运行并且能够响应CLI的...

    基于ARM64+X86-64使用docker-compose一键离线部署mongodb7.0.14容器版TLS/SS分片集群工具

    2、支持TLS/SSL,证书有效期为100年 3、支持单实例部署 4、支持单机伪分片集群部署(1个config副本集+2个分片副本集+3路由节点) 5、支持多机分布式分片集群部署(1个config副本集+2个分片副本集+3路由节点) 6、...

    boot2docker-xhyve:在xhyve系统管理程序上运行的Boot2Docker

    在xhyve管理程序上运行的Boot2Docker特征boot2docker v19.03.5 禁用TLS 公开IANA注册的官方Docker端口2375 支持NFS同步文件夹:/ Users已在boot2docker VM上NFS挂载。要求Mac OS X Yosemite 10.10.3或更高版本2010或...

    vagrant-dockerhost:Vagrant Docker 提供程序配置示例

    流浪的dockerhost 这是 Vagrant Docker Provider 配置的示例。 它基于来自 reddit 用户的的想法和样本。 它使用从分叉的 ,不再维护 yungsang/boot2docker 。先决条件Mac OS X示例用法使用 $HOME/projects/vagrant-...

    Docker Swarm 管理资源.rar

    - **TLS加密**:默认情况下,Swarm使用TLS对节点间的通信进行加密,确保数据的安全传输。 - **服务隔离**:每个服务都有自己的命名空间,包括网络、卷和命名空间,从而实现服务之间的隔离。 6. **伸缩性** ...

Global site tag (gtag.js) - Google Analytics