gpt4 book ai didi

security - Docker 主机安全 - 容器可以运行危险代码或从容器内部更改主机吗?

转载 作者:IT老高 更新时间:2023-10-28 21:36:04 26 4
gpt4 key购买 nike

假设我从中心存储库中提取了一个新图像并运行它而不查看 dockerfile 的内容。容器或图像会以任何可能的方式影响我的主机吗?

请告诉我,因为我将在我的服务器上运行来自用户输入图像名称的图像列表。我担心它是否会影响服务器/主机。

最佳答案

对于图像的默认执行,答案是有条件的否。内核能力是有限的,文件系统是有限的,进程空间是隔离的,并且它位于与主机不同的桥接网络上。任何允许访问主机的东西都是安全漏洞。

有条件的部分是它可以用完所有的 CPU 周期,它可以耗尽你的内存,它可以填满你的驱动器,它可以将网络流量从你的机器 NAT'ed 发送到你的 IP 地址。换句话说,默认情况下,没有什么可以阻止容器对您的主机进行 DoS 攻击。

Docker 确实有能力限制其中的许多事情,包括限制内存、限制 CPU 或确定进程的优先级,并且文件系统有配额解决方案。

您也可以反其道而行之,将主机暴露给容器,从而有效地制造安全漏洞。这将包括挂载主机卷,尤其是容器内的 docker.sock,使用 --privileged 删除内核功能限制,以及使用 --net=host 删除网络隔离。对容器执行上述任何操作都会关闭 Docker 默认提供的保护。

由于它与主机共享内核的方式,Docker 的隔离级别确实低于虚拟机。因此,如果您正在运行的代码包含内核或物理硬件漏洞,则可以访问主机。出于这个原因,如果您正在运行不受信任的代码,您可能需要查看 linuxkit,它提供了一个基于轻量级容器的操作系统,可以在 vm 中运行。这用于提供在 windows/mac 的 docker 上的 hyperv/xhyve 下运行的 moby os。

关于security - Docker 主机安全 - 容器可以运行危险代码或从容器内部更改主机吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38871798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com