如今,最流行的云计算模式就是基础设施即服务(IaaS),但是它并不总是云应用安全的最佳模式。很多用户都知道平台即服务(PaaS)和软件即服务(SaaS)可以实现较好的成本节约,尤其对于那些无法访问高技能云计算技术资源的用户来说,更是如此。大多数人都不知道,PaaS尤其能够提供更高的安全性,甚至对于那些熟练用户来说,这也是一个具有决定性意义的好处。为了从PaaS安全性中获得更多的好处,我们应了解IaaS和 PaaS之间的基本安全性差异,并选择具有良好安全意识的PaaS供应商,开发应用程序以求实现PaaS云应用安全性的最大化,当规划新的云应用和迁移时,考虑采用PaaS模式。
因为应用程序是采用中间件工具进行开发的,所以如果组合中间件支持应用程序过于复杂,那么就会迅速蠕变形成安全性问题和错误。在IaaS中,每一个应用程序都集成在机器镜像中,而镜像中还包括了操作系统和中间件。很少有(如果有的话)云计算服务会在集成所有应用程序和组件的镜像上,所以所有链接应用程序、识别和验证组件身份以及管理数据安全性的步骤都可能是由各种机器镜像的共同合作而完成的。
PaaS可方便实现安全性措施与管理
在一个PaaS云计算中,一个常见的中间件堆栈是由服务组成的,应用程序可以使用这些服务来确保组件的安全性、连接和移动工作,甚至管理与合作组织的交流。应用程序是在这个堆栈上进行开发的,所以有一个通用的功能集可供使用。这种方法可实现应用程序开发、部署和管理之间的协调并进,从而有助于安全性措施和管理的实现。
这一差异性的最显著影响是,PaaS几乎总是包括了一个安全性和访问的控制套件,这个套件在所有托管点、数据库服务以及应用程序和组件中都是一致的。虽然在IaaS中也可以提供这样的套件,但是它真的是一个托管在云计算中的内部部署安全和访问管理工具,而不是一个专为解决公共托管特殊风险的云计算工具。
PaaS的一个不太明显的好处是通用的工作流程和数据库管理方法。开发人员通常会开发适合他们使用的工具。这就意味着,接口、数据库安全性以及加密等等方面在具体实施时都是各不相同的,其中开发者平台提供了多样化的选择。IaaS并不会限制操作系统的标识,它有着较少的版本和中间件工具,从而引入不同的方法。
PaaS提供了标准化的工具
如今的应用程序是高度集成化的,可提供与商务活动相关的高效工作流程。如果所有支持特定业务流程的应用程序都是基于不同操作系统和中间件工具的,那么云计算对于应用程序的支持将不得不沿用所有的这些方法以全面确保应用程序的安全性。通过使用PaaS,用于应用程序连接和工作流程的工具是更加标准化和更易于维护。
黑客需要黑进应用程序或系统才能做坏事,这就意味着接口安全性是至关重要的。通过使用IaaS,接口有机会暴露在黑客面前的途径将更具可变性了,因此,保护接口的措施也变得更为复杂。因为IaaS中的操作系统和中间件必须使用相同的方法进行管理,就如同系统是在数据中心中运行的一样,那么这些接口必须被暴露出来。这使得他们更易于受到攻击。通过使用PaaS,云计算供应商就能够使用与确保云计算管理接口本身安全性相同的措施来确保操作系统和中间件管理接口的安全性,从而减少可能必须被保留的漏洞的数量。
在云应用中,一些安全性漏洞都是被故意保留的;用户通常会为客户和供应商提供门户网站以便于与他们进行信息交换。在IaaS中,系统并没有为这些门户网站提供创建和保护的具体方法,所以它们可能是风险的主要来源。在至少更“结构化”的PaaS系统中,有着一个对用户进行分类的“角色”和“执行者”的概念,它可让管理员用一种有组织的方法来设置权限。在PaaS平台软件的控制下,这些权限可在所有系统、应用程序和数据库中有效。
所有的PaaS方法都不是生来平等的
并不是所有的PaaS方法都是相同的,同样,它们所带来云应用安全性好处也不会是完全相同的。一般情况下,PaaS云计算可被分为三类完整操作系统和软件框架(例如微软公司的Azure)、根据组件依赖性组装中间件的“适应性”PaaS框架(例如被惠普公司收购的Stackato)以及 “连接的”PaaS框架(如亚马逊的AWS)。
如果安全性和访问控制对于您的云应用安全性是特别重要的,那么您将需要一个提供完整操作系统和中间件工具的PaaS策略,并将其作为平台的一部分或通过相关性分析。可选的附加功能将抵消PaaS 所具有的“共性”优势,因此平台也会允许应用程序开发人员使用他们自己选择的产品来弥补平台中间件的功能不足。
当然,PaaS很难采用一个无法在通用平台上运行的应用程序。如果您无法使用PaaS,那么可以在一个通用工作流程、组件接口和数据库服务策略基础之上尝试运行所有的应用程序。通过强制推行平台类标准,您的IaaS至少可以近乎地实现某种安全等级和PaaS提供的“可管理性”。
本文作者:滕晓龙
来源:51CTO