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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文讲的是在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

相关文章
|
3天前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
24 5
|
5天前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
4天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
13 1
|
10天前
|
持续交付 开发者 Docker
Docker容器化技术实战指南
Docker容器化技术实战指南
26 1
|
1天前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
6 0
|
7天前
|
持续交付 开发者 Docker
掌握Docker容器化技术,加速软件开发与部署
掌握Docker容器化技术,加速软件开发与部署
22 0
|
9天前
|
Java Docker 微服务
利用Docker容器化部署Spring Boot应用
利用Docker容器化部署Spring Boot应用
34 0
|
2月前
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
|
1月前
|
安全 Shell Linux
docker进入容器命令
docker进入容器命令
|
2月前
|
应用服务中间件 Shell nginx
Docker容器操作基础命令
关于Docker容器操作基础命令的教程,涵盖了从启动、查看、删除容器到端口映射和容器信息获取的一系列常用命令及其使用方法。
100 14
下一篇
无影云桌面