APP下载

站在云端的SaaS之云安全(上)

2012-09-06

中国建设信息化 2012年14期
关键词:系统安全租户层面

致远软件研发中心技术总监 吴玉民

对于SaaS系统来讲,最重要的质量属性莫过于安全。对于服务提供者来说,能否提供完备的安全保障是决定SaaS系统成败的决定性因素;而对于服务使用者,则是将SaaS系统在安全方面的考量作为决策的首要依据。

云安全概述

据专业机构调查显示,中小企业选择SaaS系统的首要顾虑就是安全和隐私问题,其考虑更多的是商业信息的安全和企业隐私保护的问题。对于个人用户,也同样非常重视个人信息安全和个人隐私保护。3Q大战的各方口诛笔伐,最终焦点无非是针对个人电脑安全、个人隐私和用户权益方面问题的争议。

虽然业内SaaS系统安全事件频出,但以云计算为代表的信息工业化进程无法阻挡。随着信息资源的集中,将会产生信息时代的无产阶级,同时也将诞生信息寡头。对于越来越集中的信息资源的安全利用,将不只是IT服务提供商和用户需要考虑的问题,同时国家层面也要更多地从法律法规方面加以规范。

随着安全技术和相关法律的日臻完善,SaaS服务公司所提供的软件服务将比自身维护一套软件系统更为专业和安全。但对于目前的很多SaaS服务提供商和打算提供SaaS服务的厂商来说,如何做好系统安全仍然是不得不补的一门课程。

1 重视云安全

SaaS系统由于Multi-Tenent多租户架构的特点,决定了它将承载更多的用户和业务。这同时也表明SaaS系统出现安全问题的影响范围和影响力将成倍地被放大。从最近的安全事件来看,对SaaS服务提供商所爆出的安全问题的解决,除了受到非强制的社会道德方面的约束之外,最终还将上升到法律和国家层面才能加以解决,足见SaaS系统安全问题的影响力和重要性。在互联网信息传播如此发达和透明的时代,安全方面问题将没有任何空子可钻,任何安全方面的疏漏都有可能使得刚刚踏入云端的脚步直接坠向地面。从另一方面,日渐成熟且专业化的地下黑客产业链正快速形成,这也使得SaaS系统在安全方面敲响了警钟。无论是“灰鸽子”、“熊猫烧香”,还是被称为“毒王”的AV终结者,在每一个病毒背后,都有着一条庞大而完整的产业链。在经济利益的驱动下,如今黑客和病毒制造者也逐渐形成了庞大、完整的集团和产业链,他们分工明确、无孔不入,不断地寻找各种漏洞并设计入侵/攻击流程,模块化、批量地制造病毒,以盗取用户网络游戏、即时通信工具、网上银行等虚拟财产。从开发病毒程序、传播病毒到销售病毒,形成了分工明确的整条操作流程,这条黑色产业链每年的整体利润预计高达数亿元,如图15-1所示。

日渐复杂和严峻的SaaS系统安全问题,的确让人头疼,有时让人感到厌恶,但却是无法摆脱的事实,无论是服务提供者还是用户,都不能无视它的存在和重要性。

2 提早考虑云安全

要提早考虑SaaS系统的安全规划和设计,主要有如下几点原因: 1)安全补漏的成本将远远高于提前预防的成本。比如一开始没有考虑到做安全审计,后续就要付出更大的代价来实现,涉及对所有功能的调整,还可能存在颠覆性的设计和开发工作。2)安全漏洞对用户造成的损失将难以弥补。比如SaaS系统中用户数据被非法窃取,并被用于非法牟利,对于SaaS服务商来说将是一场噩梦。3)将失去本来就难以建立的用户信任,SaaS系统服务商将面临信用危机。4)社会影响和用户口碑方面的损失也是无法衡量和弥补的。

3 云安全的特点

SaaS系统安全问题中的绝大多数实际上也是传统安全问题,根据二八原则,可以说在SaaS系统安全方面,80%是传统安全问题,20%是云安全问题。在云安全问题中,有很多问题是对传统安全问题的放大,比如身份验证、访问控制、数据对视、泄露的防范、信息分类、审计、数据隔离、逻辑隔离、物理边界控制等。SaaS系统安全相对于传统系统安全的新问题: 1)受法律约束的安全承诺和运维协议SLA、法律法规,以及非强制约束的商业诚信、道德,建立互信。2)在技术层面,Multi-Tenent多租户架构下的各个方面的安全考虑,比如如何实现多租户各自的身份验证和访问控制,多租户间的数据隔离控制等方面问题。3)基于Internet提供服务的SaaS系统需要处理复杂的网络环境,面临更多的安全威胁,需要防范各种黑客攻击。

图15-1 黑客帝国的产业链示意图(参考瑞星反病毒中心)

4 避免过度的安全设计

在安全规划和设计时,要结合业务应用特点,确定切合实际的安全规划。要避免防范过度,并不是安全措施越多越好,而是需要适合、适度的安全。要综合考虑安全、性能、成本、易用性等方面的权衡取舍,因为这几者之间有很多方面是天然冲突的。

云安全体系

在考虑SaaS系统安全体系设计时,不能只考虑技术层面的安全问题,还需要兼顾人员方面的安全、组织制度安全等非技术方面的安全问题。要清楚技术并不是万能的,需要对安全问题有更加系统的认识和规划。尤其对组织的高层和管理者,更应该把注意力更多地放在非技术领域的安全问题的处置上。因为对于技术层面的安全问题,存在很多成熟的产品和解决方案,且可达到立竿见影的效果。然而对于非技术的安全问题,因涉及组织制度、人员管理、社会影响、商业信誉、法律法规等多方面的综合因素,且因人、因组织、因业务领域等方面的不同而显得特别,不易复制。

1.传统信息安全体系

信息安全的三维防护体系,是通过制定一套适当的管理制度、部署必要的技术措施,来实现信息安全目标要求。信息安全体系是组织制度、人员、技术三维的防护体系,如图15-2所示。

图15-2 信息安全三维防护体系

组织制度:在组织制度层面强化安全管理。比如:为防止数据损坏,建立定期数据备份和检查制度,建立第三方安全审计。

人员安全:对能够接触系统的相关人员采取一定的安全保障措施。比如:外聘人员有剽窃数据风险,要签署保密协议。

技术手段:从技术层面保障系统安全。比如:病毒导致数据丢失,要安装病毒查杀软件 ;设备故障会导致系统宕机,要考虑业务连续性问题。技术层面的信息安全防护模型包括数据、软件、硬件、网络和环境5个方面,如图15-3所示。数据是系统最具价值的核心,就好比钻石;硬件是柜子;软件则是一把锁,通过软件这把锁,能够存或取硬件这个柜子里的钻石(数据);再外层则是网络通道,这一切都会受到外界环境的影响;机房环境会对硬件的运行性能和稳定性产生影响,网络的环境则决定通道是否安全可靠,地震是否会导致网络中断、是否有其他备用网络通道?

图15-3 信息安全防护模型(技术层面)

2.SaaS系统“5+5”安全体系

SaaS系统安全体系也主要从技术和非技术方面进行规划。与传统信息安全模型相比,80%是相同的,另外20%主要体现在技术层面。有些问题在SaaS系统中被放大,非技术方面增加了诸如商业信誉和诚信、安全法律和相关规范、安全体系认证和ITIL运维及SLA方面的安全问题。整体上SaaS系统的安全体系采用“5+5”模型,即非技术5个方面的安全加上技术方面的5个层次的安全,如图15-4所示。利用该模型可以全面地构建SaaS系统的整体安全战略。

安全领域的技术与非技术两者是相辅相成的,技术是手段,非技术是约束。有些非技术问题需要靠技术手段来支撑,比如在SLA中承诺的数据保密性要求,就需要从技术设计和实现角度达到并满足这一约定;反之,非技术也将对技术实现进行约束,比如是否能够通过技术手段扫描用户磁盘信息以保证自身系统安全,将受到相应的法律规范以及商业信誉和诚信的约束。

非技术安全 对于SaaS系统安全的非技术方面,服务提供者需要对Multi-Tenent多租户做安全方面的服务承诺(比如对用户数据的保留期限、出现故障的恢复时间、对用户数据的保密性要求等),具体将落实在系统运维管理的SLA协议当中。另外,SaaS厂商需要做一些安全体系方面的认证,比如等级保护、ISO 27001等。一方面,认证可以真正地对系统安全起到实际作用;另外一方面,经过认证的系统能够给用户更多的信心。SaaS系统还要遵循一些安全方面的法律和规范,加强组织内部的安全管理制度建设和人员管理。同时,对于商业信誉和诚信也会起到非强制性的约束作用。

技术安全 SaaS系统安全的技术方面,与传统系统相比在很多方面需要更为强化的安全措施。

图15-4 SaaS系统安全体系模型

图15-5 数据隔离方案

1)在数据安全层面,要解决Multi-Tenent架构下的数据隔离问题,属于数据保密性范畴。实现数据隔离的技术手段主要有逻辑隔离、物理隔离和混合隔离三种,如图15-5所示。

逻辑隔离的优点就是,能够充分利用存储资源,以便于统一数据管理和控制;其缺点是安全性降低(如何避免数据对视和泄露,这将对系统设计和实现提出更高的要求),另外就是无法借助存储硬件和数据库系统自身的数据备份机制实现对某些特殊用户的数据管理。

物理隔离的优点是,不同用户之间的数据物理分开存放,从根源上减少了数据互相泄露和渗透的风险,而且能够很容易地基于存储硬件和数据库系统本身功能实现对不同用户的数据制定管理策略;其缺点是存储资源无法充分利用,相应的数据管理成本也将提高。

混合隔离就是融合逻辑隔离和物理隔离的优点,采取混合策略进行数据管理:结合不同用户的应用级别和安全需求,可以为规模较小、安全性要求不高的用户提供逻辑数据隔离;对较大规模的用户、安全要求高的用户,可以采用独立存储空间,做物理数据隔离。

另外在数据安全层面,还要处理敏感数据加密存储、数据备份和容灾等方面的问题,这些在传统系统数据安全方面都已覆盖,在此不过多赘述。

2)在软件安全层面,需要重点解决Multi-Tenent架构下应用系统如何做好身份鉴别、访问控制、安全审计和防抵赖等方面的问题。比如,采用数字证书加口令技术实现安全的双因素身份识别和验证;再比如,采用LDAP目录服务解决多应用、多租户的统一身份鉴别问题,以避免在多系统中分别进行身份验证而导致安全漏洞增多的问题。在访问控制方面,可采用RBAC(Role-Based Access Control,基于角色的访问控制)模型,如图15-6所示。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限,这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创建的,用户则依据它的责任和资格被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要从某角色中回收。角色与角色的关系可以建立起来,以囊括更广泛的客观情况。

另外,对于PaaS层的软件平台安全管理,像对操作系统、数据库服务和中间件服务等PaaS层软件平台的安全应用和部署,同样需要予以重视。

图15-6

图15-7 典型SaaS系统的安全域划分

3)在硬件安全层面,利用IaaS层硬件资源池可实现多租户的应用服务器和数据存储隔离,对于规模较大的用户可采取独立服务的方式,避免多租户由于资源共享而产生的安全漏洞问题。另外,利用智能的硬件资源池还可以更好地实现负载和容错,增强系统健壮性。从广义上来讲,这也属于安全范畴,因为降低了由于硬件故障而造成数据丢失、事务不完整进而导致数据不完整等数据安全问题。其他诸如病毒防护、入侵防范等方面的问题,在传统系统硬件安全方面都已覆盖。

4)在网络安全层面,主要从网络安全级别的角度对安全区域进行划分,并对安全域之间的物理边界加强防护措施,进行安全审计。图15-7是SaaS系统典型的安全域划分。图中从下至上分别是数据、业务和Web服务区,安全级别由高到低,安全威胁则由少到多。由于各区之间的安全特性不同,所以在各区之间需要加强安全边界的防护措施,如图15-7中闪电符号所表示的安全域之间的边界。

5)在环境安全层面,和传统系统安全相比,最大的差别就是随着Multi-Tenent租户和业务的增加,对物理硬件和计算能力的需求也将不断增加,因此在主要的云计算中心环境选择和设计上,就要更多考虑很强的扩展能力和各方面的安全性要求。作为SaaS厂商,可以向专业的IaaS服务提供商租用这种环境,也可以租用包含硬件、软件中间件等构建的SaaS系统的基础平台。

6)在各个层面,需要整体防范各种病毒、黑客攻击、XSS跨站脚本攻击、SQL注入、木马、DOS攻击等五花八门的恶意攻击手段。

(未完待续 摘自《站在云端的SssS》)

猜你喜欢

系统安全租户层面
新型电力系统安全稳定运行分析
多租户数据隔离及加密研究
铁路信号集中监测系统安全隔离机制研究
基于多租户隔离的云安全建设
提升电力系统安全稳定性的有效措施探究
铁路信号系统安全输入输出平台
一种新型高效的多租户共享数据模型
基于MVC模式的多租户portlet应用研究*
健康到底是什么层面的问题
从语言和体系两个层面理解庄子的“吾丧我”