公司最近采用了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具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
Portainer是一个轻量级的docker环境管理UI,可以用来管理docker宿主机和docker swarm集群,这篇文章主要介绍了使用portainer连接远程docker的方法,需要的朋友可以参考下
tls-observatory, 用于TLS配置,X509证书和更多的天文台 TLS想要WebUI请查看mozilla的天文台。? !TLS正在开始运行。使用来自 Docker的tlsobs客户端开发创建数据库数据库。启动API和扫描程序。在本地运行扫描。配置...
Dockerized OpenLDAP ... 如果启用了TLS,则将需要生成证书,并且LDAP_TLS_ *环境变量将需要指向适当的配置文件或设置。 OpenLDAP已配置为侦听端口389,但将LDAP暴露在端口3389的容器外部。类似地,phpLdapA
docker部署rancher证书过期问题解决方案,网上有挺多解决方案,基本都是一部分一部分的,不连续
在xhyve管理程序上运行的Boot2Docker特征boot2docker v19.03.5 禁用TLS 公开IANA注册的官方Docker端口2375 支持NFS同步文件夹:/ Users已在boot2docker VM上NFS挂载。要求Mac OS X Yosemite 10.10.3或更高版本2010或...
流浪的dockerhost 这是 Vagrant Docker Provider 配置的示例。 它基于来自 reddit 用户的的想法和样本。 它使用从分叉的 ,不再维护 yungsang/boot2docker 。先决条件Mac OS X示例用法使用 $HOME/projects/vagrant-...
对于商业网站来说,花钱购买 SSL/TLS ...本文将介绍如何为通过 docker 运行的 nginx 中的站点添加 https 支持,并自动完成证书的更新。本文的演示环境为:运行在 Azure 上的 Ubuntu 16.04 主机(此图来自互联网): 准
默认情况下,配置是从DOCKER_HOST 、 DOCKER_CERT_PATH和DOCKER_VERIFY_TLS环境变量中DOCKER_VERIFY_TLS 。 如果DOCKER_VERIFY_TLS和DOCKER_CERT_PATH都已设置,则从磁盘读取凭据并使用 https。 可以通过将配置传递...
使用默认套接字或您环境中的配置连接到Docker: import docker client = docker . from_env () 您可以运行容器: >> > client . containers . run ( "ubuntu:latest" , "echo hello world" ) 'hello world \n ' ...
docker构建nginx双向认证https服务器。 openssl命令生成双向认证自签名证书。 nginx配置https(tls)服务。 浏览器访问服务器需要导入客户端证书到浏览器中。
Docker和Kubernetes TLS指南 本指南将引导您为Docker和Kubernetes设置TLS和TLS证书客户端身份验证。 安装CFSSL 保护Docker和Kubernetes的第一步是建立一个用于管理TLS证书的PKI基础架构。 审查和自定义CSR CFSSL...
隐孢子虫Cryptonice收集给定域上的数据,并执行一系列测试以检查TLS配置和支持协议(例如HTTP2和DNS)。 它大量使用开源代码和库,其中包括库TLS测试, 代码为TLS指纹和代码服务器组件检查。 目前在以下平台上的...
Docker 镜像文件来创建一个支持 SSL 的 Centos7 vsftpd 服务器。 它使用虚拟用户进行数据传输并禁用匿名登录。 上传也被禁用。 该图像主要用作共享现有文件的快速方式,以防通过其他方法(https、ssh 等)共享不容易...
Docker注册表用户界面概述Docker Registry的Web UI 浏览名称空间,存储库和标签按层显示图像... Docker镜像配置配置存储在config.yml ,并且选项是自描述的。运行UI docker run -d -p 8000:8000 -v /local/config.yml:/
Docker后缀 该Dockerfile提供了一个在多域设置中通过TLS,OpenDKIM,SpamAssassin运行Postfix的容器。 配置 后缀 随附的配置文件是为完全虚拟系统设置的。 要在您的本地域上启用接收,请编辑etc/postfix/main.cf和...
该映像不包括TLS支持,仅是主机Docker Unix套接字的普通HTTP代理(即使您为主机配置了TLS保护,该TLS也不受TLS保护)。 这是设计使然,因为您应该限制通过Docker的内置防火墙对其的访问。 您正在使用的API版本,...
通过TCP公开Docker套接字有时,运行受TLS支持的Docker远程API查询会很复杂。 为了在无需更改Docker守护程序的设置的情况下实现此目的,请使用此映像通过TCP公开Docker套接字。 另外,当前的Docker版本中似乎存在一些...
Pi-hole Android Private DNS Docker安装程序 我已经通过将pi-hole部署在云VM实例上使用了一段时间。... 该脚本将使用Docker通过TLS安装和配置带有DNS的pi-hole。 要求 Ubuntu /任何Linux发行版 已安装Docker和