



全文预览已结束
付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Docker技术的安全性研究综述? 【摘要】 Docker是一种基于Linux内核的开源容器引擎,其关键技术主要有两个方面:一是Linux容器方面的技术;二是Docker镜像技术。所以Docker技术的安全性取决于保障容器安全的安全机制和Docker镜像的安全。主要从Docker所依赖的安全机制及Docker镜像安全两个方面来阐述Docker技术的安全性能。 【关键词】Docker;安全机制;镜像;安全性 引言 Docker是一种基于Linux内核的开源容器引擎,能够实现操作系统级别的虚拟化。自2013年诞生以来,Docker凭借其轻量、快速以及“application-centric”的概念迅速成为IT界的宠儿,并逐步在DevOps领域大展身手。 Docker能够提供轻便高效的虚拟环境,让运维人员无须考虑系统环境而专注于隔离的进程,大大降低管理成本及开发人员的交付成本。面对Docker所潜藏的巨大商业价值,美团、京东等商业巨头都纷纷向Docker迁移。如果使用Docker时安全策略不当时,可能会使系统处于安全威胁之下。因此Docker安全性是影响其能否应用于生产环境的关键因素。 1.Docker简介 Docker是一种基于LXC的操作系统级的虚拟化技术,能够实现秒级启动含有较完备隔离环境的容器。在提倡开发与运维协调并进的今天,Docker成为DevOps潮流中引人注目的法宝。Docker整合了联合文件系统的优势推出独树一帜的镜像技术来打包系统环境和软件程序,实现应用程序和所依赖的运行环境的灵活结合。以镜像的转移、重构实现开发、运维的环境一致,从而为开发者和系统管理者提供了分布式应用的开放平台来便捷地构建、迁移与运行分布式应用。 Docker是基于Go语言编写的云开源项目,并遵循了Apache2.0协议。如今的Docker可谓是备受青睐,例如微软、IBM、Google等云服务提供商都已经支持Docker。在国内,更大企业也逐步向Docker迁移,例如我们熟悉的京东、迅雷、美团等。 2.Docker安全性 Docker直接复用本地主机的操作系统,运行在容器中的进程与运行在本地主机的进程几乎没什么差别,因此采用的安全策略不恰当可能会使本地主机处于安全威胁之下。由于Docker的关键技术主要有两个方面:一是Linux容器方面的技术,二是Docker镜像的技术。因此下文主要从Docker所依赖的安全机制和Docker镜像安全这两方面进行安全性分析。 2.1 Docker所依赖的安全机制 2.1.1Linux命名空间(Namespace) Namespace用于实现操作系统的资源隔离,为进程提供不同的命名空间视图。Namespace隔离的资源包括进程在运行期间所依赖的周边环境和所访问文件系统,例如网络系统、IPC资源等等。过去由于容器内部的root和宿主机上的root的UID都是一致,意味着若一个容器被攻破并进行权限提升攻击,便会危及宿主机及其他容器的安全。而在今年二月推出的Docker 1.10.0当中,Docker完成了对User Namespace的支持,解决了上述问题。这可以说是Docker在安全性方面到达的一个里程碑。User Namespace能够在保证用户在容器内拥有root权限的前提下,利用UID:GID保证对应的用户/群组在容器之外处于非root状态,从而区分开主机root用户和容器root用户。 截止到目前,Docker已经完成对6个Namespace的支持,分别是PID Namespace、IPC Namespace、Network Namespace、MNT Namespace、UST Namespace和USER Namespace。分别实现了进程隔离、管理进程间通信资源、管理网络接口、管理挂载点、隔离内核和版本标识、管理用户组。 2.1.2Linux控制组资源控制(Cgroups) 拒绝服务(DDoS)是一种在多租户系统中最常见的攻击,一个进程或一组进程试图消耗系统的所有资源,从而扰乱正常其他进程的操作。为了防止这种攻击,应该尽可能地限制被分配给每个容器的资源。 Cgroups便是Docker用于处理这一问题的关键,它负责实现资源的审计和控制,以确保每个容器可以公平地分享资源并防止任何一个容器消耗掉所有资源。同时也允许Docker对系统资源进行相关配置再分配给每个容器。这项机制在多租户平台上尤其重要,例如在某些容器出现异常的时候,可以保证本地主机和其他容器不受干扰。 2.1.3Linux内核能力机制(Capability) 能力机制(Capability)是Linux内核本身支持的安全特性,能够在进程和文件上实现更细粒度的权限控制。由于容器大部分任务可以由主机处理,所以在大多数情况下没有必要为一个容器提供充分的root权限,为容器一些非必须的root权限并不影响容器的功能,同时能够有效地提高系统安全性。Linux的Capability机制便是依此理念来加强对权限的控管,使容器内部的root权限与容器外部的root权限产生差异,另一方面也让容器在系统管理的能力与宿主主机有所区别来解决容器的安全问题。 2.1.4其他支持Docker的安全机制 用户还可以选择启用一些现有的安全软件或安全机制加固Docker安全,例如AppArmor、SELinux、Seccomp等。Docker支持多重安全机制叠加使用的“组合拳”方式,这些安全机制、软件虽出发点不同却能共同保护Docker,甚至实现相互保护。通过使用AppArmor,用户能够借助配置文件对功能进行限制。配置文件可以实现极佳的控制粒度,但由于编写配置文件比较耗时,这种方式并不是特别受欢迎。用于增强Linux系统安全性的SELinux是通过编写标签进程与标签对象之间的访问规则来实现安全保护。而seccomp是一种安全计算模式,它允许用户对系统调用进行筛选,实现为应用程序定制所需的系统调用,并阻止一切非必要的调用行为。要找到能够绕过所有安全隔离机制的攻击方法无疑大大增加了攻击者的攻击难度。 另外,Docker也支持用户自定义更加严格的访问控制机制来实现安全隔离,但是对容器技术所要求的安全隔离性,我们应坚持够用就好的原则,无需贪图实现完全隔离而把内核弄得太复杂。 2.2 Docker镜像安全 Docker容器是通过Docker镜像启动的,如果镜像本身含有安全漏洞或攻击者精心设计的木马,那么带来的危害可能会如病毒般迅速传播。因此,保证镜像安全是Docker生态系统中至关重要的一环。此前有调查指出,用于存储Docker镜像的官方仓库Docker Hub中有超过30%的官方镜像存在着常见的CVE安全漏洞,这一比例让Docker团队意识到需要尽快为Docker镜像机制提供安全支持。 为了保障镜像安全Docker官方推出了一项镜像扫描服务Nautilus,现在各被发布在Docker Hub中的官方镜像在正式推出前都需要进行扫描。Nautilus让用户能够更轻松高效地构建并使用高完整性的镜像。当然,用户也可以选择其他的扫描工具,例如ClairCoreOS最近发布的一款开源容器漏洞扫描工具。运用该工具可以交叉检查Docker镜像的操作系统以及操作系统上所安装的包是否与已知不安全的包版本相匹配。其中,用来进行匹配的漏洞是从特定操作系统的通用漏洞披露CVE数据库中获取的。 另外,Docker在1.8.0版本中推出了一项新功能Docker Content Trust(DCT)来帮助用户检测Docker的安全性。在发布者第一次推出镜像的时候,DCT能够创建和存储客户端。DCT还可以验证Docker应用是否是可信的,并具备多种方法去限制欺骗攻击和病毒注入。在一个实验中,有一个网站在更新过程中Web App被黑客攻破了,但当DCT功能启动后,这个黑客行为便难以得逞了,可见DCT实力非凡。 而今年2月Docker 1.10发布,实现了Docker镜像的全球唯一性,镜像的安全和存储效率达到一个新的高度。虽说使用无关镜像覆盖Docker Registry中已有镜像的情况依旧无法杜绝,但是攻击者想要篡改Docker镜像的某层难度大大增加。即便完成了镜像层文件系统内容的修改,仍需完成镜像内容SHA256 checksum值的计算,而hash值的改变必然会造成原有镜像签名失效。Docker镜像的安全审计工作让Docker镜像的篡改门槛越来越高。 3.总结 总体来说,Docker镜像管理机制日趋成熟,Docker处于Namespace、Cgroups、Capability以及Apparmor、SELinux等多重安全机制的保护下,只要用户合理地进行安全加固,Docker在安全性上完全可以达到商用标准,关于这一点新浪、迅雷等众多企业已用实践证明。目前Docker应用存在的大多数安全问题都是源于用户不合适的设计和安全意识的缺乏,在应用Docker的过程中应注意以下几方面问题: (1)确保自己运行的镜像是从可信来源下载的最新版本,且其中不包含任何存在已知安全漏洞的软件版本。 (2)明确容器所提供的隔离性并不是完全隔离,需确保运行在容器中的应用是安全可信的,为此应加强对应用的定期安全审查。 (3)采用合适的专业工具或者依据自身需求设计监控管理工具来维护Docker容器的“健康”。实现容器状态实时监控、自动扫描漏洞、容错处理等。 (4)在容器网络上采取必要的安全防护,以此减少DDos攻击、A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【教案版】小学四班级下册 跳跃2
- 中国舞蹈音乐教学课件
- 2025年船舶驾驶员适任考试模拟题与答案解析
- 2025年行政主管招聘面试预测题及实战演练指南
- 2025年制造业招聘面试模拟题及答案详解手册
- 2025年护士执业资格考试实操技能部分要点梳理及模拟题
- 初中数学教学设计及课件
- 2025年钎焊工艺考试重点及应试技巧
- 会演戏的玩具教学课件
- 申通快递安全知识培训课件
- 助产专业介绍
- 2025年职业卫生培训试题及答案
- 工程项目招投标流程及风险防控措施
- 《电机与拖动基础》课件(共十一章)
- 民宿合伙协议书范本
- 医学检验质量培训
- 2025年洛阳理工学院招聘硕士研究生学历专任教师考试笔试试题(含答案)
- 新学期教学工作会议上校长讲话:把功夫下在课堂里把心思放在学生上把质量落到细节中
- 愚公移山英文 -中国故事英文版课件
- NBT-4701焊接工艺评定中英文格式-填写范本-20
- 远洋航线设计、航法及气象导航
评论
0/150
提交评论