从 Docker、Twistlock、CoreOS 看容器安全的现状

  • 谢丽

2015 年 12 月 15 日

话题:语言 & 开发架构容器

Docker 将容器变成一种商用技术以后就面临一个比较大的问题,就是如何确保容器安全。具体一点讲,安全在容器环境中包含什么内容,如何安全地访问容器以及如何确保容器内部软件不会带来安全问题,等等。随着容器技术成长为一个更加开放的生态系统(尤其在安全方面),任何一种单独的解决方案似乎都不可能解决所有这些问题。近日,InfoWorld 资深作者 Serdar Yegulalp分析了 Docker、Twistlock、CoreOS 等厂商的容器安全解决方案。

Docker 一直在推动容器技术的发展,包括安全在内。在 11 月份举行的 DockerCon 欧洲大会上,该公司宣布了多项重大安全改进,其中最大的一项是支持用户命名空间。其他改进还包括允许使用 Yubico 硬件密钥进行容器签名,以及扫描托管在 Docker 官方库中的容器。

除了容器自身的安全外,在将容器部署到生产环境之前,用户还会希望知道容器内的东西是否存在已知的安全问题。Twistlock的创建目的就是扫描容器,对照 CVE 数据库检查容器中的软件。此外,它还会检查容器环境,比如,如果容器不应该在第一时间连接网络,那么它就会断开网络连接。

CoreOS 一直支持容器,但它对 Docker 的做法持批评态度,尤其是在安全方面。为此,他们创建了自己的、安全优先的容器格式和运行时。前期,CoreOS宣布了类似 Twistlock 的漏洞扫描工具。最近,他们又宣布了一种端到端的安全解决方案“分布式可信计算(Distributed Trusted Computing)”。该方案是其企业级产品Tectonic的一部分。同 Docker 的 Yubikey 一样,它也使用了硬件密钥确保容器不会被篡改。而且,它只会启动用户同意启动的容器。此外,该方案的其中一名创建者是 Matthew Garrett,他是 CoreOS 的首席安全工程师,同时也是一位著名的 Linux 开发人员,曾经创建了一种在 Windows 8 系统上运行 Linux的方法。


感谢魏星对本文的审校。

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

语言 & 开发架构容器