SOA并不存在新的安全任务。问题在于SOA将多种现有的安全任务叠在了一起,有可能导致整个企业的安全措施遭到破坏。
介绍三个SOA存在的安全缺陷,以及如何管理这些缺陷。
SOA可能给企业造成的安全隐患主要有三点。Gartner公司的Ray Wagner在ComputerWorld中的一篇报道中提到了这三个隐患,并且介绍了最佳的管理办法。
隐患#1: SOA 跨过防火墙来获得外部服务。对基于网络的第三方服务的信任无疑带有安全问题。安全软件于是启用如扰码,数字签名等加密操作。Wagner说问题在于“SOA会在一个小时内进行数百次这样的动作,增加了计算机的工作负载。”而且,他观察到“这已经是质变”,而非量变。
最好的解决办法:技术能够起一些作用,但是Wagner认为最好的办法也许是告诉雇员可以访问那些外部服务外。
隐患#2: XML文件。Wagner 说“XML基本上能够包括任何类型的可执行文件或数据,也包括那些破坏性的文件”。SOA可能会增加传输的XML数量,因此根据数量级,被利用的几率也更高。传输的数据流中可能混进恶意软件。
最好的解决方法:采用能够截取和获取XML传输的第三方产品。Wagner提到了Crossbeam 系统和Forum系统,都能够提供基于防火墙的解决方案。 我可能会将这些加入到基于SOA的应用列表中,如那些通过Datapower提供的应用(现在已被IBM收购),也能在不劳动主服务器的情况下截取不坏好意的XML消息。
隐患 #3: 在SOA进行身份管理可能过于复杂。在一个简单的交易处理中,在会话开始时对用户进行身份识别,然后经过整个会话。Wagner说,在SOA中,用户可能发动一个交易,然后从服务器上断开,而交易会流转经过一组后端服务。Wagner 说:“我不仅不要识别是谁发起了交易,还要识别是谁(或则在自动过程中是什么东西)批准进行了交易。
最好的解决方法:Wagner说断开连接的“最可靠的方法”是采用Security Assertion Markup Language 来创建能够与交易附在一起的有代表性的身份识别。