从Docker容器漏洞谈Docker 安全

岑义涛 发表于:14年07月01日 13:19 [转载] DOIT.com.cn

  • 分享:
[导读]由于Docker的轻量,快速等等优点,让Docker在PaaS领域愈发火热,自然也就吸引了安全人员对其进行研究。这篇文章无疑将Docker推进了一个新纪元:放开应用,想想安全。

从Docker容器漏洞谈Docker 安全

近日,一篇在Docker博客上发表的文章显示,Docker的容器已经被突破,并且能够遍历宿主机的文件了。由于Docker的轻量,快速等等优点,让Docker在PaaS[注]领域愈发火热,自然也就吸引了安全人员对其进行研究。这篇文章无疑将Docker推进了一个新纪元:放开应用,想想安全。

不要给用户root权限

该文章的作者强调:只有在容器内以 root 权限运行不受信任的应用程序,才有可能触发这个漏洞。而这是我们不推荐的运行 Docker Engine 的方式。

这句话可以分两个层次来解读,首先就是root权限的使用,其次是何为不受信任的应用程序。

Docker并不是虚拟机,Docker本来的用法也不是虚拟机。举个简单的例子,普通的虚拟机租户root和宿主root是分开的,而Docker的租户root和宿主root是同一个root。一旦容器内的用户从普通用户权限提升为root权限,他就直接具备了宿主机的root权限,进而进行几乎无限制的操作。这是为什么呢?因为Docker原本的用法是将进程之间进行隔离,为进程或进程组创建隔离开的运行空间,目的就是为了隔离有问题的应用,而进程之间的限制就是通过namespace和cgroup来进行隔离与配额限制。每一个隔离出来的进程组,对外就表现为一个container(容器)。在宿主机上可以看到全部的进程,每个容器内的进程实际上对宿主机来说是一个进程树。也就是说,Docker是让用户以为他们占据了全部的资源,从而给用户一个“虚拟机”的感觉。

第二,何为不受信任的应用程序?来源不明的应用程序,或者二进制代码等等,以及有漏洞的应用程序,都可以称为不受信任的应用程序。举个例子,在Docker容器中只运行基础的Apache服务器和MySQL数据库,可能大家认为这样的环境用root也没问题,但是如果Apache或者MySQL有不为人所知的漏洞被利用,那么这两个应用也就成为了不受信任的应用。因此在以root运行应用程序,或是在考虑安全环境的时候,需要以一切皆不可信的态度来对Docker环境进行安全加固。

[责任编辑:dajun]
提到购买服务器,第一个要问的问题是:你真正需要的是什么?是否你已经做了决定?还是有其他人给你指派了任务?对于IT部门来说,购买服务器可能需要一个较长的采购周期。有许多种类型,模型和选择,包括刀片中心,独立楼模型,1U机架底座,如果你考虑虚拟化或者基于云服务的环境的话,就更不用说了。
官方微信
weixin
精彩专题更多
存储风云榜”是由DOIT传媒主办的年度大型活动。回顾2014年,存储作为IT系统架构中最基础的元素,已经成为了推动信息产业发展的核心动力,存储产业的发展迈向成熟,数据经济的概念顺势而为的提出。
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
联想携ThinkServer+System+七大行业解决方案惊艳第十六届高交会
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技术有限公司 版权所有.