我们必须清晰地认识到安全性问题涉及云计算参考模型的各个方面,纵向上从最底层的基础设施到最顶层的应用,横向上包括全部的参与角色,如云服务提供商、云服务消费者、云服务代理商等。
基于云的系统仍然需要满足这些传统 IT 系统中的安全要求,如认证、授权、可用性、保密性、身份管理、完整性、审计、安全监控、事件响应及安全策略管理,对这些技术展开详细论述超出了本书的范围,下面着重讨论一下云计算特有的一些安全问题。
1、云服务模式蕴含的安全问题
云计算的服务模式 Iaas、PaaS 和 SaaS 为用户提供了不同类型的接入云端的接口,同时也不可避免地成为不怀好意者的攻击入口。因此,在设计和实施云计算的过程中,需要充分考虑这 3 种云服务模式的内部机制和各自侧重的安全性问题。
例如,人们通常使用网页浏览器通过因特网访问云端的 SaaS 应用,那么在考察 SaaS 的安全性时,就需要重点关注网页浏览器的安全性。而 IaaS 消费者一般是远程登录并使用云端的虚拟机,那么在设计 IaaS 云服务时,就要重点关注虚拟机软件的隔离效果,因为运行在同一台物理机上的虚拟机相互之间的隔离效果越好就越安全。
2、部署模型蕴含的安全问题
部署模型也蕴含着安全问题,其中从租户的隔离程度来考察部署模型中的安全问题是一个不错的方法。
由于私有云只供一个单位组织内部的员工使用,所以在租户隔离方面就没有公共云那么重要。公共云上的租户来自五湖四海,身份复杂且不可预测,所以公共云上的租户必须严格隔离开来。
另一个观察部署模型所蕴含的安全问题的方法是采用安全边界,例如一个本地私有云的云端就不必再额外增加一道安全边界,因为云端本身就在消费者单位组织的网络安全边界之内,但是人们更倾向于给托管私有云的云端再建立一道安全防护边界。
3、安全职责共担
由于云服务提供商和云服务消费者对于云端的计算资源栈具有不同的控制范围,与传统 IT 系统完全由一家单位组织控制不同,云计算系统要求云服务提供商和云服务消费者在设计、建设、部署和操作云系统时必须通力合作,双方共同努力才能构建一个安全的云计算环境。我们必须仔细分析每一项安全控制措施,再结合具体的云服务模式,确认其最佳的责任方(云服务提供者或云服务消费者)。
比如对于 IaaS 云服务模式来说,具备初始系统权限的用户账户管理通常由 IaaS 云服务提供商负责,而部署在 IaaS 环境(如虚拟机)中的应用程序的账户管理则由云服务消费者负责。