Docker: - ipc =主机和安全性

gra*_*olf 14 linux security archlinux docker

因此,为了让MIT-SHM在运行在docker容器内的应用程序和在主机上运行的x11之间工作,我必须--ipc host在启动容器期间通过.我已经阅读了有关它应该做什么的文档.

假设应用程序不是以root身份运行(在容器内),那么这个可能的攻击向量是什么?换句话说,--ipc host安全性的妥协程度是多少?

小智 8

就攻击面而言,--ipc=host消除了一层安全性并创建了新的攻击向量,因为主机上运行的任何应用程序在共享内存段中出现恶意数据时出现行为异常都可能成为潜在的攻击向量。

对性能敏感的程序使用共享内存来存储和交换易失性数据(x11 帧缓冲区就是一个例子)。在您的情况下,容器中的非 root 用户可以访问 x11 服务器共享内存。

假设在所有共享对象上设置了正确的权限,在容器内以非 root 身份运行应该会在一定程度上限制未经授权的访问。尽管如此,如果攻击者在容器内获得了 root 权限,他们就可以访问 root 拥有的所有共享对象(某些对象可能仍然受到默认情况下未启用的IPC_OWNER功能的限制)。

您可以询问自己主机上的每个应用程序:

  • 恶意制作的共享内存段受到损害的可能性有多大?

  • 妥协的后果是什么?应用程序是否受到任何限制?


小智 -3

只要您的容器映像来自可靠的来源,它就不会影响您的主机。

您可以在此处阅读有关 ipc 设置的信息。

https://docs.docker.com/engine/reference/run/#ipc-settings---ipc

  • 如果那个_好图像_运行并遇到一些利用其中漏洞的_恶意数据_并将其变成_坏演员_怎么办? (2认同)