你的 OpenStack云够安全吗?
51CTO|布加迪 编译
安全是现代IT所有领域需要关注的一大问题,也常常被列为是采用云计算所面临的主要障碍。为OpenStack确保安全并不是像只要部署防火墙、启用反病毒软件来得这么容易,还需要部署许多传统的控制机制。
为OpenStack确保安全并不是像只要部署防火墙、启用反病毒软件来得这么容易,还需要部署许多传统的控制机制。
安全是现代IT所有领域需要关注的一大问题,也常常被列为是采用云计算所面临的主要障碍。在5月中下旬于加拿大温哥华召开的OpenStack峰会上,安全是许多会议的主要话题。几场会议探讨了如何合理而安全地部署和配置OpenStack云。安全还通过许多不同的项目纳入到OpenStack本身的开发当中。
OpenStack现在被美国一些最大的公司部署到生产环境,包括沃尔玛、康卡斯特、百思买、时代华纳有线公司、AT&T和电子港湾。最近的许多安全漏洞都影响了OpenStack,比如VENOM、虚拟机外溢(VM breakout)和Heartbleed这种与SSL有关的漏洞。
Robert Clark是惠普的Helion云首席安全架构师,兼OpenStack安全项目组的项目技术主管(PTL)。他在最近这次峰会上的几场会议作了发言,解释了许多不同的技术可以用在主机操作系统上和OpenStack里面,以提供安全。
这几年来,Clark一直积极地为OpenStack贡献代码,帮助改善安全。在2013年于俄勒冈州波特兰召开的OpenStack峰会上,Clark探讨了OpenStack安全项目组(OSSG)如何着力制定OpenStack部署方面的最佳实践和指导。
Clark解释,OSSG最近把安全漏洞管理团队(VMT)纳入到OpenStack旗下,现在它是一个官方的OpenStack项目。
Clark说:“OpenStack安全项目负责为OpenStack提供许多不同的服务。”
VMT是OpenStack安全项目下面的一个独立部门,负责快速机密地响应潜在的新的安全漏洞。VMT这个部门发布OpenStack安全公告,而更庞大的OpenStack安全项目会发布安全须知。公告与须知之间的区别在于,公告针对可以修复的当下的安全问题。相比之下,安全须知提供了部署最佳实践方面的指导和建议,以降低安全风险。
安全项目组还编写了《OpenStack安全指南》,这项工作旨在为安全部署OpenStack提供一套全面而广泛的准则。该项目组还为OpenStack项目执行威胁分析。
OpenStack安全项目管理一对工具,帮助开发人员确保OpenStack代码安全无虞:Anchor工具是一种暂时的公钥基础设施(PKI),而Bandit是一种查找代码错误的Python安全工具。
Clark解释:“Anchor项目拥有一个被动撤消系统,这意味着证书配置起来要安全得多。”
最佳实践
对Clark来说,OpenStack云部署方面的最佳实践从硬件开始。他表示,企业能够信任云运行的硬件,以便能够证实硬件没有被人篡改或修改,这点很重要。
每个人都有同样访问权的扁平式网络对云来说不是个好主意。Clark建议,在部署OpenStack云的企业中应该至少有四个域:公共网络、访客网络、管理网络和数据网络。公共网络和访客网络基本上是不可信任的,而管理网络和数据网络是可信节点。
Clark表示,为OpenStack确保安全并不是像只要部署防火墙、启用反病毒软件来得这么容易,还需要部署许多传统的控制机制。他主张采用深层防御机制――采用多层体系,并结合使用工具和方法。
Clark说:“在我们的所有威胁分析和设计中,我们假设所有虚拟机都想给我们带来危害。我们假设,一切都完全是敌意,至少在惠普是这样。”
减小整个架构当中的攻击面至关重要。为此,Clark建议的一个主要方法就是,在OpenStack节点上只部署交付特定服务所需要的应用程序,而不是部署标准的Linux发行版。
具体拿虚拟机外溢(比如最近的VENOM安全漏洞)来说,Clark提供了技术和配置方面的许多建议,可以用来尽量减小这种风险。
Clark说:“虚拟机外溢并不是什么怪兽,它们在外面实际上频繁出现。”
由于会发生虚拟机外溢,就需要落实虚拟机遏制策略。做好虚拟机遏制工作的一个办法就是,借助强制性访问控制机制,包括Security Enhanced Linux(SELinux)和AppArmor。强制性访问控制机制定义了某个进程应该有怎样的行为,可以阻止未授权进程,提醒管理员某个进程何时企图违反政策行事。
除了SELinux和AppArmor外,Clark还探讨了安全计算模式(SECCOMP)的优点,这种模式在Linux里面提供了应用程序沙箱功能。
Linux还有一项隔离技术,又叫命名空间。Clark解释,借助Linux命名空间隔离技术,Linux里面已定义的命令空间就可以与其他命令空间隔离开来。Linux控制组(CGroups)也可以用来限制和隔离某一个Linux进程所使用的资源。
Clark表示,即便落实了安全控制机制以限制潜在的安全漏洞风险,但是另外更新服务器及打补丁的功能也很重要。他说:“控制机制解决不了VENOM之类的问题。它们只是为你赢得应对的时间,又不干扰贵公司的业务。”
虽然多套控制机制和策略可以用来帮助为OpenStack云保驾护航,“但别犯这个低级错误:使用默认密码,”Clark如是说。
原文标题:How to Secure an OpenStack Cloud