为混合应用保驾护航

时间:2022-09-28 01:47:49

为混合应用保驾护航

混合应用(mashup)在开发轻量级Web应用方面为企业提供了前所未有的敏捷性。但也要避免它所带来的安全风险。

随着混合应用的出现,企业里面力求创新的开发人员在想方设法通过使用外部的Web应用、API或者服务,充分发掘企业信息的价值。虽然许多企业的安全专家对这么做所带来的安全风险非常担心,但混合应用已经被公众所接受。的确,混合应用对许多企业来说具有战略性价值,所以我们最好还是弄清楚如何面对它们。

形形的混合应用

虽然企业混合应用(以及本身带来的问题)很新颖,但已经出现了相关解决方案。大体上来说,有两种混合应用: 一种以显示为中心,另一种以数据为中心。每一种都存在一系列安全问题。

以Google Maps为代表的混合应用是典型的以显示为中心的混合应用。在许多情况下,它们用于显示移动设备上的仪表板、门户或者精简数据。方法很简单: 把两种或者更多资源混合成用途大于两部分之和的应用。这显然是一种不错的应用,但重要的客户信息却暴露无遗。虽然可以采取措施来确保信息一直在防火墙后面,不过在许多情况下,信息必须通过互联网传输给Web应用,这就存在着问题。

另一方面,以数据为中心的混合应用结合了两种或更多服务,形成了集成点,为真正的业务流程提供服务。它们可能在后台运行,从来不会出现在屏幕上,至少不会直接出现,不过它们又是混合应用。这实际上是轻量级的XML集成,可能涉及各种各样的重要信息,这要看或者可用的是什么服务。以数据为中心的混合应用带来了最大的安全挑战,就因为它们可能会造成最大的破坏。的确,如果构建了恶意的以数据为中心的混合应用,数兆字节客户资料或者财务数据就会在短短几秒内遭到窃取。

五项安全策略

为了充分利用企业混合应用,需要在混合应用的价值和安全需求之间达成平衡。可以采取几种安全方法: 政策级别、数据访问级别、服务访问级别、屏幕访问级别和身份管理。

1. 政策级别安全

政策级别安全是指设计时间政策和程序。政策级别方法通常不涉及底层技术,也不涉及安全工具和技术,而是通过规则、治理、程序和教育来应对安全威胁。这里还涉及法律问题:譬如遵从《萨班斯-奥克斯利法案》; 或者使用已的政策,保护企业资产、为解雇违反这些政策的员工提供了一种手段。

为了制订混合应用安全政策,还需要运行用例(use case),认真分析应该如何保护底层企业系统的信息和行为。大多数企业在安全方面有现成的指导准则,包括以下政策: 规定数据未经加密,就不能传输到防火墙外面; 规定混合应用里面使用的所有信息都要报告IT人员; 或者在某些情况下,规定完全禁止混合应用。

人们对混合应用的下意识反应是,在安全部门能够控制相关风险之前,不准使用混合应用――正如十几年前,互联网最初被视为一个负担,因此被许多大公司暂时禁用那样。现在回想起来,它们的这种做法是对的。但是正如Web的价值显然压倒了人们对风险的忧虑,随着经过斟酌的安全政策逐渐出现,混合应用的价值也会压倒风险。

2. 数据访问级别安全

数据访问级别安全控制着对底层数据库和数据存储区的访问,保证混合应用利用的数据不会受到安全威胁。虽然政策同样适用于此,但这主要是通过技术来提供保护,或者提供数据与混合应用之间的安全层。

数据访问级别下的安全机制相当传统,包括数据库、表和记录等层面的密码保护。混合应用必须提供证书,才能够使用来自数据存储区的数据,但混合应用如何处理这些信息不是数据访问级别安全机制所控制的。

3. 服务访问级别安全

服务访问级别的安全类似数据访问级别的安全。譬如说,服务可能作为ERP或者CRM应用的一部分而存在,或作为为了支持SOA构建的新服务而存在。服务通过Web服务协议来访问,但并非总是这样。服务可与以显示为中心的混合应用或者以数据为中心的混合应用混合起来,因而作为可生成信息或行为的服务来对待。不管怎样,它们都必须得到保护。

服务级别的安全依赖服务所在的系统。譬如说,SAP使用自己的安全子系统来验证对其API或者Web服务的访问。混合应用必须提供相应证书,才能够访问服务或者API。但之后,这些服务或者API仍可供混合应用内部访问,还有可能供外部的Web应用访问。所以,与数据访问级别安全一样,很大程度上还是要靠混合应用构建者来注意。

4. 屏幕访问级别安全

屏幕访问级别安全为传输到用户界面的信息提供了监管用户身份和密码的机制。所谓的“屏幕端混合”,即以显示为中心的混合应用处理发送到一个屏幕上的信息,可与来自其他屏幕的信息混合起来。

屏幕访问的问题在于,发送到用户界面的任何信息(GUI应用、Web应用甚至是老式的大型机终端应用)都可以提取,好像直接在与数据库、服务或者API对话。使用屏幕的人必须而且应当通过用户身份和密码来验证。

5. 身份管理

身份管理认识到服务并不仅限于内部使用,充分利用服务和企业数据的混合应用要确认身份、通过授权,避免为恶意或者不正确的行为打开大门。身份管理的基本思想是,监控所有服务的生成者和使用者,并确保调用服务就是预定要调用的服务。换句话说,所有使用者都要确认身份、通过授权、加以跟踪――所有生成者也是如此。

因为要处理许多服务(它们本身就是混合应用),每个服务都有各自的身份信息,这显然是确保混合应用安全的最好办法。基于身份的监控可以确保: 正确的服务和混合应用在交互,并且只交换授权信息,不存在任何欺骗行为(不管有意还是无意)。因为可以在组件层面而不是系统或数据层面进行跟踪,所以这种安全方法的粒度要细得多,因而对混合应用而言具有更大的灵活性。

如今,大多数企业混合应用并没有使用通过身份管理基础架构来控制的服务或者数据。越来越流行的SOA会推动基于身份的安全机制,不过眼下,由于这项技术成本高、比较新,它还不是适合大多数企业的选择。

部署安全平台

从规划安全策略到拿出实际方案并不容易,这是由于混合应用趋势还处于早期阶段。不过,已经出现了几条最佳实践:

1.为企业制订混合应用开发及使用政策,明确定义在创建混合应用时什么是允许的、什么是不允许的。制订政策后,要制订同样清晰、易于下达、最好得到严格遵守的混合应用确认及证实方法。确保安全团队知道所有混合应用的开发,确保他们与混合应用开发人员在指导准则和最佳实践方面进行合作,确保不会事后才想到安全。目的是平衡安全需求和创新需求。

2.为混合应用安全拿出一套技术方案,针对数据访问级别、服务访问级别以及通过用户界面实现的信息访问,选择关键的现有技术和标准。企业通常会面对已经到位的辅助技术,譬如与数据库、API和用户界面等集成在一起的安全子系统。这并非最理想,却是如今混合应用的安全之道。安全专业人员和混合应用开发人员都要学会如何适当利用混合应用,执行之前确定的政策。

3.围绕SOA和混合应用制订身份管理策略,混合应用其实首先是SOA的扩展。这意味着为这种架构创建身份管理模型,包括混合应用里面的使用模式。然后选择基于身份管理的合适的安全技术,规划实施路径。这通常是长远项目,需要认真规划,才能保证一开始就不出错。(译自Infoworld)

上一篇:移动ERP或将井喷 下一篇:银行安全 四层立体防护