ubuntu服务器开放端口_Docker服务开放了这个端口,服务器分分钟变肉机
推荐阅读:
无情的BUG杀手:京东资深架构师分享:RabbitMQ整体架构以及学习方法zhuanlan.zhihu.com
无情的BUG杀手:爱了爱了,Spring Cloud Alibaba内部微服务架构笔记真的太牛了zhuanlan.zhihu.com
无情的BUG杀手:面试大厂必问的JVM+Redis+MySQL+并发+分布式等面试题,含答案zhuanlan.zhihu.com
摘要
之前有很多朋友提过,当使用docker-maven-plugin打包SpringBoot应用的Docker镜像时,服务器需要开放2375端口。由于开放了端口没有做任何安全保护,会引起安全漏洞,被人入侵、挖矿、CPU飙升这些情况都有发生,今天我们来聊聊如何解决这个问题。
问题产生的原因
首先我们要明白问题产生的原因,才能更好地解决问题!
Docker为了实现集群管理,提供了远程管理的端口。Docker Daemon作为守护进程运行在后台,可以执行发送到管理端口上的Docker命令。
当我们修改docker.service文件,修改启动命令,加入-H tcp://0.0.0.0:2375时,就会开放2375端口,且没有任何加密和认证过程,这种方式一般用在内网测试环境。如果你的服务器部署在公网上,任何知道你IP的人,都可以管理这台主机上的容器和镜像,想想就觉得可怕。
解决思路
开放远程管理端口后,没有做任何安全保护导致了这个问题。我们只要使用安全传输层协议(TLS)进行传输并使用CA认证即可。
制作证书及秘钥
我们需要使用OpenSSL制作CA机构证书、服务端证书和客户端证书,以下操作均在安装Docker的Linux服务器上进行。
- 首先创建一个目录用于存储生成的证书和秘钥;
mkdir
- 创建CA证书私钥,期间需要输入两次用户名和密码,生成文件为ca-key.pem;
openssl
- 根据私钥创建CA证书,期间需要输入上一步设置的私钥密码,生成文件为ca.pem;
openssl
- 创建服务端私钥,生成文件为server-key.pem;
openssl
- 创建服务端证书签名请求文件,用于CA证书给服务端证书签名,生成文件server.csr;
openssl
- 创建CA证书签名好的服务端证书,期间需要输入CA证书私钥密码,生成文件为server-cert.pem;
openssl
- 创建客户端私钥,生成文件为key.pem;
openssl
- 创建客户端证书签名请求文件,用于CA证书给客户证书签名,生成文件client.csr;
openssl
- 为了让秘钥适合客户端认证,创建一个扩展配置文件extfile-client.cnf;
echo
- 创建CA证书签名好的客户端证书,期间需要输入CA证书私钥密码,生成文件为cert.pem;
openssl
- 删除创建过程中多余的文件;
rm
- 最终生成文件如下,有了它们我们就可以进行基于TLS的安全访问了。
ca
配置Docker支持TLS
- 用vim编辑器修改docker.service文件;
vi
- 修改以ExecStart开头的配置,开启TLS认证,并配置好CA证书、服务端证书和服务端私钥,修改内容如下;
ExecStart
- 重启Docker服务,这样我们的Docker服务就支持使用TLS进行远程访问了!
systemctl
客户端访问
接下来我们将使用docker-maven-plugin来打包Docker镜像,使用的代码为原来的mall-tiny-docker例子。
- 直接使用docker-maven-plugin打包试试,由于我们的插件版本有点低,使用新一点版本的Docker会出现如下问题,升级到1.2.2版本解决该问题;
[
- 修改完版本后打包,发现TLS不再支持http了,需要改用https,修改<dockerHost>配置为https;
[
- 修改完成后再次打包,继续失败,需要添加对应的客户端证书才能访问;
[
- 将如下文件复制到指定目录,这里复制到了I:developerenvdocker-ca;
ca
- 然后将该目录配置在插件的<dockerCertPath>节点下,最终插件配置如下;
<
- 再次打包镜像,发现已经可以成功打包镜像,从此我们的2375端口终于可以安全使用了!
[
作者:MacroZheng
链接:https://juejin.im/post/6861749836249563143
ubuntu服务器开放端口_Docker服务开放了这个端口,服务器分分钟变肉机相关推荐
- Docker服务开放了这个端口,服务器分分钟变肉机
之前有很多朋友提过,当使用docker-maven-plugin打包SpringBoot应用的Docker镜像时,服务器需要开放2375端口.由于开放了端口没有做任何安全保护,会引起安全漏洞,被人入侵 ...
- 云服务器网无响应,服务器之家教你dns服务器未响应导致无法上网怎么办
最近服务器之家在逛网页的时候看到有不少的网友在讨论dns未响应的解决方法,然后服务器之家就给网友们进行解答了这个问题,俗话说"独乐乐不如众乐乐",所以,今天服务器之家我就决定也来和 ...
- linux系统查看端口对应服务,linux下查找端口号对应的服务名
根据端口号查找对应的服务名 1)grep -w 端口号 /etc/services 2)grep "\b端口号\b" /etc/services 以2049端口为例,执行grep ...
- linux端口对应服务
计算机系统"端口"是英文 port 的义译,可以认为是计算机与外界通讯交流的出口.其中 硬件领域的端口又称接口,如:USB 端口.串行端口.打印机端口等.软件领域的端口一般 指网络 ...
- 介绍Windows Server服务器角色、角色服务和功能
1.1 服务器角色.角色服务和功能 什么是服务器角色.角色服务和功能? 本部分定义适用于 Windows Server 2008 的术语:角色.角色服务和功能. 角色 Roles是出现Windows ...
- 请检查ftp文件服务器是否开启,查看服务器是否开启ftp服务
查看服务器是否开启ftp服务 内容精选 换一换 已准备用于安装鲲鹏代码迁移工具的x86服务器或者基于鲲鹏916/920的服务器.已安装操作系统,操作系统版本要求请参见鲲鹏开发套件兼容性查询助手.已安装 ...
- 华为服务器显示f03报错,win2003服务器f新建ftp服务
win2003服务器f新建ftp服务 内容精选 换一换 本文以裸金属服务器的操作系统为"CentOS 7.0 64位"为例,采用fdisk分区工具为数据盘设置分区.MBR格式分区支 ...
- 阿里云服务器ECS+安心备案服务套餐:低至156.12元
阿里云服务器ECS+安心备案服务套餐:低至156.12元 现在阿里云服务器的价格越来越便宜了,不过对于初次购买阿里云服务器的用户来说,备案流程是否麻烦,能否成功备案下来是很多用户所关心的,对于有这种担 ...
- 使用Arcmap往服务器上发布地图服务
要在服务器上发布地图服务,只需要在服务器上把ArcGIS server安装好就可以了,然后有服务器的ip地址就可以在别的电脑上往服务器上发布服务了 1.先将地图配置好,然后选择文件菜单栏下的共享为-- ...
- 80端口封了怎么办,80端口被屏蔽解决方法
80端口封了怎么办,要不要采用什么80端口穿透服务?其实80端口被封或被屏蔽可以采用NAT端口映射技术解决,当然,目前NAT123端口映射应用技术也是解决80端口被屏蔽的主要技术手段. 80端口被屏蔽 ...
最新文章
- 洛奇6里很喜欢的一段话!洛奇6经典台词!而是你能挨多重,并且坚持向前,你能承受多少并且坚持向前,这样才叫胜利!
- 图解选择排序与插入排序
- 平面分割 题解(1.16 递推模拟)
- 主攻计算机专业英语翻译,湖师大“博导”黄振定,主攻“翻译学”
- js 函数实参列表arguments和形参的那点事儿
- 阅文推“单本可选新合同”:授权分级、免费或付费自选
- 卖肾换来一部iPhone后生活不能自理,那手机电商平台现在卖10块钱!
- parentNode,parentElement,offsetParent
- 我的权限系统设计实现MVC4 + WebAPI + EasyUI + Knockout(二)菜单导航
- 【2012百度之星/初赛上】小小度刷礼品
- spp色散关系 matlab,表面等离极化激元(SPP)基本原理教案分析.ppt
- 一拳超人手游显示服务器断开,一拳超人最强之男游戏无法登陆怎么办 解决方案一览...
- 破解获取微信小程序源代码
- 从0到一开发微信小程序(4)—小程序组件
- excel sumif 多条件
- word大括号中公式左对齐
- 路由器技术彻底解决路由器IP地址冲突问题
- 搭建HTTP Live Streaming直播系统
- 网络费用报销管理系统的设计与实现
- Kotlin GreenDao