如第2章所提到的云计算应用面临的各种安全挑战及风险,并不是说在传统的IT系统中就不存在,而是说,许多问题在云计算环境中更为明显或更有挑战性。云计算应用安全体系的主要目标是实现云计算应用及数据的机密性、完整性、可用性和隐私性等。
本章将从云计算安全模块和支撑性基础设施建设两个角度,提出云计算应用安全体系,通过在各层次、各技术框架区域中实施保障机制,最大限度地降低安全风险,保障云计算应用及用户数据的安全。在云计算安全体系(图3-1所示)中,支撑性基础设施是各种云计算应用模式的共同关注点,其技术具有一定的通用性。
(1)物理安全。物理安全主要包括以下几个方面:机房环境、通信线路、设备、电源。它是整个云计算数据中心安全运作的前提,是指保护数据中心的网络设备、存储设备和计算设备等免遭地震、洪水、火灾等环境事故、人为操作失误或各种非法行为所导致的破坏。主要安全措施包括CCTV(闭路监控电视系统)、安全制度、辐射防护、屏幕口令保护、隐藏销毁、状态检测、报警确认等。
(2)基础设施(计算/存储/网络)安全。基础设施安全包括服务器系统安全、网络管理系统安全、域名系统安全、网络路由系统安全、局域网和VLAN配置等。主要的安全措施包括安全冗余设计、漏洞扫描与加固、IPS/IDS、DNSSec等。考虑到云计算环境的业务持续性,设备的部署还必须要考虑到高可靠性的支持,诸如双机热备、配置同步、链路捆绑聚合及硬件Bypass等特性,实现大流量汇聚情况下的基础安全防护。
图3-1 云计算安全体系
(3)虚拟化安全。虚拟化的安全包括两方面的问题:一是虚拟技术本身的安全,二是虚拟化引入的新的安全问题。虚拟技术有许多种,最常用的是虚拟机(VM)技术,需考虑VM内的进程保护,此外还有Hypervisor和其他管理模块这些新的攻击层面。可以采用的安全措施有:虚拟镜像文件的加密存储和完整性检查、VM的隔离和加固、VM访问控制、虚拟化脆弱性检查、VM进程监控、VM的安全迁移等。
(4)数据传输安全。云计算环境下,数据传输有两种方式:网络传输和物流传输。选择两者的标准在于数据的传输时间,对于超大型数据中心的迁移,采用物流传输这样物理迁移的方法,可能更可以节省成本。对于网络传输,主要的安全措施可以充分利用现有网络安全技术的技术成果;对于物流传输,主要的安全措施是一系列完善的管理制度办法。
(5)计算能力接口安全。IaaS提供的服务,其理想状态是向用户提供一系列的API,允许用户管理基础设施资源,并进行其他形式的交互。需注意避免利用接口对内和对外攻击,避免利用接口进行云服务的滥用等非法行为。其安全措施包括对用户进行强身份认证、加强访问控制等。
(6)模块集成安全。目前由于缺少相关标准,云计算中不同功能模块的集成存在很大困难。XML也许是把数据从一个基于Web的系统移到另一个类似系统的最简单方法,但是在云计算环境下,将不得不整合Web系统和非Web系统,而且是在云计算系统和内部系统混合的环境下进行整合。这一技术现状同时反映了模块集成安全评估的困难。对于用户而言,可采取的安全措施包括:对于某功能模块,尝试使用不同的API,并进行大量的测试工作,保证应用相应的速度和流畅性。
(7)中间件安全。云计算的到来,将带来更多的智能终端实现业务或应用的无缝体验,如同一应用可在PC、智能手机、平板电脑等终端实现。不同类型的智能终端具有不同的操作系统,为了保持业务的一致性,需要采用针对不同操作系统环境下的中间件,这就带来了中间件安全问题。可采取的安全措施包括采用数据加密、身份认证等技术。
(8)内容安全。在云计算环境中,用户的应用数据将主要存储于云计算的数据中心。各国的信息安全法律法规并不一致,在部分国家,在必要时依据特定的程序,政府有权力对其国内的数据中心进行内容审计。云计算系统一般都支持对用户数据进行加密以保证数据安全,这一技术现状客观上加大了内容审计的难度。目前,有关加密数据的检索技术仍在研究中,对云计算的内容安全,尚未有成熟的解决方案。
(9)应用安全。云计算的应用主要通过Web浏览器实现。因此,在云计算中,对于应用安全,尤其需要注意的是Web应用的安全。要保证SaaS的应用安全,就要在应用的设计开发之初,制定并遵循适合SaaS模式的安全开发生命周期(Security Development Lifecycle,SDL)规范和流程,从整个生命周期上去考虑应用安全。可以采用的防护措施有访问控制、配置加固、部署应用层防火墙等。
(10)数据安全。数据安全就是要保障数据的保密性、完整性、可用性、真实性、授权、认证和不可抵赖性。其主要安全措施包括对不同的用户数据进行虚拟化的逻辑隔离、使用身份认证及访问管理技术措施等。
(11)用户认证及访问管理(IAM,Identity and Access Management)。IAM是保证云计算安全运行的关键所在。传统的IAM管理范畴,例如自动化管理用户账号、用户自助式服务、认证、访问控制、单点登录、职权分离、数据保护、特权用户管理、数据防丢失保护措施与合规报告等,都与云计算的各种应用模式息息相关。关于IAM的具体介绍参见3.2节。
(12)密钥分配及管理。加密是云计算各种应用模式中保护数据的核心机制,而密钥分配及管理的安全是数据保密的脆弱点。密钥分配及管理还提供了对受保护资源的访问控制。关于密钥分配及管理的具体介绍参见3.3节。
(13)灾难备份与恢复。在各种应用模式中,云计算提供商必须确保拥有提供持续服务的能力,甚至服务迁移能力。前者是指在出现一些严重不可抗拒的灾难时,如火灾、长时间停电以及网络故障等,服务不中断;后者是指当需要更换云计算提供商时,原提供商需提供业务迁移办法,维持用户的业务不中断。由于目前云计算仍处于普及阶段,关于后者,虽然业界已有共识,但是尚未形成一致标准。关于灾难备份及恢复参见3.5节。
(14)安全事件管理及审计。在云计算的各种应用模式中,需要对安全事件进行集中管理,从而可以更好地监测、发现、评估安全事件,及时有效地对安全事件作出响应,预防类似的安全事件再次发生。
如上所述,云计算安全体系涉及了云计算的各个技术层面,这些安全技术目前都已有实现。只不过,在云计算环境下,这些具体的安全技术增添了新的内涵。
(1)身份认证与访问管理技术。主要关注用户身份的管理和通过相应的目录服务来提供授权管理、分级权限控制。企业用户在将IT业务迁移到云计算时,需要考虑如何将已有的身份认证与访问管理技术迁移到云计算平台中。例如,用户账号的发放和回收、认证联合等。此外,值得注意的是,云计算给传统数字密码学理论提出了重大的挑战,过去许多认为不可行的攻击方式,在云计算的环境下需要重新评估。同时,云计算所带来的网络接入宽带化、终端智能化浪潮,也给基于生物特征的身份识别技术带来了新的发展契机。
(2)加密与密钥管理技术。采用数据加密技术实现用户信息在云计算共享环境下的安全存储与安全隔离,而加密算法的健壮性更依赖于良好的密钥管理技术。采用适当的数据加密算法可以防止用户数据被偷窃、攻击和篡改。同时,密钥管理也是实现用户身份鉴别与认证的前提。
(3)VPN与传输安全。VPN技术会给云计算用户提供一个虚拟的企业内网地址和加密的网络通道,用户通过身份认证、授权等方式,利用这个虚拟地址访问云计算数据中心的实例,可防止网络传输的数据被泄露。云计算提供商及用户可以设置灵活的访问控制策略,使用户还像在传统的局域网一样使用云计算服务。
(4)灾难备份与恢复。灾难恢复,不仅包含从影响整个数据中心的自然灾难中恢复,也包含从可能影响单个系统的事件(例如硬件错误、安全入侵等)中恢复。在云计算环境中,灾难恢复的定义与传统环境中的没有区别,同样需要决定一些内容,如可容忍的最大宕机时间、可容忍的最大数据损失等。在云计算环境中,虚拟化存储典型地以离散方式存放文件,因此,灾难恢复可以有更简单的流程、更大的资源便携性及更短的恢复时间。