关于容器安全的六大误解

现在很多企业仍褒有传统虚拟化技术比容器技术更为安全的想法。曾经在全球化学公司 500 强 Albemarle 公司任职首席信息安全官,目前在 Twistlock 任职 CTO 的 John Morello 表示,他撰写此文来揭开有关容器技术安全方面的很多错误认知,并且让读者将目光聚焦在企业真正应该关心的问题之上。

Myths-myth-facts-fact-e1449655475369

误解一:容器也能越狱(jailbreaks)

越狱听起来很吓人,但是现实中却很少发生。多数攻击是专门攻击应用的,如果已经入侵应用,又何需越狱呢?其实企业需要关心的问题是:明确黑客发起攻击的具体时间,以及系统是否已遭到攻击。

误解二:只有解决了多租户问题,容器才可以用于生产环境

没有一家企业真的因为多租户问题而困扰。其实,只要将应用拆分为多个微服务,并且将其部署在虚拟机里,问题即刻化解。

误解三:凭借防火墙就可以保护容器应用

容器应用经常在几秒内就会切换所在主机,甚至在有效负荷(payload)加密传输的状况下,防火墙都可以说是毫无用武之地的。容器安全性最终还是仰赖于对应用的感知力以及开发者的安全意识。

误解四:端点安全是一个保护微服务的有效方式

端点安全虽然很适合保护笔记本电脑、PC 以及移动装置,但是端点安全并不是为保护微服务而生。事实上,他们在针对微服务攻击时显得毫无用处。端点安全无法介入 Docker runtime 以及容器编排。

误解五:使用 Dockerfiles 的 FROM 指令加上 latest 参数就能取得最新版本

漏洞管理并非如表面上简单,源镜像(Source images)不一定永远都会随着项目更新。即使你使用了最新的镜像基础层,镜像中可能还有几百个组件并没有包含在你的基础层包管理器之中。由于环境变化频繁,传统的补丁管理方法基本没有什么效果。

为了解决这个问题你可以:

1)在持续集成(CI)的流程中找到漏洞

2)一开始就使用 quality gates 来阻止那些不安全或者不兼容的镜像进行部署

误解六:无法分析容器中的恶意行为

容器行为可以监控。有以下几个方法:

1)容器是声明式的:容器 manifest 详细描述了容器的行为,可以用来转换成一份安全配置文件。

2)容器是可被预测的:开发者常会把几个知名的软件组件组合成容器微服务来执行,容器部署比虚拟机部署更有规则可循。

3)容器是不可变的:容器只有在更新程式时才改变,一旦发现容器运作行为有变化,不是配置发生了变化,就是遭受了攻击。

作者介绍 | John MorelloJohn Morello 目前在 Twistlock 任职 CTO,主要负责维护战略客户和合作伙伴关系,并制定产品路线图。他还曾经在全球化学公司 500 强 Albemarle 公司任职首席信息安全官,并在微软的咨询服务部门和产品团队工作过 14 年。

Leave a Reply

Your email address will not be published. Required fields are marked *