Docker未授权访问漏洞

本文详细介绍了Docker未授权访问漏洞的原因、影响,以及如何进行漏洞利用和修复。通过实验步骤展示了如何发现并利用开放的2375端口,包括获取Docker信息、启动和进入容器、写入SSH公钥和定时任务来获取宿主机shell。最后给出了设置ACL和开启TLS等修复建议。
摘要由CSDN通过智能技术生成

预备知识

1. 什么是Docker

1)Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

可以将Docker理解为一个集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来,并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么不需要专门运送水果的船和专门运送化学品的船,只要这些货物在集装箱里封装的好好的,就可以用一艘大船把他们都运走。

Docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮,而Docker就是集装箱。不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样。如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,可能还会造成一些冲突,如IIS和Apache访问端口冲突,这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机,在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。利用Docker可以实现虚拟机隔离应用环境的功能。

2)Docker基本组成:

DockerClient 客户端

Dockerdaemon 守护进程

DockerImage 镜像

DockerContainer 容器

DockerRegistry 仓库

3)客户端和守护进程:

Docker是C/S(客户端client-服务器server)架构模式。

Docker通过客户端连接守护进程,通过命令向守护进程发出请求,守护进程通过一系列的操作返回结果。

Docker客户端可以连接本地或者远程的守护进程。

Docker客户端和服务器通过socket或RESTful API进行通信。

dockerimage -- 镜像

镜像是容器的基石,容器基于镜像启动和运行。镜像就好像容器的源代码,保存了容器各种启动的条件。镜像是一个层叠的只读文件系统。

dockercontainer -- 容器

容器通过镜像来启动,容器是docker的执行来源,可以执行一个或多个进程。镜像相当于构建和打包阶段,容器相当于启动和执行阶段。容器启动时,Docker容器可以运行、开始、停止、移动和删除。每一个Docker容器都是独立和安全的应用平台。

dockerregistry -- 仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十年人间~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值