linux安装docker并实现idea使用证书加密连接

简介: linux安装docker并实现idea使用证书加密连接

1. 环境准备



  1. 阿里云服务器1台


  1. centos7.9


  1. docker最新版


2. docker安装步骤



设置仓库


1.安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。


sudo yum install -y yum-utils device-mapper-persistent-data lvm2


2.设置阿里云源


sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


安装最新版本的 Docker Engine-Community 和 containerd


sudo yum install docker-ce docker-ce-cli containerd.io


启动 Docker


sudo systemctl start docker


配置Docker 镜像加速


curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io


重启Docker


sudo systemctl daemon-reload
sudo systemctl restart docker


3. 配置证书



创建一个存放证书目录


mkdir -p /usr/local/ca
cd /usr/local/ca


创建一键生成证书脚本


vi ca.sh


按A按键切换为输入模式,然后把下面代码粘贴上去


#!/bin/bash
SERVER="服务器外网ip"
PASSWORD="yinfeng"
COUNTRY="CN"
STATE="shanghai"
CITY="shanghai"
ORGANIZATION="yinfeng"
ORGANIZATIONAL_UNIT="dev"
EMAIL="yinfeng@qq.com"
echo "starting..."
cd /usr/local/ca
openssl genrsa -aes256 -passout pass:$PASSWORD  -out ca-key.pem 4096
openssl req -new -x509 -passin "pass:$PASSWORD" -days 3650 -key ca-key.pem -sha256 -out ca.pem -subj "/C=$COUNTRY/ST=$STATE/L=$CITY/O=$ORGANIZATION/OU=$ORGANIZATIONAL_UNIT/CN=$SERVER/emailAddress=$EMAIL"
openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=$SERVER" -new -key server-key.pem -out server.csr
sh -c  'echo "subjectAltName = IP:'$SERVER',IP:0.0.0.0" >> extfile.cnf'
sh -c  'echo "extendedKeyUsage = serverAuth" >> extfile.cn'
sh -c  'echo "extendedKeyUsage = serverAuth" >> extfile.cnf'
openssl x509 -req -days 3650 -in server.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:$PASSWORD" -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
sh -c 'echo extendedKeyUsage=clientAuth >> extfile-client.cnf'
openssl x509 -req -days 3650 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:$PASSWORD" -CAcreateserial -out cert.pem -extfile extfile-client.cnf
rm client.csr server.csr
cp server-*.pem  /etc/docker/
cp ca.pem /etc/docker/
echo "========end========"


保存脚本后执行


sh ca.sh


执行完成后会生成以下文件,搜了半天,总结了目前全网唯一可用的脚本,嘿嘿


image.png


修改Docker配置


  1. 使Docker守护程序仅接收来自提供CA信任的证书的客户端的链接


vim /lib/systemd/system/docker.service


  1. 将 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


image.png


重载服务并重启docker


systemctl daemon-reload && systemctl restart docker


保存证书客户端文件到本地


我使用的是sz,如果没有的需要先安装


yum -y install lrzsz


安装成功后执行


sz ca.pem cert.pem key.pem


我直接把他们保存在桌面


image.png


测试一下证书是否配置成功,如果成功,会输出证书相关信息,如果有fail,请检查证书生成过程


docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=服务器外网ip:2375 version


image.png


最后在idea上测试一下


1.将刚才下载的证书移动到咱们电脑的证书目录


image.png


2.链接前需要开放阿里云的2375端口,否则会被阿里云拦截


image.png


3.通过idea的docker插件进行链接,可以看到已经链接成功了


image.png


4.我们在测试一下以前通过tcp的链接方式是否还能链接成功


image.png


4. 总结



最后总结一下,自己服务配置docker外网链接时,一定要弄好加密措施,否则很容易挂马,目前网上的步骤一般都只是tcp免密链接,很不安全,我昨天试了一下,不到半个小时就被扫描挂马了,所以才决定写份笔记记录一下自己的部署过程,希望大家引以为鉴。


这个是阿里云的告警信息


image.png

目录
相关文章
|
7月前
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
|
10月前
|
安全 网络安全 数据安全/隐私保护
SSL/TLS证书**是一种用于加密网络通信的数字证书
SSL/TLS证书**是一种用于加密网络通信的数字证书
466 6
|
11月前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
879 3
|
11月前
|
IDE Java 程序员
学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程
本文提供了如何使用学生邮箱免费获取并安装JetBrains全家桶(包括IDEA、PyCharm等)的详细教程,涵盖了学生认证、软件下载、安装及常见问题的解决方法。
2527 0
学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程
|
7月前
|
人工智能 IDE 编译器
idea如何使用AI编程提升效率-在IntelliJ IDEA 中安装 GitHub Copilot 插件的步骤-卓伊凡
idea如何使用AI编程提升效率-在IntelliJ IDEA 中安装 GitHub Copilot 插件的步骤-卓伊凡
1557 15
idea如何使用AI编程提升效率-在IntelliJ IDEA 中安装 GitHub Copilot 插件的步骤-卓伊凡
|
6月前
|
人工智能 自然语言处理 Java
30分钟速成:IntelliJ IDEA 2024下载安装与多语言开发环境配置手册
IntelliJ IDEA是Java/Kotlin开发领域的旗舰级IDE,最新版本实现了AI全栈辅助、量子计算插件和多语言互操作三大技术突破。AI辅助提升代码生成与性能优化准确率40%,量子计算插件支持1024量子位模拟,多语言混合调试性能提升300%。系统要求包括i5以上CPU、8GB内存及Windows 7+等。安装流程涵盖获取Ultimate版、配置启动器及性能优化设置。核心功能包括AI编码助手和多语言开发环境配置。提供量子算法开发和AI代码审查实战案例,并附故障排查指南和学习资源。
|
7月前
|
安全 搜索推荐 网络安全
免费SSL证书:一键加密,守护网站安全
在互联网时代,网站安全至关重要。SSL证书是保护网站数据传输安全的核心工具,提供数据加密、提升信任度、提高搜索引擎排名及避免“不安全”警告等多重优势。现在,您可以通过JoySSL官网免费获取SSL证书,只需注册并填写注策码(230907),即可一键加密,轻松守护网站安全,提升用户体验和品牌形象。立即行动,为您的网站穿上“安全防护衣”!
139 11
|
10月前
|
存储 安全 数据安全/隐私保护
Docker中配置TLS加密的步骤
我们可以在 Docker 中成功配置 TLS 加密,增强 Docker 环境的安全性,保护容器之间以及与外界的通信安全。需要注意的是,在实际应用中,应根据具体情况进行更细致的配置和调整,确保符合安全要求。同时,定期更新证书和私钥,以保障安全性。
651 60
|
6月前
|
安全 数据建模 网络安全
数字时代的信任快餐:DV证书的生存法则与文明困境——当加密锁链成为互联网的“方便面哲学”
深夜的杭州余杭区,阿里云数据中心灯火通明,每秒完成2.4万次SSL证书验证,其中65%为DV证书。DV证书通过自动化验证快速构建网络信任,如同预制菜般高效,但也带来了安全隐患,如钓鱼网站滥用。其崛起反映了效率至上的趋势,但背后隐藏着信任通胀与安全风险。随着加密算法进化和新信任机制的探索,DV证书或将在未来被更复杂的安全体系取代。
|
11月前
|
应用服务中间件 Windows
震惊!idea 2021 社区版手把手安装,超详细过程,新手一看就会 如何安装低版本的IDEA? IDEA安装过程中版本冲突怎么办 idea最新版安装!
本文提供了一个详细的指南,用于安装2021年社区版的IntelliJ IDEA,包括如何处理版本冲突和完成安装过程。
1502 2
震惊!idea 2021 社区版手把手安装,超详细过程,新手一看就会 如何安装低版本的IDEA? IDEA安装过程中版本冲突怎么办 idea最新版安装!