基于管理软件SOA架构的业务安全性研究

发表于:2014-03-13来源:IT专家网作者:不详点击数: 标签:SOA架构
SOA(Service-Oriented Architecture,面向服务的体系结构)是一个组件模型,它将应用程序的不同功能单元通过这些单元之间定义良好的接口和契约联系起来。这些接口独立于实现服务的硬件平台、操作系统和编程语言,使得构建在各种各样的系统中的服务可以以一种

  SOA(Service-Oriented Architecture,面向服务的体系结构)是一个组件模型,它将应用程序的不同功能单元通过这些单元之间定义良好的接口和契约联系起来。这些接口独立于实现服务的硬件平台、操作系统和编程语言,使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。和以往联网的分布式的系统不同,SOA 与平台相独立,其通信和特定的平台和技术没有必然的联系。

  在企业中,将日常的各种业务应用划分为若干服务,然后通过SOA,用户可以构建、部署和整合这些服务,且无须依赖应用程序及其运行平台,从而提高业务流程的灵活性。例如,一个电子商务网站建立SOA架构后能够使自己与供应商、分销商、信用卡公司和消费者无缝地集成在一起。在一个客户下订单之后,系统将自动编排大量的信息,而不需要在每一次登录时都询问用户或者系统。对于企业来说,这种业务灵活性可以大大加快开发新业务的速度,并降低总体拥有成本,同时改善对及时、准确性业务信息的访问。

  不过,SOA在带给企业灵活性,便捷性的同时,对于现实的要求也是很高的。因为整个SOA 应用架构相当于企业的信息平台,而企业本身对于平台本身的安全性、可靠性以及相关的服务质量都有相当高的要求。为了确保SOA 能够切实给企业带来效益,企业必须通盘考虑这种新架构的运行平台。因为,SOA 在提供价值链上企业之间信息共享和业务流程自动化的同时,也给业务信息安全带来了负面影响,且存在安全隐患。

  一 SOA架构的负面影响

  SOA架构是一种松耦合服务模式,通过标准化的接口来联系各种形式的服务,无论服务置于何地,均能通过一种便捷而统一的方式实现相关功能,这对信息资源的二次利用和服务模式的二次重整具有极大的作用。但是,如果没有适当的安全措施,它也会把这个服务平台的钥匙交给黑客。另外,SOA安全标准的不成熟加剧了互操作性方面的难题。如果想严加保护涉及多个企业的庞大Web服务网络,每个企业必须就采用的技术、甚至安全策略达成共识。

  此外,企业中使用Web服务进行相互操作的系统对于内、外部攻击的防御能力越来越差。当这些系统使用的Web服务由供应商和业务伙伴等外部机构提供时,SOA和Web服务的部署工作将变得更加复杂,不得不谨慎部署最新的安全解决方案,如应用级防火墙、IDP、SSL VPN 和SSL卸载产品等,以便为企业中的SOA环境提供安全保护。

  二 基于SOA架构的业务安全隐患

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

  2.1 企业机构中缺乏对安全风险严重性的认识和知识

  企业机构中的人员普遍认为被攻击的几率极低,不可能发生在他们身上,因此对安全风险缺乏认识。没有安全意识,则导致对保障系统信息安全的知识不重视。事实上,安全应该作为一套核心的服务实施,允许集中管理和维护安全。此外,管理层必须理解这个风险并且提供适当的支持和资金以便有效地保证企业的安全。

  以一个电子商务网站为例,一个订单能够引发一个包含提供给一个供应商、分销商和信用卡公司的XML数据,由于每一方都有不同的安全要求,比如只有信用卡公司有权访问信用卡信息(信用卡信息应该按照PCI的要求加密),供应商需要知道什么产品及产品在目录的什么地方,分销商需要知道有关产品和发货地址的信息。如果不能保证XML传送的安全性,将泄漏交易过程中的敏感信息。

  2.3 欺诈问题

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

  2.4 其它方面的安全问题

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

  总之,SOA的应用还处于起始阶段,还存在许多的安全隐患。

  三 基于SOA架构的业务安全对策

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

  3.1 提高认识和明确责任感

  针对企业机构中缺乏对安全风险严重性的认识和知识的安全隐患,有两件事情能够缓解这种风险。第一是提高认识,通常采用培训安全知识的方式。不仅仅对开发人员进行培训,对于管理层、架构师、审计师、测试人员和其他人等都进行针对他们需求的培训。第二,安全是每一个人的责任,不仅仅是企业架构师和安全架构师的责任。机构要全力保证企业的安全。建议企业雇用有经验的SOA 安全人员或者雇用一个安全顾问把这个知识传授给机构内部的安全部门。

  3.2 采用加密和认证等技术防止信息泄露

  针对信息泄露的问题,需要进行多层次防范措施。采用加密和认证技术,在公共网络上建立安全专用隧道的网络,也就是常说的VPN;其次,网络服务的访问大多数通过HTTP协议,HTTP上实现的安全套接字层 (Security Socket Layer,SSL)也是成熟的安全通讯方式;但是,在上面的电子商务网站例子中,同样的信息要同时发给三个不同的公司,并且不需要任何一家公司登录,所以仅使用SSL是不够的。可以结合使用第三种即针对XML处理专门制定的消息级别的XML加密和处理标准,它把消息转换为一段经过加密的XML,消息仍然是XML格式的,但是使用加密算法将内容隐藏起来了。另外,保证XML传送安全在SOA安全中也非常重要。XML传送的安全包括两个部分:基础设施安全和加密。为了保证基础设施安全,硬件防火墙、安全设备都可以用来保护网络内部和外部的通信,通常这些设备都是SOA系统所必备的。但是,前提是需要对这些硬件防火墙和安全设备进行正确的配置以便保证XML信息在入口和网络界限之间能正常工作。这些XML信息包括数字签名的或者拥有其它安全标记的信息。而加密则是对SOA系统使用的XML文件进行加密。XML文件数字签名和加密有两个World Wide Web Consortium 规范:XML-加密和XML-签名。对于在HTTP连接之上发送的XML文件,则应使用SSL保护文件传送的安全。

原文转自:http://esoft.ctocio.com.cn/236/12880236_2.shtml