UML软件工程组织

 

 

SOA当前面临的问题:安全
2008-02-25 作者: Heven 出处:IT专家网
 

SOA的飞速发展大家都看到了,很多企业整天谈的都是SOA,但大家看到SOA好用的同时却忽略了一个关键性的问题:SOA安全。我们已经看到了太多SOA安全问题留给个别开发商的例子,他们竭尽所能的兴建SOA安全功能却但不能处理SOA复杂的内部和外部安全问题。那么在部署SOA的时候,需要考虑周全的SOA安全问题该如何解决呢?SOA将对安全产生怎样的影响以及人们需要采取甚么措施在以SOA为基础的世界中来确保企业数据的完整性呢?

SOA现在很火爆,每个人都在谈论它是如何从根本上改变应用建立、数据访问和与伙伴进行沟通的方式。SOA所带来的好处已是众所周知。但是在这波SOA革命的浪潮中却有一个被忽略的问题,即它的安全性 - SOA会产生哪些安全影响,如何才能确保基于SOA的企业的数据完整性。

在购买SOA安全系统的部件之前,要做必要的准备工作,因为市场在不断变化。总的说来,市场上出现的动向对IT人员来说是好消息,因为这意味着更多的选择;要打交道的厂商也可能更少了。但这同时使得采购决策大大复杂化。

核心安全问题是很困难的,而实际安全管理执行则显得难上加难。因为安全威胁和条件是经常变化的。许多新的攻击类型已被确定,也有新的规则实施,然后你又产生新的公司政策。又可能是因为你使用了新的基础架构,想确保它使用新来源的识别信息。如今许多公司把各自面向服务的架构(Service-Oriented Arthitecture,SOA)向业务合作伙伴开放,那么你是否准备好了应对由此带来的种种风险呢?

我正好有机会参加一个关于SOA安全的大会,涉及SOA一个最迫切需要解决的问题:安全。

安全问题确实是SOA比较头疼的问题,你不能指望一个商业开发商完全了解这一切。每个人都在谈论它将如何从跟本上改变应用程序建立的方式,数据存取方式,贸易伙伴沟通方式等等。即使是你用于一群训练有素的开发人员比一般开发人员要了解得更多,我仍然不指望依靠他们根据公司的政策实施适当的安全职能,事实上他们所有的编写都被直接写入其应用代码。”  由于SOA向基础架构引入了许多连接,安全变成了多方面的挑战。如果你在SOA方面有一些经验,你会意识到它增加了新层面的安全问题,这主要是因为你建立了自己的一套松耦合连接,其中包含了大量的依赖关系问题。安全威胁和要求十分复杂,你必须认为一般的开发商都不能完全认识存在的威胁和挑战。事实上要让开发商独立管理安全问题是不恰当的。

灌输安全理念关键在于通过有效治理。为了贯彻执行一致的安全条件,具体化你的安全条件,非常重要的是要有很好的治理流程以确保适当的安全措施应用到每一个服务当中去。

看来,安全职能的集中管理才是关键之所在。企业需要“采取政策驱动的执行模式,允许安全部门实际决定受保护内容、保护方式并对这些安全措施尽可能具体化”。

Web服务一直被认为是组织之间共享数据的一条途径:企业可以有选择地向客户、合作伙伴和供应商开放内部系统,从而让曾经需要人来干预的交易实现自动化。虽然到目前为止,大多数公司避免走这条路,把Web服务放在防火墙后面保护起来,但是服务服务的架构(SOA)的发展和Web 2.0的兴起势必会改变这种情况。

SOA安全标准的不成熟加剧了互操作性方面的难题。如果想严加保护牵涉多家企业的庞大Web服务网络,每家企业必须就采用的技术、甚至安全策略达成共识:如果合作伙伴的员工使用弱密码来访问系统,那么要求贵企业的员工使用生物特征识别技术和物理令牌是毫无用处的。

面向服务的体系结构从本质上说是一种由元数据和XML(可扩展的标记语言)一类的标准数据结构协议生成的应用程序。SOA所面临的安全问题与应用其他任何分布式系统时所遇到的安全问题是相同的,即如何确保机密性、完整性和可用性。

SOA虽然在某些方面使安全简化,但是在其他方面却使安全问题变得复杂。业界人士认为,由于在基础设施中使用了XML一类的数据结构通用协议、IP通信协议和通用操作系统,因此SOA有助于简化某些安全决策;但在模块程序中,由于许多移动部件作为最终应用要集成在一起,因此使安全决策变得复杂。

举例说,暴露在互联网面前的Web服务需要XML防火墙(又叫SOA安全网关)。然而,由于SOA方面不断合并,这一类产品正开始销声匿迹。

与此同时,由于XML防火墙功能集成到从管理平台到核心交换机在内的各种产品,选用哪种产品、甚至像使用硬件还是使用软件这些基本决策,将不但取决于任何现有的SOA基础架构,还取决于每家企业的Web服务的规模及预计增长。而虚拟化技术增添了另一个意想不到的变数。

加密和验证方面的决策更困难,因为它们并不依赖某一家公司。Web服务外联网中的每家公司都要使用同样的技术;眼下有好几项彼此竞争的标准。

最大的冲突在于身份管理方面,这项复杂工作旨在确保登录到某一家公司系统的用户或者流程获得授权,可以使用合作伙伴的这些系统。这方面已出现了两项不相兼容的标准,它们提供的功能大致一样。第一种是安全声明标记语言(SAML),该标准得到了除微软之外几乎每家公司的支持;微软更喜欢比较新的Web服务联合身份验证(WS-Federation),该标准与其他Web服务标准的关系更为紧密。虽然两者都使用XML,但彼此互不兼容,这意味着使用公共Web服务的企业必须要么同时支持这两项标准,要么确保使用安全Web服务的所有业务合作伙伴都选择同一项标准。

安全就是这样的一个领域,如果没有在它上面付出应有的努力,那么它就会成为使得任何SOA的举动失败。总而言之,SOA 的安全风险同时来自内外部。企业中使用 Web 服务进行互操作的系统对于内外部攻击的防御能力越来越差。当这些系统使用的 Web 服务由供应商和业务伙伴等外部机构提供时,SOA 和 web 服务的部署工作将变得更加复杂。您应全面考虑上述所有因素并谨慎部署最新的安全解决方案,如应用级防火墙、IDP、 SSL VPN 和 SSL 卸载产品等,以便为企业中的 SOA 环境提供安全保护。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号