集成能夠幫助簡化商業流程、提高產品上市的時間、使企業對業務、共享的數據和服務中的變化更快地做出反應。例如,正確建立的SOA架構能夠讓一個電子商務網站與自己的供應商、分銷商、信用卡公司和消費者無縫地集成在一起。在一個客戶下訂單之后,系統將自動編排大量的信息,不須要在每一次登錄時都詢問用戶或者系統。
SOA還允許企業在不放棄和不更換老式系統的情況下通過抽象化某些商業流程、服務或者數據來重新煥發這些老系統的青春。企業能夠利用它們對現有的老式系統的投資,同時建立無縫地與老系統集成在一起的新系統。
對于最終用戶來說,這是涅盤。對于安全部門的人來說,這是他們最糟糕的噩夢。
集成的負面影響
上面提到的SOA的好處伴隨著在安全、隱私和遵守法規方面的很大風險。對于那些輕松地把防火墻后面和防火墻外面的其它服務集成在一起的服務來說,它們必須是可發現的和容易轉變的。許多SOA實施使用Web服務。Web服務使用WSDL(Web服務說明語言)說明如何啟用這個服務。UDDI(統一描述、發現和集成)是一種標準,通常與Web服務一起使用,允許發現和提取服務。SOA中常用的另外兩個標準是XML(可擴展標記語言)和SOAP(簡單對象訪問協議)。XML是一種自我說明格式,包含明文形式的信息,而SOAP是交換基于XML的信息的協議并且以明文提供重要的信息。雖然這些標準讓企業更容易地集成服務,但是,如果沒有適當的安全措施,它也會把這個王國的鑰匙交給黑客。
許多老式的系統的構造從來都不是要暴露給外部的,特別是不能暴露給防火墻外部的系統,F在,采用SOA之后,由于SOA的可發現的和自我說明的性質,黑客能夠訪問他們以前無法接觸的系統和數據。
企業中的挑戰
業內人士向許多架構師、廠商、培訓師和安全專家提出了一個簡單的問題:你認為在實施SOA的時候架構師需要解決的最大的安全風險是什么?這個問題的答案有如下幾類:
機構中缺乏對這種風險的嚴重的認識和知識。
在服務、系統和企業之間傳播證書。
監視、審計和強制執行政策的能力。
缺乏認識和知識
重要的是企業架構師要得到適當的培訓,這樣他們就能夠很好地理解SOA以識別這種風險。許多SOA計劃都是企業架構師小組從技術的觀點推動的。如果架構師不熟悉風險和其它問題,他們不僅不知道需要建立什么來這個服務的安全,而且他們還不知道在什么時候引進安全和審計專家。安全需要提前建立,不應該在事后建立。把安全建在每一個服務中對于每一項服務的性能和可維護性可能是一個負擔。安全應該作為一套核心的服務實施,允許集中管理和維護安全。此外,管理層必須理解這個風險并且提供適當的支持和資金以便有效地保證企業的安全。
傳播證書
許多服務是"無頭的",也就是說這些服務沒有相關的用戶接口。這些服務是通過啟動其它服務并且由其它服務啟動的,而且必須要把證書按照順序從頭到尾不間斷傳遍整個系統。更有挑戰性的是一個信息可能包含為多個服務用戶提供的XML數據。
以一個電子商務網站為例,一個訂單能夠引發一個包含提供給一個供應商、分銷商和信用卡公司的XNL數據,每一方都有不同的安全要求。只有信用卡公司有權訪問這個信用卡信息(信用卡信息應該按照PCI的要求加密)。供應商需要知道什么產品和在目錄的什么地方。分銷商需要知道有關產品和發貨地址的信息。因此,你從這個例子可以看出,過去簡單地使用SSL的日子是不夠的。在這個例子中,同樣的信息要同時發給三個不同的公司并且不需要任何一家公司登錄。許多公司采用WS-*標準(如Ws-Security、WS-Trust、WS-Federation、Ws-Policy等)來解決這些風險。
最佳做法包括XML加密,使用公共密鑰和/或者令牌,政策驅動的安全方法,而不是采用硬編碼。但是,在建立這些最佳做法的時候,事情會變得更加復雜。XML加密可以造成性能下降,從而產生XML設備/加速器的需求。政策驅動的安全需要用于更新、維護和審計安全政策的工具。這將把我們帶到下一類問題…
審計、監視和強制執行政策
許多回答這個問題的人強調了對于所有的服務的端對端的監視和審計重要性。說把適當的安全措施建在這個架構中是一回事。證明這個事情是另一回事。
把安全建成一種服務的架構師需要從審計和管理規定的角度考慮這種需求。我們有SOX、HIPAA、PCI和許多其它的法規。有時候,這些法規是相互沖突的。例如,SOX要求我們存儲有所有關金融交易的一切記錄,而PCI法規要求我們不能用明文存儲信用卡號碼。而且我們同時還必須把信用卡號碼信息傳送給金融機構。要實現這個目的,企業的所有種類的加密和其它加密措施都要進行審計。要通過這些審計,我們必須記錄每一個服務電話的正確的信息級別,向各種審計人員和管理部門提供一種方法,證明我們是遵守它們的規定的。一次糟糕的交易就會讓審計失敗。
一個大的挑戰是外部服務用戶以意想不到方式適應了某些服務。必須要有預見性地監視服務的消費以便識別出出人意料的不符合安全政策的用戶,在災難性結果出現之前迅速達成一個解決方案。最后,我們必須保證正確的數據在正確的時間交給正確的人。
我們能做什么?
有兩件事情能夠緩解這種風險。第一是提高認識。投資進行培訓和培訓每一個人,不僅僅使培訓開發人員。管理層需要高水平的培訓課程,而架構師、安全專家、審計師、開發人員、測試人員、商業分析師和其他人需要針對他們需求的培訓。
第二,安全是每一個人的責任,不僅僅是企業架構師和安全架構師的責任。機構要全力保證企業的安全。業內人士建議企業雇用有經驗的SOA安全人員或者雇用一個顧問把這個知識傳授給機構內部的安全部門。
推薦閱讀
事件報道: 2012年8月16日中午在北京798藝術區“小米2”手機發布會現場, “巧遇”的速途網評論中心主編丁道師和羅永浩進行了交談, 期間談到羅永浩手機上市時間話題, 隨后,速途網以"羅永浩牌"手機上市推遲 最快一>>>詳細閱讀
本文標題:SOA的安全風險與好處相并存
地址:http://m.sdlzkt.com/a/05/20120820/81741.html