信息化 频道

企业SOA安全:没有最好 只有更好

【IT168 信息化】安全问题,不是对面向服务架构(SOA)避而远之的理由。虽然SOA安全还没有完全成熟起来,但如今有30%的企业在使用SOA与外部的客户和合作伙伴进行集成。对使用简单对象访问协议(SOAP)的标准Web服务而言,WS-Security规范达到了作为一项基本标准所需的临界规模。另一方面,高级的SOA安全解决方案――涉及合作伙伴之间的联合、不可否认性(nonrepudiation)以及跨实现的多层服务传播用户身份――还处于初期阶段。为了从如今的实用阶段进入到将来的高级SOA安全阶段,你就要为完善SOA安全架构建立一个反复迭代设计过程;这个架构要考虑目前及将来的安全要求、新兴的行业规范、SOA安全方面产品功能的重叠,以及可能需要定制的安全集成。

 


SOA安全所涉及的内容

     作为设计SOA安全的基础,为SOA请求和响应确保安全的最简单方法就是,把它们放在虚拟专用网(VPN)里面。确保外部SOA安全的最常用方法就是使用双向安全套接层(SSL)协议,该协议:

1) 允许彼此联系的各合作伙伴都能验证对方的身份;

2) 为安全设定了高标准。

     除非黑客从服务使用者处窃取了证书和密钥,否则他们甚至无法连接到基于SOA的服务。虽然建立VPN比较容易,但基于VPN的SOA安全存在粗粒度(coarse-grained)的弊端,也没有能力来支持一些高级功能,比如跨实现的多层服务传播用户身份;多个安全域之间的协调和联合;以及严格的不可否认性。另外,证书日常管理可能会成为管理负担。

     确保SOA安全的其他重要办法包括:利用Java或.NET应用平台中现有的SOA安全特性,或把SOA专业产品中的SOA安全特性结合起来,比如企业服务总线、SOA和Web服务管理解决方案、SOA安全服务或SOA硬件设备等产品。硬件设备为SOA安全提供了最简单、最专门的“嵌入式”(drop-in)解决方案;不过构建整体SOA平台时,需要考虑SOA专业产品具有的一些优缺点。

 


SOA架构的层次

     借助应用服务器和SOA专业产品的新兴功能,连一些简单的SOA安全解决方案也很诱人。在过去,企业一直不太情愿处理实现高级应用安全要求所面临的困难。随着实现的SOA安全机制不断成熟――加上有了更广泛的架构来实现安全联合,实现高级安全场景就会比较容易。许多用户企业会发现,高级SOA安全成了一项必需的要求――特别是由于数据隐私及其他法规越来越多,更是如此。因而有必要事先料到在业务要求需要、SOA安全成熟度允许的情况下,需要构建更深入的额外安全功能,并为之留出余地,哪怕你从简单的SOA安全解决方案入手也是如此。

     弗雷斯特研究公司(Forrester)强烈建议,你设计的解决方案应当不需要应用程序开发人员编写与安全有关的代码。就算借助严格的指导准则和代码审查,从获得一致的安全性以及便于将来应用程序安全具有灵活性、可以不断改进来看,把安全性嵌入到应用程序代码中的做法都面临很高风险。要注意:不是说让开发人员不必为安全性编写代码,就用不着培训应用程序开发人员使用一套安全编码实践了。安全编码是应用安全实践的一个单独领域,涉及确保应用程序故障不会留下安全漏洞等问题。
 

0
相关文章