SOA安全挑戰源自設備交互
傳統IT安全是基于人與設備交互,SOA強調設備與設備交互,因此SOA的安全問題面臨許多新的挑戰。
面向服務的架構(SOA)是一種松耦合服務模式,通過標準化的接口來聯系各種形式的服務,無論服務置于何地,均能通過一種便捷而統一的方式實現相關功能,這對信息資源的二次利用和服務模式的二次重整具有極大的作用。但由于SOA向基礎架構引入了許多連接,在形成一套松耦合連接的基礎上,包含了大量的依賴關系。因此,SOA也會面臨多方面的安全挑戰。
設備與設備交互
在具體技術上,SOA是通過XML/SOAP等幾種系列的標準化技術來實現的。但是圍繞SOA的安全問題一直沒有徹底解決的方法,其原因在于:
不同信任域的信任關系的轉移和認同。業務流程可能由不同廠商的基于異構平臺的多種服務組合而成,每個服務都具有各自獨立的安全域。這些安全域可能由不同企業的不同部門負責管理和維護,這要求必須在SOA架構范圍內建立統一的信任體系,然而這種努力確實難度極大。
不同應用服務統一、重用和共享的安全性。SOA具備來自異構系統的多樣性,要求建立一個統一的安全基礎設施和標準。但是目前情況是不同的應用系統有不同的認證、授權模式,協調和統一的難度大。
SOA強調設備與設備的交互,而大多數IT安全性都是基于人與設備的交互。傳統的安全防御對象主要是針對人,而SOA更多地強調了設備與設備的交互,即所謂服務的互操作性,如何應對來自合作伙伴或第三方服務交互請求的威脅(大多數情況下,這些請求被人惡意利用和操縱),將是SOA安全防御的一項重要課題。身份驗證和授權在這個環境中變得更加富于挑戰。在未受保護的SOA中,想要阻止Web服務的未授權使用實際上是不可能的,因為,未授權用戶可以非常輕松地訪問Web服務,而Web服務往往存在不具備跟蹤誰在使用它們或者誰被允許使用它們的固有毛病。
SOA整套架構在應用層與表示層的隔離上做得不***,這會導致未來階段,新的代理程序很容易尋找和利用SOA的安全漏洞,僵尸網絡工具準確找到應用中的安全漏洞的概率很大,而且準確性比現在的工具高得多。總之,SOA的應用畢竟處于起始階段,安全性還存在許多的問題。
技術策略要有針對性
為了應對SOA面臨的安全問題,OASIS國際標準組織已經制定了一系列技術標準,這些標準從不同的角度匡定了SOA的安全管理規范。比如說,WS-Security,描述如何將XML加密和XML簽名應用于SOAP文檔或信息;WS-SecurityPolicy,對哪些人被允許訪問某個服務以及訪問方式做出規定,并對認證方式的類型、所需要的加密等級做出限制。
除了這些技術規范外,SOA的安全問題還可通過一些技術策略來加以應對。
首先,可在服務模塊前通過SOAP解析器來解決安全問題。具體就是在Web服務消費者和Web服務之間來回傳遞的SOAP消息的路徑中放入一個叫做“SOAP攔截器”的特殊軟件塊。因為其分類、監控、復制和轉發包含大量數據的SOAP消息的能力,SOAP攔截器可以在SOA安全性方面發揮重大作用。
其次可以整合信任源。不同的信任源有不同的信任基礎,比如通過用戶名+口令、證書、生物識別,通過把這些不同信任源的信任基礎統一整合到一個完整的信任庫中,再通過Security Assertion標簽完成信任基礎的定義并明確導向。基于目前企業信息化的現狀,整合到CA平臺上是一個高效可行的方式,目前的問題是CA的認證比較復雜,規模和流量對SOA的影響頗大,面向政府的SOA架構可能沒有太多問題,但是對于大型系統(如客票系統)可能就會相對復雜。
***,還可以通過一系列具體的安全產品加強保護。SOA安全網關:網關為進入企業的XML流量提供了一個代理,并運用安全策略來確保某種形式的請求與驗證,主要作用是對SOAP進行解析,如果SOAP中涉及encrypt標簽,需指向專門的SOAP加解密設備來完成;SOA安全平臺:主要提供驗證和授權方面的安全支撐;SOA反病毒郵件網關,目前能夠針對SOAP病毒的反病毒郵件網關還比較少,需要增加特定的SOAP協議支持才能對SOAP病毒進行防范。
總之,在企業SOA安全架構的咨詢過程中,應主要把握三點內容:1,分析SOA中對信息安全性的要求,包括了信息機密性、完整性和可用性需求,通過制定表格把信息敏感性確定下來;2,具體描述SOA中的標簽,通過信息的敏感性分別定義不同的SOAP安全標簽;3,部署統一的SOA信任域,不同應用系統有不同的信任對象和信任方式,統一納入到CA系統中進行信任是必要且可行的。
【編輯推薦】