容器及其内容的安全性
发布日期:2016-2-2 20:2:5
【51CTO.com快译】随着企业越来越多转向容器技术以改进自身应用交付能力与敏捷性,容器及其内容的安全性影响也开始受到愈发严格的审查。 容器供应商Docker、红帽以及其它企业正在积极行动,旨在就安全性相关顾虑进行市场安抚。去年8月,Docker在最新推出的Docker 1.8版本当中提供Docker Content Trust功能。其利用加密机制对运行在Docker用户软件基础设施之内的代码及软件版本进行保护。这一设计思路旨在保护Docker用户免受恶意后门的侵袭,具体包括共享应用镜像以及其它潜在安全威胁。 Docker Content Trust专注于实现所交付Docker容器内容的一致性。最终,其会利用加密签名进行Docker镜像部署,这套方案亦适用于Linux内核开发并为众多嵌入式系统开发商及OEM厂商所选择,旨在确保只有经过签名的镜像才能够进行启动(例如三星KNOX Android代码)。 然而,这也只是容器安全的惟一一道屏障。换言之,我们在保障整套镜像免受安全漏洞威胁方面面临着严峻挑战。若企业无法确保软件堆栈与应用组合远离已知威胁、有漏洞开源软件源代码版本等因素,那么上述举措只能作为部分解决方案而非真正搞定问题。若没有这种开源清理机制作为辅助,我们所使用的代码将始终同其刚刚被开发出时一样——其中包含着大量存在于开源组件内的安全漏洞。 一种更为全面的容器安全实现方式 我们需要的是利用可靠的开源技术选项、用户与开源代码集成警惕性以及代码持续维护工作。而最重要的是了解自己的代码内容,因此我们无法管理自己看不到的事物。 对容器内部代码具备可审视能力对容器安全来说至关重要,其甚至是决定容器自身是否安全的先决条件。新型安全漏洞正被不断发现,而这些漏洞都会给开源组件各前期版本造成影响。因此,从构建及部署工作之初就确保其中不存在安全漏洞可谓至关重要,但单纯做到这一点还远远不够。保护容器内容在困难程度上同保护其它软件堆栈安全性并无区别,其惟一的特性就是我们该何时以及如何在容器开发与部署完成之后继续保持对其可查看能力。 容器带来的安全风险具体取决于通过容器所访问之数据的敏感性程度以及容器部署的具体位置,例如在防火墙之后抑或是面向互联网。 面向互联网的Web与云应用已经成为网络犯罪活动的主要目标,而且明显代表着最可怕的潜在风险。作为一类公开攻击面,它们会受到各种攻击活动的侵扰,包括跨站点脚本、SQL注入以及拒绝服务等等。考虑到开源框架与其它云/Web应用组件的大规模普及,通过开源清理工作对这些组件当中的安全漏洞进行处理能够显著提升安全性水平。 为什么开源清理如此必要 随着开源软件在企业环境中不断普及,再加上最近高曝光度开源安全漏洞的大量出现,如今开源清理已经成为实现安全需求并建立强大应用安全战略的一类重要组成部分。正如医疗卫生领域注视清理感染源,开源清理工作亦着眼于代码源头,旨在确保软件堆栈及应用程序组合当中所使用的开源代码不受已知可利用漏洞的影响。这一点对于容器乃至整套软件堆栈中的各个元素都非常重要。 任何类型的软件当中都必然存在着安全漏洞,开源代码自然也不例外。检测并解决开源项目中的安全漏洞正变得愈发重要,特别是在Heartbleed以及Freak两大高关注度安全漏洞曝光以来,很多企业已经开始将开源代码清理作为强大应用安全战略中的关键性组成部分。另外,目前众多组织机构也开始将应用程序安全以前所未有的力度同容器安全加以结合。 好消息是,对于正在开发端到端开源安全战略的企业而言,目前已经存在着大量创新型工具,足以作为理想的战术性立足点。这些工具能够对软件组合中的全部开源组成部分进行分类——从Linux、Android以及Hadoop等完整平台到个别代码组件,甚至能够一路细化到内部开发之应用代码甚至代码片段的水平。 这些扫描工具在切合企业用户需求或者被集成至软件开发流程当中后,能够提供大量重要信息供决策者参考及实施,而且完全不会拖慢或者推迟产品的上市周期。 要想实现开源清理,我们必须建立起强大的流程以实现以下几项检查工作: 1、应用程序与哪款开源软件协作运作或者一同部署 2、这款开源软件处于构建树及系统架构中的各个位置 3、该代码是否存在已知安全漏洞 4、创建一份准确的开源风险概要 5、安全担忧是否会拖慢容器普及速度? 企业组织如今之所以积极接纳容器技术,是因为其具备诸多成熟性优势:提升应用程序可扩展能力、降低部署出错机率、缩短产品上市时间并简化应用程序管理。而随着企业(如阿里云)多年来对开源项目的观点逐渐由纯粹的好奇转化为以精力需要为出发点,容器似乎已达到了类似的发展转折点。另外,正如开源代码一样,目前市场同样提出了类似的问题——安全问题是否会阻碍其进一步普及。 行业分析师们对这一问题的结论有所不同。Forrester研究公司的Dave Bartoletti认为安全问题不会显著降低容器的普及速度,甚至这类虚拟化技术的前进脚步会快于安全要求的逐步明确。“在虚拟化领域,人们无论如何都会进行部署,即使安全部门与合规性要求皆未到位,而且我认为我们在Docker身上将看到同样的迹象,”Bartoletti表示。 与此同时,451研究公司的Adrian Sanabria则认为,企业将对容器保持敬而远之的态度,直到与之相关的安全标准得以确定及建立。“实际情况是,安全已成为一大重要障碍,其直接导致很多企业根本不会尝试容器技术,直到一定程度的标准陆续出台,”Sanabria断言。而作为这种论调的另一项证明,红帽公司于2015年1月在亚太地区、欧洲、中东以及北美进行了一次调查,并发现有53%的受访者表示安全性是他们在面对容器技术采纳时最关注的方向。 为了克服这些障碍,企业应当采取更理想的行动对自身软件基础架构内的全部元素进行审视与控制,其中当然也包括容器技术因素。 原文标题:What’s inside your containers? Why visibility and control are critical for container security
|