Docker安全性分析及安全防护

Docker安全性分析及安全防护李俊灏【摘要】伴随着云计算的发展,Docker容器技术以其轻量级和高性能的优势迅速取得了广泛的市场应用。Docker具有共享内核的特性,这带来了一些安全上的问题。本文从安全隔离、资源限制、内容信任和内核安全防护四个维度对Docker的固有安全特性进行了阐述,分析实际应用过程中可能存在的七大安全风险,并提出针对性的防护建议。【关键字】虚拟化;容器;Docker;安全;风险;威胁;安全防护:TP309:A:2095-2457(2019)20-0240-002DOI:10.19694/jki.issn2095-2457.2019.20.1120引言近年來,伴随着云计算的迅猛发展,虚拟化技术得到了广泛的应用,以满足云计算环境对密集计算、灵活扩展以及安全可靠的需求。当前主流的虚拟化技术可以分为两类,分别是基于虚拟机的虚拟化技术(hypervisor-based)和基于容器的虚拟化技术(container-based)。相较而言,虚拟机技术在安全隔离方面更胜一筹,而容器技术则具备轻量而高效的优势。Docker开源容器项目在2013年一经推出便备受瞩目,短短几年里迅速成为了容器虚拟化领域的主流方案。本文从安全角度出发,详细分析了Docker本身的安全特性,并对可能存在的安全风险提出了针对性的安全防护建议。1Docker概述Docker致力于提供一整套从开发、交付到运行的一体化应用解决方案。Docker的成功绝非偶然,2013年Docker项目启动的时候,容器技术已经有了十余年的发展,在前辈LXC(Linuxcontainer)的基础上,Docker带来了全新的特性:提供了能够简单而安全的创建和控制容器的接口,提供了一次打包、随处运行的便利,实现了相比其它技术更高的硬件资源利用效率,以及与第三方工具配合工作以简化管理部署流程的能力。Docker基于CS架构设计,主要组件包括Dockerclient、Dockerdaemon、Dockerregistry三部分。Dockerdaemon是Docker的功能核心,它负责侦听DockerAPI请求并管理Docker对象,比如镜像(image)、容器(container)、网络和卷(volume)。一个Dockerdaemon还可以与其它Dockerdaemon通信来实现服务管理。Dockerclient是Docker为用户提供的操作接口,可通过该接口输入命令完成对镜像、容器、仓库的操作。一个Dockerclient可同时与多个Dockerdaemon进行通信。Dockerregistry用于存储Docker镜像。DockerHub是一个公开的Dockerregistry,默认配置下,Docker会在DockerHub上查找所需的镜像。通过使用DockerDatacenter(DDC)内含的DockerTrustedRegistry(DTR)组件,任何人都可以搭建私有的Dockerregistry。2Docker安全特性2.1安全隔离虚拟化技术在多租户环境下必须首先解决安全隔离的问题,Docker借助Linux内核的namespace(命名空间)功能和Cgroups机制来实现安全隔离。以下从进程、文件系统、设备、进程间通信(IPC)、网络等5个方面来评估Docker安全隔离的实现程度。2.1.1进程隔离Docker通过PIDnamespace来实现进程隔离,从而让运行中的容器无法感知到运行在其它容器或者宿主机上的进程。PIDnamespace具有层次结构,父namespace可以感知到子namespace中的进程,反之或平级之间则不行,这就保证了宿主机系统进程可以控制容器进程,但容器进程却无法感知宿主机或者其它容器上的进程。另外,容器中的进程编号(PID)都是独立的,这样每个容器都可以有PID为1的类init进程,当发现异常时,只要管理员结束掉这个类init进程,这个容器就被彻底的关闭了。2.1.2文件系统隔离Docker通过mountnamespace来实现容器间的文件系统隔离,让各个容器以及宿主机上的文件系统挂载操作保持独立且互不干扰。但需要注意的是,为了保证容器内的正常操作,宿主机上的一些特殊目录(例如/sys、/proc/sys、/proc/sysrq-trigger、/proc/irq以及/proc/bus等)并不受namespace限制,换句话说,容器内可以直接访问这些宿主机目录。为了降低该问题导致的风险,Docker做了两点限制:(1)容器对这些特殊的目录没有写入权限。(2)移除容器的CAP_SYS_ADMIN能力,从而使容器内无法重新挂载这些特殊目录。此外,由于多个容器可以共用同一个镜像,每个容器在运行过程中都会生成私有的数据,为了最大化的重用资源,Docker使用了COW(写时拷贝)技术和unionFS...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?