我们如何锁定Docker终端

时间:2018-10-15 09:56:57

标签: security docker boot2docker

我们有一个应用程序在docker机器中运行多个容器。要启动它,我们使用docker终端。但是,有权访问主机的任何人都可以运行docker计算机,启动和停止容器或加载新容器

我们如何锁定对docker终端的访问,以便只有授权用户才能运行命令

1 个答案:

答案 0 :(得分:0)

比那更糟。完全可以运行任何Docker命令的任何人都可以运行:

docker run -it -v /:/host -u root ubuntu sh

然后它们将具有一个根级外壳,可以不受限制地访问主机的文件系统。

没有(简便)的方法来进一步限制此限制。您无法安全地将Docker访问权限提供给共享系统上不受信任的用户。

典型设置具有root拥有的Docker套接字和专用的“ docker”组,并且无法在世界范围内访问。如果您已经有sudo访问权限的用户数量有限(或者您不介意是否将其授予自己的权限),则可以sudo run docker,或者可以将其添加到“ docker”组,以及其他用户将无法运行Docker命令;他们可以访问已经运行的容器中的服务。 (如果您已经更改了Docker守护程序的设置,使其可以在TCP套接字上侦听,则您可以授予可以访问套接字的任何人对主机的根访问权限。)

在特定的Docker Machine情况下,它始终在TCP套接字上侦听,并且在主机外无法访问它时,限制访问它的唯一方法是限制其TLS证书的分发。除了不能使用“更原生” Docker的开发系统之外,我可能不会在其他环境中使用它。