随着新的应用程序开始以云模型为开发基础,开发人员也开始希望透过平台服务化 (Platform-as-a-Service,简称 PaaS)来简化应用程序的开发与部署。毕竟,要照顾应用程序底层的操作系统、资料储存、信息伫列以及应用程序容器,是一件复杂而耗费成本的工作。PaaS 的承诺,就是要提供一个应用程序基础架构,由供应商负责照顾底层的堆叠。
听起来的确不错,不过,您得先仔细思考量一下您将放弃的安全控制能力:
可见度:在一个 PaaS 环境中,使用者只负责部署应用程序与资料。从终端使用者的角度来看,这并没有一种标准的方法可以了解补丁程序版本、收集系统/服务器记录档,或者执行漏洞评估 (远端测试通常是不允许的)。您如何知道自己的基础是否稳固?
可携性/互通性:PaaS 与 IaaS 不同之处在于,IaaS 上的虚拟机器通常可以在不同服务供应商之间互通,但 PaaS 却会用到客制化 API、特殊应用程序容器,有时甚至是程序语言延伸功能。您是否能够在必要时移转您的应用程序?
安全性:大部分的 PaaS 方案都无法让客户部署网络式或主机式 WAF、DAM、IPS、FIM、AV 或 DLP 等方案。某些平台服务厂商会提供一些内建的安全服务,但终端使用者却无法掌握,也无从选择。您是否真的能让应用程序“暴露在外”?
这些问题并非无解,但需要由平台供应商来做。
Chris Hoff 是一位知名的云计算热爱者,他目前正与一个工作小组合作,共同开发一套通用的安全 API 来提供漏洞扫瞄、稽核、组态管理、补丁程序管理等等所需的资讯。如果 PaaS 供应商采纳了这套名为 A6 的 API (涵盖了稽核、断定、评估、确保),将可提供迫切需要的手动与自动化验证方法。
PaaS 领域的可携性与互通性可以透过服务供应商之间的合作来达成。将来势必会演化出一些标准、抄袭服务供应商、转换服务,有一天甚至会出现某种跨厂商之间的抽象层,让应用程序在各种服务上都能执行。客户必须自行推动其应用程序与资料的可携性。
为了在 PaaS 环境中拥有安全性的掌控与弹性,服务供应商必须提供一些外挂安全方案的标准方式。这可以是虚拟化装置 (透过径内网络,或者进阶的 Hypervisor 式内省),也可以是主机式安全方案的部署方法。高度可扩充的云应用程序需要最顶级的安全方案。
或许,研发部门会觉得 PaaS 非常迷人,但除非服务供应商可以解决这些问题,否则您最好还是暂时别碰 PaaS。