【问题标题】:How to prevent root of the host OS from accessing content inside a container?如何防止主机操作系统的根访问容器内的内容?
【发布时间】:2017-11-15 03:55:52
【问题描述】:

我们是容器技术的新手,目前正在评估它是否可以用于我们的新项目。我们的关键要求之一是多租户的数据安全。即每个容器包含仅由特定租户拥有的数据。即使是我们,主机服务器的服务器管理员,也不应该能够访问容器内的内容。

通过一些谷歌搜索,我们知道主机操作系统的根可以在容器内执行命令,例如,通过“docker execute”命令。我想该命令是以root权限执行的吗? How to get into a docker container?

我们想知道是否可以通过某些安全配置阻止/禁用此类访问(不仅是“docker execute”,还包括主机服务器的服务器管理员访问容器内容的任何方法)?

【问题讨论】:

  • 你不能阻止 root 做任何事情,但是你可以让用户拥有管理员权限而不是 root。任何可以访问 Docker API(即运行 docker 命令)的人实际上都是 root。
  • 但毕竟系统必须有这个root帐号,而且这个帐号只能由我们服务器管理员保管。这意味着我们只能说服租户相信我们“不会”(不是“不能”)访问他们的数据的行为准则。对吗?
  • 是的,它是大多数 IT 关系的基础。有一些边缘情况,公司处理他们实际上无法读取的客户端加密数据,但仍然存在一些隐含的信任,即您将根据需要存储和传输数据。

标签: docker containers


【解决方案1】:

具体来说,对于 bash 命令, 在 .bashrc 文件的末尾添加退出命令。所以用户登录并最终被踢出。

您可以通过此链接更好地了解默认情况下未实施的原因 https://github.com/moby/moby/issues/8664

【讨论】:

  • 如果我对讨论线程的理解是正确的,这意味着即使您以某种方式禁用了“docker exec”,主机操作系统的根仍有许多其他方法可以访问容器的内容。所以只禁用“docker exec”是没有意义的。
  • 是的。还有其他方法可以访问内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-05
  • 1970-01-01
  • 1970-01-01
  • 2020-02-28
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多