SOA使企业能够将自身业务打包提供给客户和合作伙伴使用,推动了电子商务的发展。同时,企业还承担了公开(或有限开放)所带来的一系列管理、安全和法律方面的风险。越拉越多的黑客行为已经表现出有组织犯罪的特征,攻击者也从过去单纯地炫耀和寻找刺激的心理转变为有目的的牟利。因此,我们在为SOA摇旗呐喊的时候,不能忽视SOA面临的安全挑战。
1 SOA安全性特点
1.1 跨技术、身份和管理边界的身份转换和传播
一套完整的业务流程可能由不同厂商的基于异构平台的多种服务组合而成,每个服务都具有各自独立的安全域。这些安全域可能由不同企业的不同部门负责管理和维护,这要求必须在SOA架构范围内建立统一的信任体系,使得请求者(人或程序)能够在服务间自由流动,系统能够自动地将请求者身份随着边界的不同而转换。
1.2 与合作伙伴建立信任
借助Web服务的强大能力,企业往往需要与合作伙伴建立紧密地服务和数据交换,发挥各自的优势来共同组成一个完整的一站式服务。比如一个旅行服务系统,机票订购由专门的机票代理公司提供,旅游线路设计和行程服务则由旅行社负责,而食宿则由当地旅店提供。为了保证客户信息能够在多个系统安全完整地流动,并及时地反映客户实时的旅行状态,必须在企业与合作伙伴之间建立可靠、安全的信任关系。
1.3 跨多个应用程序统一、重用和共享公共安全性
SOA具备来自异构系统的多样性,要求建立一个统一的安全基础设施和标准。每个应用系统可以使用共享安全组件,比如CA认证中心、信道加密方式和SOA安全网关等。此外,统一的安全标准遵从对于SOA整体安全性而言至关重要。
1.4 政府和行业规范要求的可追究性和可跟踪性
在业务合作伙伴之间交换敏感信息时,敏感信息必须受到保护,同时可能还需要用安全的方式在一定时期内保存敏感信息。在启用验证、审核和许可之前,必须保证消息源的完整性(如通过公证服务)。消息的完整性和保密性可以通过对敏感信息进行加密和数字签名来实现。完整的 SOA 设计必须不但涵盖消息级和传输级安全性,而且还要满足保存保护的内容以遵守政府规章制度和业界最佳实践的需要。企业需要对其提供的服务进行担保,确保服务仅执行其公开申明的操作,同时有义务为用户提供足够的安全保障。因此,企业必须保存系统操作记录,以此来跟踪其用户或消息,也就是说企业必须具有很强的服务审计能力。
1.5 SOA强调机器与机器的交互,而大多数IT安全性都是基于人与机器的交互
身份验证和授权在这个环境中变得更加富于挑战性。在未受保护的SOA中,想要阻止Web服务的未授权使用实际上是不可能的。未授权用户可以非常轻松地访问Web服务,而Web服务往往不具备跟踪谁在使用它们或者谁被允许使用它们的固有功能。传统的安全防御对象主要是针对人,而SOA更多地强调了机器与机器的交互,即所谓服务的互操作性,如何应对来自合作伙伴或第三方服务交互请求的威胁(大多数情况下,这些请求被人恶意利用和操纵)将是SOA安全防御的一项重要课题。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突