Eri*_*ers 6 security docker kubernetes apache-mesos docker-compose
我正在尝试使服务器上的 docker 更安全。主要问题是大多数人说“如果一个人可以访问 docker,他们也可以是 root”,对于少数管理员来说,这不是您想要的。
详细地说,他们可以使用-v并挂载/etc到/mnt容器中并更改影子文件并获得对主机的访问权限。他们也可以使用-d, 或特权选项来做更多的事情。
所以基本上,我想“尝试”和限制一些事情。
--add-cap-d (某些项目?)到目前为止我的想法:
可选项目是在提交到 git 代码时制作容器,并让“检查器”验证内容Dockerfile并为它们创建图像。然后对该映像进行签名并自动部署它。(但这不会再给他们太多自由)
此外,删除绑定卷并不是最好的。如果我们有一个 docker 插件,上面写着“你只能/data以用户 X 的身份挂载”,其中USERinDockerfile是那个用户 X,那就简单多了。
像docker-novolume-plugin这样的东西对于卷来说已经是一个不错的开始,虽然不限制绑定卷。
最后的问题是,我如何让用户以他们自己的用户/docker 身份构建/拉取/运行 docker 映像,而无法根系统。只要它有效,就不必完美。
保护一个docker发动机需要关注许多不同的方面,以及纵深防御是始终大约层的安全性。
您列出的要求之一,限制用户可以命令docker引擎执行的操作,可能是最重要的要求之一,因为到目前为止,docker引擎没有实现授权控制。
您的替代方案包括:
闭源解决方案,如Twistlock,一个实现 RBAC 和策略控制以访问dockerAPI 的项目
OpenShift Origin是一个开源项目,它以安全约束和细粒度授权策略的形式实现基于角色的访问控制。它相当容易部署,并且非常有助于拥有开箱即用的解决方案。
我还建议研究docker引擎可以部署到的不同操作系统,并建议不要使用通用操作系统,而是使用专门的操作系统,例如Atomic。Atomic 和 OpenShift 结合在一起,将确保您还可以:
docker整个世界。docker套接字的访问,它将控制是否允许在容器之间共享文件描述符,它可以为每个容器/容器组分配不同的 MCS 级别以将它们与主机和其他容器隔离。| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |