为多个SOA构建深度防御

日期: 2008-07-16 作者:Judith M. Myerson 来源:TechTarget中国 英文

  了解深度防御可以如何保护SOA不受攻击——不管是以技术为基础还是以策略和过程为基础构建。本文介绍了要为深度防御考虑哪些防御安全机制。


  引言


  应在公司用于检测漏洞和保护SOA基础结构的业务策略中包含用于目标和攻击者之间的多个SOA的深度防御模型。


  “在Web服务上下文中使用SLA,第5部分: SLA保证的防火墙Web服务”一文说明了如何集中防火墙管理,以更好地监视面向服务的体系结构(Service-oriented architecture,SOA)中的多个Web服务和相关应用程序的多层防火墙——并说明了为何需要为多个Web服务使用足够的防火墙来防止恶意通信的危害。建立多级防火墙是构建防御机制层的一个例子。现在我们将讨论如何使用IBM Business Modeler和Rational Web Developer for WebSphere来为多个SOA构建深度防御。
 
  深度防御如何工作


  如果部署多个防御安全机制,就可以更好地为SOA提供保护。为了克服某些技术和控制的固有缺点,可以使这些资源能够动态更改。这将帮助减少受到全面攻击的可能性,或者主动减少对暴露的漏洞的攻击。


  为了演示深度防御的工作原理,我们将首先研究包含三个主要层次的中心模型:核心层、中间层和最外层。每个层都具有二级对象层,这些对象层按照层次结构、面向对象或关系顺序排列。


  每个层次应包含的内容(相对于防御位置而言)视组织通过动态的资源操作保护 SOA 的业务策略和理念而定。对于一个模型,您可能会希望以技术为基础构建安全策略和控制。对于另一个模型,您可能会希望采用相反的方式:以安全策略和过程为基础构建技术和控制。


  对于这两个模型,都可以使用IBM WebSphere Business Modeler来对业务流程和技术及控制要求之间的联系进行建模。IBM Rational Web Developer for WebSphere允许对多个SOA中的Web服务的业务流程进行优化。此工具提供拖放UI Enterprise JavaBean组件,并可通过指向-点击(point-and-click)建立Web服务和IBM DB2? Universal Database?、IBM Informix?、Oracle或Microsoft SQL Server之间的Java数据库连接,从而缩短Java?学习曲线。


  核心层方案1:技术


  此深度防御模型使用以下示例作为技术基础:


  ·入侵检测系统(Intrusion Detection Systems,IDS)
  ·虚拟专用网(Virtual Private Network,VPN)扫描器
  ·PKI扫描器
  ·故障转移
  ·加密
  ·反病毒等内容筛选


  图1显示了其各自所处的位置。



  图1. 将技术作为模型基础
 
  使用这些技术的组合比只使用单项技术能更好地保护SOA不受攻击。如果其中一个核心技术工作不正常,其他技术(如故障转移)可以临时接管其相应的工作。您将有可能需要更改现成的软件包的缺省设置。


  Web服务硬件缺省检测程序


  为了更方便地检测缺省设置并管理设置配置,将需要开发一个Web服务硬件缺省检测程序,用来编译一个硬件缺省设置列表。查看该列表后,可以确定是否需要开发Web服务来更改设置和反映在配置管理配置文件中的更改。硬件缺省检测程序如图2中所示。



  图2. Web服务硬件缺省检测程序
 
  对设置更改(如加强防火墙)满意后,就可以进行控制的中间层方面的工作了。如图3中所示,其中包括访问、审核和加密。



  图3. 控制层
 
  您将需要确定可以基于核心层的风险消除技术自动实现何种类型的控制。需要确定用户可以在哪些级别访问系统,并基于其角色、职责和适用法律法规来授予权限。


  Web服务更改检测程序


  为了在核心层和控制层间建立联系,需要一个操作系统:Linux或Windows。需要开发一个Web服务更改检测程序,以检测这两个层中的更改。此Web服务将编译一个列表,列出何时以何种方式对软件和硬件设置进行了何种更改。查看此列表后,可以确定是否需要开发Web服务来对控制和技术进行调整。更改检测程序如图4中所示。



  图4. 连接部分和Web服务更改检测程序
 
  例如,对核心层的加密技术的更改要求对加密控制进行更改,反之亦然。类似地,对访问控制的更改要求更改核心层中的内置访问机制。


  Web服务安全策略


  根据更改检测程序的结果对控制进行了自定义后,就可以进行最外层的相关工作:安全策略和过程(如图5中所示)。可以开发Web服务安全策略应用程序来让系统管理员为具有不同角色和职责的用户自定义设置。



  图5. 安全策略和过程层
 
  安全策略分为三类:内置、自定义和高级策略。内置策略是Web服务应用程序的缺省设置。高级安全策略是硬拷贝或数字格式的文档。其中包括基础设施安全、外包、资产控制、个人安全、安全事故、物理安全、通信安全、系统开发、偶发事件计划以及法规遵从。


  核心层方案2:策略和过程


  如图6中所示,核心层以安全策略和过程作为基础。其上部是包含访问、审核和加密控制的中间层,然后是技术所在的最外层。



  图6. 核心层:安全策略和过程
 
  和第一个模型类型类似,安全策略也分为三类:内置、自定义和高级策略。系统管理员可以更改设置来扩大防御位置。内置策略通常为Web服务应用程序或技术的“工厂”设置。高级安全策略是以硬拷贝或数字格式准备的文档。为了实现文档中指定的流程的自动化,请考虑开发遵从性检查(如Sarbanes-Oxley法案和Gramm-Leach-Billey Financial Services Modernization 法案)和流程协调方面的Web服务应用程序。


  核心层可提供用于构建具有访问、审核和加密控制的中间层的基础。可以确定用户和组能在哪些级别访问系统,并基于其角色、职责和适用法律法规授予权限,并确定能实现何种类型的加密和审核控制。这些控制由相关技术的参数的设置方式决定。


  最外层是各项技术,使用这些技术的组合比使用单项技术能更有效地保护SOA。如果其中一个出现故障或工作不正常,其他资源(如防火墙、IDS和故障转移资源)可以接管其相应的工作负载,并动态分布到多个位置,以保护组织不受可能的攻击的影响。可以使用Web服务缺省检测程序来检测需要更改的缺省核心设置。这将帮助系统管理员更改缺省设置,以对SOA进行加强。


  为了在最外层和中间层之间建立联系,需要一个操作系统。另外,还需要Web服务更改检测程序来检测这两个层中的更改,以便进行必要的调整,例如调整访问控制和内置访问策略。


  多级深度防御


  在现实世界中,某些技术是第一深度防御框架提供的,而其他的则是第二深度防御框架提供的——在共享环境中。例如,除非为原始深度防御配备了最新的技术,否则第一深度防御的内容筛选和IDS可能需要与第二深度防御共享,如图7中所示。在另一个例子中,第一深度防御的审核控制中的一部分可能需要与第二深度防御共享——对于一个或多个SOA。



  图7. 共享技术层
 
  流程协调


  很有可能由于组织的全球特性而将深度防御框架作为更小的深度防御组件的协调机构对待。例如,不同的国家(地区)对于技术和控制的部署和安全策略的建立有着不同的法律法规。协调机构——如公司总部——可以对各个组件间的技术进行调整,以更好地保护多SOA不受协作攻击的影响。


  系统管理员必须谨慎,以免协调工作导致系统过载。将性能保持在最优水平的一个方法是开发一个Web服务度量应用程序(请参见图8),以测定深度防御的协调程度。还可以使用此应用程序来确定其与其他深度防御的类似部分的交互情况或共享部分深度防御的情况。



  图8. Web服务度量应用程序
 
  结束语


  开发多个深度防御要求事前进行规划,以确定应如何进行设计,以保护多个SOA和避免在高峰期出现过载。您应与系统管理员、业务分析人员和开发人员团队沟通,探讨应如何在各个防御位置动态地使用资源来开发深度防御,以便保护SOA。


  您将发现,解决这些问题后,可以更轻松地开发多级深度防御。使用IBM Relational Web Developer for WebSphere Software,您可以基于使用WebSphere Business Modeler建模的业务流程来开发Web服务。解决了这些问题后,管理员将发现管理SOA变得更加容易了。他们能够确定在不引起系统过载的前提下可以开发多少深度防御。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐