Docker 新增三大功能特性,增强容器安全

  • 张天雷

2015 年 11 月 19 日

话题:语言 & 开发架构

11 月 16-17 日,DockerCon Europe 2015在西班牙的巴塞罗那召开。在该会议中,Docker 公司宣布了其对 Docker 平台中容器安全方面的三大改进——支持利用 YubiKey 进行硬件签名、对 Docker Hub 中的镜像开始进行安全扫描和支持用户名字空间。

首先,Docker 开始支持利用 YubiKey 设备进行硬件签名。该 USB 设备与之前 Docker 已经实现的升级框架(The Update Framework,TUF)密切相关。在 TUF 框架下,当发布者将镜像上传到远程仓库后,Docker 会利用私钥对镜像进行签名。之后,当下载该镜像时,Docker 会利用发布者的公钥来校验该镜像是否和发布者所发布的镜像一致,从而判断镜像是否被篡改过或者是否为最新版。

基于 TUF,Docker 在 1.8 版本中引入了内容可信(Docker Content Trust)的特性。YubiKey 正是在内容可性框架的基础上,实现了容器的自动签名。开发人员或者系统管理员可以把YubiKey 4插入到笔记本电脑或者工作站中,从而将其独特的签名上传到容器中。当代码在工作流中移动时,该签名保证了只有经过授权的人员可以访问代码,大大提高代码的安全性。此外,YubiKey 本身采用了指纹识别技术来保证该 USB 设备自身的安全。

其次,Docker 添加了对 Docker Hub 中镜像文件的扫描工作。具体而言,Docker 会定期的将检查表项和美国国土安全部更新的公共漏洞数据库进行比对。一旦出现匹配,Docker 就会针对该镜像发出警告。这样,用户在使用该镜像时会更加谨慎,避免安全威胁;镜像贡献者也会警惕存在的漏洞,尽快进行修复。

最后,最新的 Docker 1.9 实验版本增加了对用户名字空间的支持。以往,容器都拥有宿主机的 root 用户访问权限。通过使用 Linux 的名字空间,Docker 剥离了容器的该访问权限——只有 Docker daemon 进程拥有 root 权限,而且只有若干授权的系统管理员可以访问 daemon。这样,IT 部门就可以给予企业内部不同部门或者团队不同的访问控制权,提高整个工作流的安全。


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

语言 & 开发架构