谈DevOps中的容器安全

【编者按】对比虚拟机,Docker在体量等方面拥有显著的优势。然而,当DevOps享受Docker带来扩展性、资源利用率和弹性提升的同时,其所面临的安全隐患同样值得重视,近日Chris Taschner在SEI上撰文进行了总结。

以下为译文

基于容器的虚拟化平台提供了一种方式在隔离的实例中运行多个应用程序。容器技术可以为DevOps提供显著的优势,包括提高系统的扩展性、资源利用率和弹性。然而除下容器与主系统完全解耦,这种使用就会存在潜在的安全隐患。因此,这篇博文主要描述了为什么系统管理员应该密切关在容器中运行应用所采纳的权限等级,以及用户访问主机系统的权限。

容器已经成为DevOps中的新热点技术。特别是Docker公司,已经成为了提供容器技术服务的领头公司。使用Docker平台,应用程序极其依赖可以被打包进一个单元,也就是所谓的镜像。随后,Docker就可以运行这个镜像的实例,每个镜像的实例都是在驻留在容器中。

Docker正成为DevOps的代名词。如果你还不熟悉容器的优势的话,概括地说,它们包括了可使用的镜像和易于使用的公共库、镜像版本,以及Docker的思想。(欲了解更多信息,请参见 devops.com上的Three Reasons We Use Docker)。

在谈到大小时,容器具有很多优势。不像虚拟机,一个容器不需要运行整个操作系统,或者对系统的硬件进行拷贝。容器仅仅只需要足够的操作系统和硬件信息资源来运行它负责托管的应用。所以,容器所消耗的资源比虚拟机小很多,因此同一主机上可以跑的容器肯定比虚拟机多。

而在最小化需要运行的容器上,开发者需要做好足够的权衡。其中一个就是减少容器与系统之间的分离度。与此相反,虚拟机与主机的分离性比容器的更高。Docker用户需要root用户权限去运行容器,如果Docker用户不知道容器中运行的是什么,这可能会引发问题。通常,那些repository都是未经过审核的,这意味着任何人都可以创建和上传镜像。显然,对从互联网上下载下来的容器给以太多的信任会引发安全问题。

共享命名空间的问题通常是Docker的最大问题。命名空间是系统内核所创建的组,它通常会为不同源和区域指定不同的访问级别。而究于扩展性,在Docker中并没有为容器提供不同的命名空间——倘若有数百个容器在运行,那么每个容器都需要有独立的命名空间。而且,如果一个容器想要共享存储,那么所有共享这个存储的命名空间必须使用显式访问。

在回应有关Docker的安全问题时,这里详细讨论了如何缓解Docker的安全问题。缓解方法的建议包括了限制直接访问主机和在容器中运行应用的权限。

除了Doker容器的安全指导,还有其它在确保容器安全方面的建议。共享命名空间的一个潜在解决方案是使用Seccomp,它是一个进程处理工具。Daniel Walsh 在opensource.com上详细地介绍了这项工作。

管理员必须清楚容器中运行的究竟是什么。从互联网上下载来的镜像应该仔细审核,然后才在敏感的环境中运行。一般规则,不像字面意义,容器不应是包含在容器内运行的应用程序。

原文链接:Container Security in DevOps(翻译/OneApm工程师,责编/仲浩)

原文发布于微信公众号 - CSDN技术头条(CSDN_Tech)

原文发表时间:2015-08-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

利用Docker开启持续交付之路

持续交付即Continuous Delivery,简称CD,随着DevOps的流行正越来越被传统企业所重视。持续交付讲求以短周期、小细粒度,自动化的方式频繁...

4105
来自专栏跟我一起学Docker

第九章 Kubernetes一撇

https://www.aliyun.com/solution/kubernetes/index

1134
来自专栏云计算

Docker带来的五大益处:CI,版本控制,可移植性,隔离性和安全性

Docker的跨环境一致性在开发界已经获得了广泛认可。通常情况下,开发阶段和正式发布的环境之间总会有细微的差异。除非你拥有自己的私有仓库,并严格检查。这些差异可...

3689
来自专栏CSDN技术头条

Docker 1.9版本修复互联和存储的缺陷

Docker 1.9发布了,并且它修复了Docker用户长期以来的顽疾:互联(Networking)。 Multi-Host Docker Networking...

1927
来自专栏云加头条

【干货合集】Docker快速入门与进阶

Docker 在众多技术中,绝对是当红炸子鸡。这年头,如果你不懂一点容器,不学一些Docker,还怎么出去跟人炫耀技术?Docker 也是云计算技术中较为热门的...

11.6K7
来自专栏云计算D1net

8个你可能不知道的Docker知识

自从上世纪 90 年代硬件虚拟化被主流的技术广泛普及之后,对数据中心而言,发生的最大的变革莫过于容器和容器管理工具,例如:Docker。在过去的一年内,Dock...

3705
来自专栏农夫安全

浅析Docker的基础和应用场景

1、什么是LXC LXC为Linux Container的简写。Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资...

40912
来自专栏写代码的海盗

Docker学习总结之docker介绍 Why Docker?About this guide

About Docker 以下均翻译自Docker官方文档 ,转载请注明:Vikings翻译 Develop, Ship and Run Any Applica...

2615
来自专栏我是攻城师

8 个你可能不知道的 Docker 知识

3003
来自专栏Cloud Native - 产品级敏捷

微服务架构 (一): 微服务架构的核心概念

微服务设计不应是一个讲求标准答案, 简单粗暴的设计过程。而应该是一个考量各方因素下的一个决策的过程。

2759

扫码关注云+社区

领取腾讯云代金券