一份刚刚发布的Docker调查报告表明容器技术正在不断兴起,而这种趋势在很大程序上需要归功于Docker Security Scanning这样的全新安全工具。
市场对于容器虚拟化技术的接受程度是前所未有的。根据最近一份针对500名IT专家的Docker调查报告,超过50%的企业在其生产环境当中部署了至少一种容器应用程序,表明容器的部署比例增速甚至超过了云技术,并且现有的部署比例仍然在不断增长。这项调查还显示超过90%的受访者在应用程序开发、提升敏捷性和灵活性、加快应用程序发布周期等领域使用Docker技术。
为提升Docker容器安全性不断努力
基于容器的虚拟化技术能够实现快速发展需要归功于多种原因。容器易于部署、能够快速启动或者增加实例数量——是虚拟机速度的三倍。容器还能够提供良好的代码稳定性并且价格十分合理。此外,hypervisor可以使用支持多租户安全特性的物理硬件,这样能够帮助解决很多和容器相关的安全问题。容器能够获得的基础架构支持也在不断改进,微软、VMware、OpenStack、所有Linux发行版本和主要公有云厂商都对容器提供了非常全面的支持。
另一方面,相关管理工具仍然处于追赶者的角色,但是值得注意的是自动化编排工具——Docker Swarm已经取得了很大进步。尽管很多企业在安全性方面不断投入,努力解决产品可能存在的相关问题,但是这方面仍然被视为一种严重隐患。英特尔开发了一种主要针对于容器的thin hypervisor,使得裸金属容器解决方案在未来变为可能。英特尔推出的这种全新方式从硬件上支持内存分离技术,以此实现跨租户间的相互隔离。
Docker刚刚推出了一种可选服务DSS(Docker Security Scanning),这种工具通过扫描二进制代码来检查容器镜像的安全等级,它还为镜像创建了签名。这种方式允许在部署之前对原始代码和更新进行验证。事实上,软件厂商可以为代码创建安全配置文件,使其完全符合用户的部署需求。DSS将之前需要不断修补的手动流程自动化,在节省大量时间的同时提升了安全性。
DSS默认被用于Docker Hub repository 当中的镜像,但是通用发行意味着私有repository也可以使用这种特性。另外一种将要在Docker Engine下一个版本当中推出的安全强化方案是用户权限分离。Docker的主要竞争对手CoreOS也已经推出类似的工具,称为Clair,刚刚升级到1.0版本。
Docker Bench for Security——一个检查安全最佳实践匹配程度的脚本,现在处于更新过程当中,可以提升对于用户硬件配置的验证功能。Bench能够发现潜在问题或者安全隐患,帮助管理员找出系统漏洞并且进行更新。
适用于容器虚拟化技术的第三方工具
相比于部署在企业级服务器和基础架构当中的传统应用程序,Docker在安全性方面更加具有优势。容器所具有的清晰结构和全新敏捷性可能会让管理员产生一种某些工作还没有完成的感觉。但是在基于hypervisor的云当中,安全性还有可能被底层的hypervisor架构或者其所加载的应用程序镜像和数据所破坏,因此依然具有改进的空间。
第三方工具可以在这方面提供帮助,比如Nessus 6.5能够检查内核主机脆弱性,参照CIS(Center for Internet Security)标准来寻找安全方面的漏洞。Twistlock最近推出的全新工具能够分析容器行为,将这些行为和一个包含预期结果的配置文件进行对比。
Unikernel技术也在不断发展,其将操作系统内核进一步剥离,相比于标准内核不仅启动速度更快,而且能够通过减少攻击目标来提升安全性。Unikernel可以运行在hypervisor或者裸金属之上,这对于容器完全取代hypervisor来说是一种长期威胁。Unikernel技术的反对者认为使用这种方式将会丢失大量工具,导致调试变得非常困难,但是在大规模部署当中这个问题也许不太可能发生,因为调试流程需要进行相当大的调整。
容器自动化管理领域也取得了很大进步。Google Cloud推出了基于Kubernetes 的Container Engine,能够对容器任务进行编排。用户还可以在私有或者混合云当中使用这种工具,通过一种简单方式在多种云之间建立桥梁。
Docker Swarm为OpenStack处理编排任务,同时还能够支持其他工具。RightScale Universal Cloud Management Platform已经支持容器了,可以使用脚本在现有的容器当中启动一个控制和收集数据的代理程序。
Open Container Initiative也在不断发展,它发起了一个促进镜像格式标准化的项目。这和容器在IT环境当中的发展方向是完全吻合的——使用更加简单、标准和安全的方式来实现一切需求。
Docker并不是唯一的可选方案。CoreOS也正在研究其Rkt容器,它能够解决一些Docker所面临的安全问题。Rkt和“rocket”这个单词具有相同的发音,声称已经完全实现了对于镜像的签名和验证,尽管Docker最近宣称已经在很大程度上缩小了这种差距。Rkt不需要使用daemon守护进程,因此不需要root权限就能够正常运行。
CoreOS正在努力推广标准镜像格式。它能够快速转换现有的Docker镜像格式,但是标准方式将会避免重建镜像。同时,CoreOS也支持Docker容器镜像。
随着这些安全、管理和编排工具的发布,基于容器的虚拟化技术未来很有可能继续蓬勃发展。