在Docker上部署容器时应考虑的安全风险

简介: 本文讲的是在Docker上部署容器时应考虑的安全风险,被称为容器的操作系统级虚拟化实例平台,已成为超级流行的基础设施技术。灵活的容器化,完全改变了我们大规模部署和维护应用的方式,其中大企业市场是关键驱动因素。

本文讲的是 在Docker上部署容器时应考虑的安全风险,Docker——被称为容器的操作系统级虚拟化实例平台,已成为超级流行的基础设施技术。灵活的容器化,完全改变了我们大规模部署和维护应用的方式,其中大企业市场是关键驱动因素。

image

4月底,Docker首席执行官本·格鲁布在DockerCon大会上发言,分析用户体验和经验教训,庆祝该平台巨大的成功。如今,所有容器开发中有1/3都在生产环境中完成,大多以成百上千台主机上线的形式呈现。

事实上,涉及容器化,大公司往往身先士卒;云监视公司Datadog发现,过去1年里Docker采用率上升了40%。

今天不断变化的技术格局里,除了积极面与成长势头,我们不能忘记的一个核心重点是:信息安全。想要保护你的容器部署,以下5个潜在威胁和策略可以参考。

容器的顾虑

  1. 恶意及脆弱镜像

Docker Hub 注册表托管着超过10万个公共容器资源库,免费的。比如说,搜索WordPress,会得到官方(也是必须下载的)资源库,但还有许多修改版。

这是因为,任何人都可以在 Docker Hub 上发布新资源,所以,在部署前一定要确保熟悉项目维护者。从虚假源执行未经测试的版本,可能会导致主机不稳定,非故意引入脆弱组件,甚或恶意代码执行。

就替代方案来说,目前崭露头角的是官方Docker商店和“认证”项目,可以提供一系列万无一失的部署就绪包。Hub上的付费计划,主打“安全扫描”工具,可检查镜像中的已知漏洞;可信第三方也能提供内置资源库扫描的自有容器注册表。

  1. IAM突破

身份和访问管理与现代云技术紧密相关。Gartner专业词典解释称:

IAM是让正确的人,在正确的时间,以正确的理由,访问正确资源的安全守则。它解决的是日趋异构的技术环境中,确保合理访问资源的任务关键需求。
云提供商,比如AWS,旨在默认提供强化的IAM角色架构。这些可与弹性计算云(EC2)同时使用,或应用到另一提供商实现上,以确保用户根据最小特权原则分配到恰当的访问权限。

部署私有容器或内部开发的容器时,另外的IAM考虑,源自确保自身注册表受到充分保护。双因子身份验证和单点登录,可支持你的安全环境并帮助拦截恶意人士。

  1. 过量资源使用

一般情况下,Docker容器没有资源限制。因此,不受限制地积极部署容器,可导致主机性能严重下降。要对内存、带宽和磁盘使用(块I/O)设限,以便缓解性能问题——这有可能是恶意代码(比如DoS代码执行)或主机错误配置引起的。

  1. 容器突破

侵入某个容器的黑客不应该能横向移动到其他容器或Docker主机。然而,Docker发展迅速,提权漏洞亦可能出现。所以,要谨慎打造基础设施,时刻谨记分层深度防御方法。

尽管只影响用root权限运行容器(不推荐)的用户,但请考虑Docker引擎0.11容器突破的例子。概念验证代码在2014年6月18日公布,并很快由Docker团队公开透明地解决了。

顺便提及,Docker支持安全漏洞的负责披露。所以,如果你掌握了影响Docker产品或服务的漏洞信息,请联系security@docker.com。

  1. 编配安全

虽然此文围绕Docker容器安全展开,编配(Orchestration)平台及其组件的安全防护措施也必须要做好的。编配涉及任务管理与自动化,比如容器集群与调度,公司企业往往诉诸Kubernetes和Mesos之类的工具来有效管理。

原文发布时间为:七月 18, 2017
本文作者:nana
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛。
原文链接:http://www.aqniu.com/learn/26722.html

相关文章
|
2月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1121 4
|
2月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
156 5
|
2月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
2月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
816 7
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
503 5
|
2月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
237 6