SOA的安全及防御之道

日期: 2008-12-16 来源:TechTarget中国 英文

  面向服务的架构(SOA)是一种松耦合服务模式,通过标准化的接口来联系各种形式的服务,这对信息资源的二次利用和服务模式的二次重整具有极大的作用。但是,SOA的应用目前尚处于起始阶段,还存在许多安全问题有待解决。

  SOA的安全问题

  SOA是通过XML/SOAP等几种标准化技术来实现的。但是,SOA的安全存在以下几个难点。

  1. 不同信任域的信任关系如何转移和认同

  业务流程可能由不同厂商的基于异构平台的多种服务组合而成,每个服务都具有各自独立的安全域。这些安全域可能由企业的不同部门负责管理和维护,这要求必须在SOA的范围内建立统一的信任体系,然而实施起来难度极大。

  2. 安全标准不统一

  SOA具备来自异构系统的多样性特点,要求建立一个统一的安全基础设施和标准。但是目前情况是: 不同的应用系统有不同的认证、授权模式,协调和统一难度大。

  3. 如何应对第三方服务交互请求带来的威胁

  传统的安全防御对象主要是针对人,而SOA更多地强调了设备与设备的交互,即所谓服务的互操作性,如何应对来自合作伙伴或第三方服务交互请求的威胁(大多数情况下,这些请求可能被人恶意利用和操纵),将是SOA安全防御的一项重要课题。身份验证和授权在这个环境中变得更加富于挑战性。在未受保护的SOA中,想要阻止Web服务的未授权使用实际上是不可能的。未授权用户可以非常轻松地访问Web服务,而Web服务往往不具备跟踪谁在使用它们或者谁被允许使用它们的固有毛病。

  4. 其他安全问题

  SOA整套架构在应用层与表达层的隔离上做得不完美,这会导致未来阶段,新的代理程序很容易寻找和利用SOA的安全漏洞; 僵尸网络工具准确找到应用中的安全漏洞的概率很大,而且准确性比现在的工具高得多。

  应对SOA安全性问题的相关标准

  为了应对上述问题,OASIS制定了一系列技术标准,这些标准包括:

  WS-Security。描述如何将XML加密和XML签名应用于SOAP文档或信息。

  WS-SecurityPolicy。对哪些人被允许访问某个服务以及访问方式做出规定,并对认证方式的类型和/或所需要的加密等级做出限制。这是Web服务策略(WS-Policy)的子集,以更为通用的方式对服务的能力和限制进行描述。此标准由IBM和微软公司共同开发,并于2007年7月正式确立。

  WS-SecureConversation。 是按照WS-Security标准,实施WS-SecurityPolicy中所描述的策略的方法。此标准于2007年3月通过审批,Actional、BEA 、思科、CA公司、利基网络、Oracle、Reactivity、RSA等厂商都表示支持此标准。

  WS-Trust。应用WS-Security标准传输密码、数字证书以及安全性断言标记语言(SAML)等安全标识。XML密钥管理规范 (XKMS)和SAML有部分相同之处。

  WS-Federation。根据WS-SecurityPolicy中描述的服务规则,应用WS-Trust中提到的被传输的安全标识,通过Web服务的认证。相较SAML,主要优势在于Windows支持这一标准。

  这些标准中需重点关注WS-Security。

  SOA的安全解决之道

  1. 在服务模块前通过SOAP解析器来解决安全问题

  著名的Hugh Taylor、Eric Pulier在《松散耦合的SOA环境中的安全性》一文中提到了这种方法。

  2. 整合信任源

  不同的信任源有不同的信任基础,比如通过“用户名+口令”、证书、生物识别,需要整合上述信任基础,统一到一个完整的信任库中,通过Security Assertion标签完成信任基础的定义并明确导向。基于目前的现状,建议将其整合到CA平台上。目前的问题是CA的认证比较复杂,规模和流量对SOA的影响颇大,面向政府的SOA架构可能没有太多问题,但是对于大型系统(如客票系统)可能会存在问题。未来是否能够应用南湘浩的CPK技术,值得业界讨论。

  3. 采用相关的安全产品

  SOA安全网关: 网关为进入企业的XML流量提供了一个代理,并运用安全策略来确保某种形式的请求与验证。其主要作用是对SOAP进行解析,如果SOAP中涉及encrypt标签,需指向专门的SOAP加解密设备来完成。

  SOA安全平台: 主要提供验证和授权方面的安全支撑。

  SOA反病毒邮件网关: 目前能够针对SOAP病毒的反病毒邮件网关还比较少,需要增加特定的SOAP协议支持才能对SOAP病毒进行防范。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 购买应用集成工具可以采取平衡做法

    购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。