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) )。