Docker容器服务需要牢记的五个问题|资讯

关键词:Docker,容器服务

进入2015年,容器技术突然开始变得炙手可热,特别是随着Docker的出现,更是将容器技术推向了顶峰,甚至让人有一种错觉——容器技术就等于Docker!

什么是容器?简单来说,它是一种虚拟技术,可提供隔离的,独立的运行环境,支持资源管控,支持基于镜像运行(具备分层构建、只读、独立运行等特性)……等。也就是说,与虚拟机相比,容器是相互隔离的,但共享OS甚至是某些库,因此可以更高效的进行资源利用,同时容器轻量级的特性,也使其可以更快速的部署和启动,即可实现快速迭代;此外值得一提的是,容器可以适用于任何微服务(Microservices)场景。

而具体到Docker容器来说,其具备快速、灵活的特性,可实现高资源利用率;同时具备统一的镜像格式和部署方式,即“Write Onec,Deploy Anywhere”;当然,更为重要的是,Docker拥有强大的社区资源,在这个“开源为王”的时代,这是Docker最大的价值,也是其持续火热的关键因素。

微软对Docker的集成

面对越来越多火热的Docker,微软自(必)然(须)积极拥抱,所以微软对其进行了战略性投资,并通过合作共同开发Windows Server容器(可实现两种隔离),扩大Docker生态圈,旨在推动容器的进一步发展。具体来说包括:

Docker Hub:与微软Azure Gallery和管理门户集成,让选择Docker镜像与选择虚拟机镜像一样容易;

Docker引擎:Windows Server版Docker引擎正在Docker开源项目的支持和指导下进行开发;

Docker客户端:Windows用户可以使用标准的Docker客户端指令和API。

还有更精巧的Windows Server容器

在Windows Server容器家族还有一位特殊的成员,它就是Nano Server,其专为云和容器而生,无界面,仅支持远程管理,可谓是“小而精”的Windows Server容器。其具备更快速、更节能、更稳定、更安全的特性,并且所包含的功能支持Windows Server API,可适用于多种应用。

容器服务:简化容器集群的管理和调度

随着容器的火热,容器集群不断涌现,这也催生了容器集群管理和调度的新需求。为此,微软容器服务(Container Service)。其通过ARM模板,可一键部署包含Docker Swarm,Marathon和Chronos支持的Apache Mesos集群;与此同时,Azure的超扩展性可与领先开源集群技术完美结合;此外,其将支持Linux和Windows Server容器,以及公有云和私有云。

安全地使用Docker方案,大家首先需要了解其面对的潜在安全问题,并掌握能够对基于容器之系统加以切实保护的各类主要工具与技术。

大家还需要随时牢记以下五个问题,并在利用Docker承载关键性任务应用程序的整个流程当中秉承这种谨慎的态度。

内核漏洞

与虚拟机系统不同,全部容器及其主机使用的都是同一套共享内核,因此该内核中存在的任何安全漏洞都有可能造成巨大影响。如果某套容器系统导致内核崩溃,那么这反过来又会造成整台主机上的全部容器毁于一旦。在虚拟机当中,情况则要好得多:攻击者必须借道虚拟机内核与虚拟机管理程序之后,才有可能真正接触到主机内核。

拒绝服务攻击

所有容器都共享同样的内核资源。如果某套容器能够以独占方式访问某些资源——包括内存以及用户ID等其它更为抽象化的资源——那么与其处于同一台主机上的其它容器则很可能因资源匮乏而无法正常运转。这正是拒绝服务攻击(简称DoS)的产生原理,即合法用户无法对部分或者全部系统进行访问。

容器突破

能够访问某一容器的攻击者在原则上应该无法借此访问到其它容器或者主机。在默认情况下,用户并不具备命名空间,因此游离于容器之外的任何进程都将在主机之上获得与容器内相同的执行权限; 而如果大家在容器内拥有root权限,那么在主机上亦将具备root身份。这意味着大家需要对这种潜在的权限提升攻击做好准备——这类攻击意味着用户往往通过应用程序代码中需要配合额外权限的bug实现权限提升,从而使攻击者获得root或者其它级别的访问与操纵能力。考虑到容器技术目前仍处于早期发展阶段,因此我们在规划自己的安全体系时,必须要将这种容器突破状况考虑在内。

含毒镜像

那么我们要如何判断自己使用的镜像是否安全、是否存在篡改或者其宣称的来源是否可靠?如果攻击者诱导大家运行由其精心设计的镜像,那么各位的主机与数据都将处于威胁之下。同样的,大家还需要确保自己运行的镜像为最新版本,且其中不包含任何存在已知安全漏洞的软件版本。

违规之秘

当容器面向某数据库或者服务发起访问时,其往往需要某种秘密因素加以配合,例如API密钥或者用户名加密码。能够获取这些秘密因素的攻击者自然会将触手伸向对应服务。这类问题在微服务架构当中往往更为严重,因为在此类环境内各容器会频繁中止与启动,因此受到的威胁远高于一般而言运行周期更长且数据较少的虚拟机系统。

原文发布于微信公众号 - 人称T客(Java_simon)

原文发表时间:2016-08-10

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ImportSource

Docker架构里那些名字背后的秘密

Docker作为一个linux平台上一款轻量级虚拟化容器的管理引擎。在短短的两三年内火得不得了。人人都在说docker,大大小小的容器summit。 Docke...

3925
来自专栏漫漫深度学习路

pytorch: 如何优雅的将 int list 转成 one-hot形式

虽然 pytorch 已经升级到 0.2.0 了,但是,貌似依旧没有简单的 api 来帮助我们快速将 int list 转成 one-hot。那么,如何优雅的实...

56610
来自专栏达摩兵的技术空间

docker入门学习(1)

1、简化程序: Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docke...

1072
来自专栏编程坑太多

『中级篇』Docker-cloud介绍(54)

PS:以上这个图就是以后咱们通过docker需要实现的流程,也是目前很多大型互联网公司的流程。重要信息:Docker云集群和应用管理服务将会在五月廿一日关闭。用...

1323
来自专栏北京马哥教育

利用Docker开启持续交付之路

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

3895
来自专栏大魏分享(微信公众号:david-share)

如何将Openshift对接CloudForms云管平台?

Openshift对接云管平台的目的 Openshift是红帽一款优秀的PaaS解决方案。目前国内的行业客户,如金融、电信、制造等,在云平台的构建上,逐渐从Ia...

4125
来自专栏大魏分享(微信公众号:david-share)

容器生产落地需要考虑的几点因素

前言: 本文是笔者与同事陈耿共同完成,不代表任何官方观点。 随着容器技术的持续发酵,以及互联网+应用的持续扩张,目前金融行业使用容器云上生产的案例越来越多。在本...

3584

在任何地方部署Kubernetes

容器提供了将应用程序及其依赖关系与操作系统解耦的能力。通过与虚拟机镜像相同的不打包操作系统的方式,容器可以节省大量的系统资源:计算,内存和磁盘空间。容器的下载,...

22510
来自专栏有趣的Python

第1章 容器技术和Docker简介

虚拟机和容器的区别。创建虚拟机,不同应用在不同虚拟机内进行隔离。容器技术进行隔离。 不需要虚拟化这一层虚拟的操作系统,只需要在本地操作系统之上。

2845
来自专栏zhangdd.com

Docker简介

Docker是开源项目。Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotCloud公司。Docker自开源后受到广泛的关注和讨...

1942

扫码关注云+社区

领取腾讯云代金券