Docker如何改变云计算安全?

译文
云计算
Docker的共享式Linux内核架构对采用多租户模式的应用程序来说不是足够安全。不过,这项大受欢迎的新容器技术对银行、零售和在线等应用程序来说却是一种很好的选择。

自云计算问世以来,人们就一直对云计算技术的安全性持有怀疑态度。一提到多租户模式:你可能与陌生人在同一个物理硬件上,即便服务提供商承诺采用虚拟机来隔离,也是如此,人们总是想到安全灾难。

时间证明,虚拟机确实提供了一层有效的隔离;更多的公司每天在采用虚拟机。Docker容器就好比微型虚拟机。比如说,如果一台服务器上可以运行10个虚拟机,同样这台服务器上可以运行100个、甚至1000个Docker容器。

坏消息是,默认状态下的Docker其安全性不如虚拟机和大多数云计算技术。由于多个Docker容器共享一个Linux内核,内核漏洞可能导致特权升级攻击方面存在更大的风险。通俗地说,Docker使用多租户模式是个坏主意,因为容器之间没有足够的固有隔离,无法完全确保一个用户根本无法访问另一个用户的容器。

现在有不少办法可以缓解这种风险。比如说,如果使用安全增强Linux(即SELinux,最初由NSA开发),即便Linux内核遭到危及,在容器外面肆意妄为的能力也很有限。但是完善这种办法却困难重重。

减小受攻击面

好消息是,Docker采用共享式Linux内核的架构实际上让你能够为开发的Linux应用程序大大减小受攻击面。如果你在开发并不需要多租户模式的技术(比如为银行、零售商和在线商家开发的软件),实际上可以通过采用Docker来增强安全性。

如何实现?如果你从一款为Docker开发的简约版Linux操作系统(比如开源CoreOS)开始入手,就能减少主机系统上面临的潜在攻击途径。CoreOS摈弃了Linux的大多数特性和功能,包括apt-get和yum之类的程序包管理器。要是不使用Docker,就很难将外部代码安装到CoreOS上。比如说,如果你想要安装Apache,就必须通过拉取里面有Apache的Docker容器才能安装上去。

这个要求减少了一系列受攻击面,因为无意中在Docker主机上运行不安全的代码变得极其困难。但是如果你将CoreOS与一项名为“临时映像”(sratch image)的特殊的Docker特性结合起来,安全方面的好处变得还要明显。

临时映像是最简约的Docker容器。它里面到底有什么东西呢?绝对是什么都没有。它是用一个空的打包文件创建而成的。不仅没有Apache,连二进制代码都根本没有创建。这个无二进制代码的磁盘映像概念在虚拟机上不可能实现,因为虚拟机并不共享Linux内核,这意味着虚拟机需要随带各自的二进制代码,才能正常运行。

眼下使用经过编译的Go二进制代码构建单单一套二进制代码的Docker容器方面在开展令人关注的工作。这种工作显著减小了Docker容器本身里面的受攻击面。比如说,如果你在临时映像里面运行你的应用程序代码,就没必要担心Bash Shellshock这个软件错误(bug)。那是由于你首先并不压根在容器里面使用bash命令。Linux内核本身成了唯一有可能的操作系统层面(非网络层面)的攻击途径。

为Docker化的应用程序确保安全的若干原则

如果你将CoreOS等简约的操作系统和SELinux以及临时映像结合起来,就能摈弃那些可能被人钻空子的不必要的技术。与大多数Linux发行版捆绑了大量不必要的工具不同,如果使用Docker,你就能创建经过精细调整、异常高效的基础设施集群,攻击途径比较少。

如果你将该方法与Docker公司打算未来一年推出的网络层安全特性结合起来,那么部署的Docker化的应用程序其安全性就会大大加强。

当然了,如果你在Docker里面构建的应用程序本身存在安全漏洞,这个方法没有太大帮助,而有时候,未知因素却是最让我们担忧不止的隐患。还有多少Heartbleeds和Shellshocks位于完全没有被发现的/usr/bin中呢?

布加迪编译

英文原文链接:http://www.informationweek.com/cloud/infrastructure-as-a-service/how-docker-changes-cloud-security/a/d-id/1316793

责任编辑:Ophira 来源: 51CTO
相关推荐

2019-12-25 10:30:33

云计算数据中心数据库

2010-04-20 09:22:48

云计算IT外包

2015-03-13 10:28:26

云服务云服务预算IT预算计划

2014-11-11 11:36:21

云计算云技术

2011-07-29 09:25:42

云计算灾难恢复

2023-10-18 14:15:43

人工智能云计算

2022-07-18 15:27:08

元计算

2018-02-28 11:19:41

服务器云计算公共云

2020-12-07 11:23:22

云计算混合云

2020-12-03 10:51:45

云计算混合云IT

2024-03-05 14:43:02

2019-12-18 14:39:44

云计算云安全数据

2023-01-05 16:06:17

云计算

2015-04-30 10:25:55

2015-01-13 11:34:21

云计算IaaS云网络

2019-06-02 15:59:33

云计算企业云端

2023-05-30 15:49:54

2010-07-13 09:26:09

云计算报纸

2018-09-10 21:14:48

2011-10-31 09:46:48

点赞
收藏

51CTO技术栈公众号