0

我开发了一个基于 Docker 和 Docker API 的解决方案。现在,我正在努力使其尽可能安全。我已启用 TLS 并配置了我自己的 Docker Registry,以帮助降低不需要的图像和未经授权的访问的风险。此外,我启用了 SELinux 并使用 IPTables 来确保只有我想要的客户端才能访问 Docker API。

首先,我可以假设 Docker 主机是完全安全的。虽然现实中可能并非如此,但这不是我目前想要处理的问题。

我所面临的担忧与获得批准的客户有关,以及他们在被黑客入侵时几乎可以做任何事情的能力。因此,如果客户端被泄露,客户端密钥也会被泄露。在这种情况下,黑客可以发出 Docker API 请求来构建图像(从提供的 tar)、启动图像和我的 Docker 主机上的任何其他内容。我的任务是试图阻止这种情况。

我的一个想法是以某种方式允许 Docker API 只启动一组经过批准的图像。但是,如果有办法做到这一点,我找不到它。

另一个想法是完全阻止 Docker API 构建图像。同样,如果有办法做到这一点,我找不到它。

所以,我可能会因为没有提出足够直接的问题而受到抨击,但是......

关于如何限制 Docker API 客户端的允许功能的任何建议???

谢谢你的任何想法。我在 Centos 7 上运行 Docker 1.8.2。

4

1 回答 1

0

Docker 有一个待处理的插件功能可以提供这种支持。具体来说,我必须升级到 docker 1.10,并开始使用这些家伙提供的插件: https ://github.com/twistlock/authz 。

我在让它工作时遇到了一些麻烦,而且功能仍然很原始,但看起来很有希望。只需要等待一些功能。

一个相当不错的博客也在这里:https ://sreinenet.wordpress.com/2016/03/06/docker-security-part-3engine-access/

于 2016-04-07T19:33:29.493 回答