Docker 安全指南
1. Docker 主机安全
在处理虚拟机时,我们可以控制谁有权限访问哪些虚拟机。例如,只允许开发人员 User 1 访问开发环境的虚拟机,而运维人员 User 2 因为要负责开发和生产环境,所以需要访问所有虚拟机。大多数虚拟机管理工具都支持基于角色的访问控制。
但在 Docker 中,情况有所不同。任何有权限访问 Docker 主机上 Docker 引擎的人,无论是通过获得 sudo 权限,还是将其用户添加到 Docker Linux 组,都可以访问运行中的每个 Docker 容器。他们可以运行新容器、停止现有容器,还可以删除镜像。因此,在授予访问 Docker 引擎的权限时要格外小心。建议仅将 Docker 主机用于 Docker 相关操作,将其他服务与 Docker 主机分开。
2. 镜像信任
运行虚拟机时,通常会从头开始自行设置。由于下载大小和启动的工作量,一般不会下载网上随机人员创建的预构建机器镜像,而是选择从受信任的软件供应商处获取预构建的虚拟设备。这样可以清楚虚拟机内部的内容。
Docker 的易用性是其吸引力之一,但这也容易让人忽视一个关键的安全问题:你是否知道容器内部运行的是什么?在之前我们已经提到过镜像信任的问题,比如不发布或下载未使用 Dockerfile 定义的镜像,不将自定义代码或机密信息直接嵌入要推送到 Docker Hub 的镜像中。
虽然容器有命名空间、控制组和网络隔离的保护,但不当的镜像下载仍可能带来安全隐患。例如,一个运行未打补丁软件的合法容器,可能会对应用程序和数据的可用性造成风险。
超级会员免费看
订阅专栏 解锁全文
5202

被折叠的 条评论
为什么被折叠?



