容器与Kubernetes安全攻防全解析
容器基础与Docker概述
容器技术因其能在特定主机(如运行Amazon Linux 2的主机)上运行基于特定版本(如“Buster”)的容器,为软件架构的扩展和软件的弹性提供了有力支持。而Docker是大家最为熟悉的容器工具,在过去甚至现在,“Docker”和“容器”这两个词几乎可以互换使用。
不过,Docker并非容器运行时接口(CRI),它将其容器运行时接口ContainerD进行了开源。本质上,Docker是一个命令行界面(CLI),通过与Docker守护进程这个API协同工作,来编排单个计算设备上的容器。Docker-Compose可用于在同一台机器上编排多个容器,而曾经的Docker Swarm类似于Kubernetes,能跨多台服务器管理Docker,但随着Kubernetes的兴起,Docker Swarm已被弃用,如今Docker使用Kubernetes进行集群管理。此外,Docker具备强大的网络功能,但这些功能的暴露方式也带来了不少问题。
寻找Docker守护进程
在Windows操作系统中,通过简单的点击操作就可能使Docker守护进程暴露。Docker利用Unix套接字将命令从Docker CLI传递到Docker API,这也导致了一些Docker端口直接暴露在互联网上。我们可以通过简单的扫描来查找这些暴露的Docker守护进程,具体操作如下:
在云环境中搭建的Kali实例的新shell中运行nmap扫描标准Docker容器端口。扫描结果会显示主机上的Docker API,该API规范允许我们像使用CLI工具一样与Docker守护进程进行全面交互,无需携带必要的二进制文件就能在
超级会员免费看
订阅专栏 解锁全文
711

被折叠的 条评论
为什么被折叠?



