隨著企業(yè)信息化的迅猛發(fā)展,企業(yè)面臨的IT環(huán)境越來(lái)越復(fù)雜,迫切需要一個(gè)松散耦合的、跨平臺(tái)的,與語(yǔ)言無(wú)關(guān)的系統(tǒng)來(lái)快速應(yīng)對(duì)外界的變化,為了解決這一難題,越來(lái)越多的企業(yè)注意到了SOA(面向服務(wù)的架構(gòu)),它使企業(yè)能夠?qū)⒆陨順I(yè)務(wù)整合提供給客戶(hù)和合作伙伴使用,增強(qiáng)了企業(yè)業(yè)務(wù)的敏捷性,降低了企業(yè)信息系統(tǒng)的開(kāi)發(fā)成本。 由于SOA體系使企業(yè)能夠?qū)⒆陨順I(yè)務(wù)整合提供給客戶(hù)和合作伙伴使用,推動(dòng)企業(yè)信息化的發(fā)展,因此越來(lái)越多的企業(yè)開(kāi)始向它們的客戶(hù)和商業(yè)合作伙伴開(kāi)放SOA服務(wù),把內(nèi)部服務(wù)暴露在Web上,能給用戶(hù)的使用帶來(lái)方便,但是開(kāi)放一個(gè)大規(guī)模的Web Services要網(wǎng)絡(luò)牽扯到多家企業(yè),各家企業(yè)需要對(duì)安全技術(shù)、安全策略等達(dá)成一致。由于SOA的這種跨平臺(tái)性和基于Web服務(wù)的開(kāi)放性,使原有的系統(tǒng)更加復(fù)雜,給企業(yè)帶來(lái)了更多的安全風(fēng)險(xiǎn)。
SOA具有松散的耦合性,高度的微粒性以及通常是分布廣泛而且是多步的等特點(diǎn),它可以將內(nèi)部服務(wù)和外部服務(wù),獨(dú)立的執(zhí)行和非獨(dú)立的平臺(tái)統(tǒng)統(tǒng)結(jié)合起來(lái)。但這種松散的耦合引發(fā)了挑戰(zhàn),那就是所有的人都可以進(jìn)行企業(yè)級(jí)的安全和管理有關(guān)的活動(dòng)。
SOA安全還沒(méi)有完全成熟起來(lái)但如今有30%的企業(yè)在使用SOA與外部的客戶(hù)和合作伙伴進(jìn)行集成。對(duì)使用簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議(SOAP)的標(biāo)準(zhǔn)Web服務(wù)而言,WS-SecurITy規(guī)范達(dá)到了作為一項(xiàng)基本標(biāo)準(zhǔn)所需的臨界規(guī)模。另一方面,高級(jí)的SOA安全解決方案——涉及合作伙伴之間的聯(lián)合、不可否認(rèn)性以及跨實(shí)現(xiàn)的多層服務(wù)傳播用戶(hù)身份——還處于初期階段。為了從如今的實(shí)用階段進(jìn)入到將來(lái)的高級(jí)SOA安全階段,就要為完善SOA安全架構(gòu)建立一個(gè)反復(fù)迭代設(shè)計(jì)過(guò)程;這個(gè)架構(gòu)要考慮目前及將來(lái)的安全要求、新興的行業(yè)規(guī)范、SOA安全方面產(chǎn)品功能的重疊,以及可能需要定制的安全集成。
而在過(guò)去,企業(yè)一直不愿意處理實(shí)現(xiàn)高級(jí)應(yīng)用安全要求所面臨的困難。隨著實(shí)現(xiàn)的SOA安全機(jī)制不斷成熟——加上有了更廣泛的架構(gòu)來(lái)實(shí)現(xiàn)安全聯(lián)合,實(shí)現(xiàn)高級(jí)安全場(chǎng)景就會(huì)比較容易。許多CIO會(huì)發(fā)現(xiàn),高級(jí)SOA安全成了一項(xiàng)必需的要求——特別是由于數(shù)據(jù)隱私及其他法規(guī)越來(lái)越多,更是如此。因此,從專(zhuān)業(yè)的安全角度來(lái)看,SOA 必須受到保護(hù)。
保護(hù)企業(yè)SOA基礎(chǔ)設(shè)施免受攻擊
企業(yè)在競(jìng)中充分利用面向服務(wù)的架構(gòu)(SOA)帶來(lái)的種種機(jī)遇來(lái)提高企業(yè)的競(jìng)爭(zhēng)力。因而,這些技術(shù)具有的普遍性標(biāo)志著企業(yè)機(jī)構(gòu)對(duì)待隨之而來(lái)的安全挑戰(zhàn)會(huì)出現(xiàn)根本變化――尤其是被企業(yè)機(jī)構(gòu)認(rèn)為的兩大SOA安全挑戰(zhàn)。
第一、身份安全
在SOA環(huán)境中,由于身份不是僅僅局限于單個(gè)用戶(hù),這些概念變得更加復(fù)雜。必須常常為服務(wù)本身賦予身份。也就是說(shuō),當(dāng)一個(gè)服務(wù)調(diào)用另一個(gè)服務(wù)時(shí),每個(gè)服務(wù)都要有相應(yīng)身份。比方說(shuō),運(yùn)送服務(wù)可能被訂單處理系統(tǒng)自動(dòng)調(diào)用,而訂單處理系統(tǒng)必須確認(rèn)為運(yùn)送服務(wù)是值得信任的身份;否則訂單無(wú)法處理。從訂單處理、醫(yī)療審批到高價(jià)值的銀行業(yè)務(wù),每家企業(yè)對(duì)待SOA安全都必須格外慎重,而信任是推動(dòng)開(kāi)展這些業(yè)務(wù)的核心原則。安全政策失敗帶來(lái)的影響會(huì)一直影響到企業(yè)利潤(rùn)。
另外,身份系統(tǒng)繼續(xù)迅猛發(fā)展,從而迫使個(gè)人成為自己的身份管理員;面對(duì)自己所使用的每個(gè)服務(wù),都需要處理好自己創(chuàng)建的身份及第三方授予的身份;并且在伴隨信息披露力度加大而來(lái)的隱私與聲譽(yù)之間作好平衡。個(gè)人還要有一套公用的“操作程序”,以便順利應(yīng)對(duì)這個(gè)新的安全格局。
作為SOA安全的補(bǔ)充,安全軟件能夠增強(qiáng)SOA支持的業(yè)務(wù)流程的應(yīng)變能力。在整合架構(gòu)中首要的角色是協(xié)助管理員和人員進(jìn)行監(jiān)控、管理、保全并控制SOA為基礎(chǔ)的服務(wù)和應(yīng)用程序組件端對(duì)端實(shí)施。公司越來(lái)越重視通過(guò)共享和傳播信息來(lái)推動(dòng)業(yè)務(wù)發(fā)展,這個(gè)戰(zhàn)略也變得越來(lái)越重要,不久終端用戶(hù)將不再忍受不可理的整合習(xí)慣。
此外,商務(wù)方面需要簡(jiǎn)單的進(jìn)行交易而不需要在通過(guò)每一個(gè)門(mén)戶(hù)時(shí)都停下來(lái)進(jìn)行身份驗(yàn)證。為此,身份管理軟件應(yīng)該為互用提供以政策為基礎(chǔ)的整合安全管理以確保在不需要在雙方公司獲取身份的情況下安全的獲取信息和服務(wù),從而節(jié)省時(shí)間并降低成本。除此以外,單一的SOA登錄工具可以幫助在應(yīng)用程序間整合安全,不管它們是現(xiàn)場(chǎng)的或是虛擬存在以支持公司擴(kuò)大業(yè)務(wù)、合并資產(chǎn)或修正其在法律遵從和治理方面的做法。
第二,SOA的信息安全
2008年,一種新的威脅對(duì)大約120萬(wàn)個(gè)網(wǎng)站造成了不良影響,包括一些非常知名的網(wǎng)站,這種威脅就叫搜索引擎優(yōu)化(SEO)代碼注入或中毒。隨著這個(gè)破壞性極強(qiáng)的威脅其影響越來(lái)越小,人們卻清晰地發(fā)現(xiàn):應(yīng)用程序已成為了黑客攻擊的“重災(zāi)區(qū)”。之所以出現(xiàn)這個(gè)安全漏洞,一方面在于從整體式應(yīng)用程序變化成為組合式應(yīng)用程序,既通過(guò)SOA類(lèi)別的流程編排,又通過(guò)Web 2.0類(lèi)別的窗口組件和混合技術(shù)。這些組合式應(yīng)用程序可能采用真正的混合搭配方式,包含了來(lái)自眾多來(lái)源的應(yīng)用程序代碼。雖然這極大地提高了程序設(shè)計(jì)員的工作效率,并且讓許多對(duì)程序設(shè)計(jì)一竅不通的人稍加培訓(xùn),就能編制復(fù)雜的應(yīng)用程序,但也導(dǎo)致應(yīng)用程序容易出現(xiàn)漏洞。
部署SOA 安全成關(guān)健
SOA代表著方向,代表著趨勢(shì),是企業(yè)管理達(dá)到的最高境界,是管理軟件疊加應(yīng)用由量變到質(zhì)變的豐碩成果。如果不用SOA開(kāi)放架構(gòu),那么這些物理的、分散的管理系統(tǒng)將無(wú)法實(shí)現(xiàn)最佳應(yīng)用效果,只有通過(guò)一個(gè)平臺(tái),一個(gè)架構(gòu),將這些系統(tǒng)有機(jī)地嫁接起來(lái),并將企業(yè)許多業(yè)務(wù)整合到平臺(tái)中,最終實(shí)現(xiàn)業(yè)務(wù)與系統(tǒng)同步,才是發(fā)展SOA的根本目的。
SOA真正實(shí)施起來(lái)卻存在著很多問(wèn)題。即使是主打SOA的軟件廠商也缺乏對(duì)IT、商業(yè)、開(kāi)發(fā)生命周期、人員、流程、合作伙伴、數(shù)據(jù)等的綜合考慮; 缺乏成熟的解決方案,面對(duì)企業(yè)不愿意大規(guī)模增加資金、人員投入改造現(xiàn)有業(yè)務(wù)系統(tǒng)的局面,沒(méi)有成熟的解決辦法;缺乏典型的行業(yè)系統(tǒng)應(yīng)用案例,當(dāng)前很多SOA案例都是由廠商主導(dǎo)并打造的行業(yè)典型應(yīng)用,SI和ISV本身的價(jià)值并沒(méi)有得到體現(xiàn),而SI和ISV的優(yōu)勢(shì)就是熟悉行業(yè)業(yè)務(wù),能提供成熟的行業(yè)應(yīng)用解決方案。因此,只有當(dāng)渠道商將SOA架構(gòu)真正融入到其具體應(yīng)用系統(tǒng)解決方案中,用戶(hù)才更容易接受和采納,但現(xiàn)在,SI和中小ISV還并沒(méi)能樹(shù)立典型的應(yīng)用案例,其在行業(yè)中的增值作用還沒(méi)有在SOA的拓展中發(fā)揮出來(lái)。
有廠商認(rèn)為,目前中國(guó)的SOA還局限于技術(shù)人員間的探討,還沒(méi)有到大規(guī)模部署和實(shí)踐的時(shí)候。對(duì)于這一點(diǎn)似乎沒(méi)有人提出疑問(wèn),因?yàn)楸M管中國(guó)企業(yè)的基礎(chǔ)信息化建設(shè)已經(jīng)比較完善,但涉及到更高層次的應(yīng)用還有諸多掣肘。
SOA真正實(shí)施起來(lái)卻存在著很多問(wèn)題。即使是主打SOA的軟件廠商也缺乏對(duì)IT、商業(yè)、開(kāi)發(fā)生命周期、人員、流程、合作伙伴、數(shù)據(jù)等的綜合考慮; 缺乏成熟的解決方案,面對(duì)企業(yè)不愿意大規(guī)模增加資金、人員投入改造現(xiàn)有業(yè)務(wù)系統(tǒng)的局面,沒(méi)有成熟的解決辦法;缺乏典型的行業(yè)系統(tǒng)應(yīng)用案例,當(dāng)前很多SOA案例都是由廠商主導(dǎo)并打造的行業(yè)典型應(yīng)用,SI和ISV本身的價(jià)值并沒(méi)有得到體現(xiàn),而SI和ISV的優(yōu)勢(shì)就是熟悉行業(yè)業(yè)務(wù),能提供成熟的行業(yè)應(yīng)用解決方案。因此,只有當(dāng)渠道商將SOA架構(gòu)真正融入到其具體應(yīng)用系統(tǒng)解決方案中,用戶(hù)才更容易接受和采納,但現(xiàn)在,SI和中小ISV還并沒(méi)能樹(shù)立典型的應(yīng)用案例,換言之,其在行業(yè)中的增值作用還沒(méi)有在SOA的拓展中發(fā)揮出來(lái)。Burton集團(tuán)副總裁兼研究總監(jiān)Anne Thomas Manes 表示:“大多數(shù)SOA案例的失敗都是人員和文化問(wèn)題的結(jié)果而非技術(shù)問(wèn)題”。
三大切入點(diǎn) 確保SOA安全
SOA 安全網(wǎng)關(guān):網(wǎng)關(guān)為進(jìn)入企業(yè)的XML流量提供了一個(gè)代理,并運(yùn)用安全策略來(lái)確保某種形式的請(qǐng)求與驗(yàn)證。同樣的故事也會(huì)發(fā)生在SOA身上。許多企業(yè)都從SOA網(wǎng)關(guān)入手來(lái)攔截基于XML的惡意軟件和未經(jīng)授權(quán)的應(yīng)用請(qǐng)求。由于其易于實(shí)施,這可以說(shuō)是一個(gè)很好的切入點(diǎn)。
早期的大型網(wǎng)站都偏向于直接在網(wǎng)絡(luò)應(yīng)用里建立自己的驗(yàn)證和授權(quán)技術(shù)。 在當(dāng)時(shí)這的確很有效,也能提供根本的保護(hù)。但很快這些應(yīng)用就變得越來(lái)越復(fù)雜,在管理上也變得越來(lái)越困難。因此企業(yè)開(kāi)始部署獨(dú)立的網(wǎng)絡(luò)訪(fǎng)問(wèn)管理(WAM)產(chǎn)品?,F(xiàn)在許多大型網(wǎng)站都已將WAM作為整體架構(gòu)的一部分。
XML網(wǎng)關(guān)能通過(guò)提供網(wǎng)絡(luò)上的安全處理和硬件加速來(lái)保障SOA的安全。XML網(wǎng)關(guān)將安全協(xié)議應(yīng)用到需要保護(hù)的SOA服務(wù)。它代表的是位于真實(shí)網(wǎng)絡(luò)服務(wù)前端的虛擬服務(wù)。這些虛擬服務(wù)可以被提速,還可以包括在真實(shí)SO服務(wù)之前發(fā)生的過(guò)渡服務(wù)。舉例來(lái)說(shuō),XML網(wǎng)關(guān)可以呈現(xiàn)在真實(shí)SOAP網(wǎng)絡(luò)服務(wù)前端的REST界面。用這種方法,XML網(wǎng)關(guān)通常能提供協(xié)議調(diào)解,信息過(guò)渡,硬件加速以及安全。
SOA平臺(tái):在為SOA應(yīng)用提供管理的同時(shí),平臺(tái)在驗(yàn)證和授權(quán)方面也提供了一些基本的安全保護(hù)。在有這么多選擇的市場(chǎng)中,要選擇一款SOA安全工具似乎是很容易的。事實(shí)上恰恰相反。這是由于在談到SOA安全“產(chǎn)品”的角色,是一個(gè)單一裝置還是整套軟件工具,亦或是一個(gè)平臺(tái)方面還存在著許多模糊不清的地方。根據(jù)環(huán)境的不同,安全措施可能會(huì)包括其中一個(gè)或是所有這些情境。
SOA容器:最終每種應(yīng)用都將直接建立自己的安全功能來(lái)保護(hù)數(shù)據(jù)安全。SOA裝置能夠幫助改善許多核心流程,包括那些會(huì)導(dǎo)致高網(wǎng)站流量的流程,如財(cái)務(wù)交易、網(wǎng)上購(gòu)物、庫(kù)存優(yōu)化和同步多渠道產(chǎn)品等。
影響SOA安全因素
第一, 訪(fǎng)問(wèn)權(quán)控制和安全是SOA管理提出的關(guān)鍵問(wèn)題。因此,SOA管理應(yīng)該是你的SOA基礎(chǔ)架構(gòu)整體中不可分割的一部分,而不是隨后加入。從實(shí)際出發(fā),你需要在SOA項(xiàng)目早期考慮安全和控制。
第二,有了妥善的規(guī)劃,SOA管理將降低SOA項(xiàng)目的成本實(shí)施時(shí)間。普遍認(rèn)識(shí)到項(xiàng)目周期早期發(fā)生的改變/修復(fù)相較于晚期來(lái)說(shuō)影響更小。越晚決定對(duì)SOA管理提出的問(wèn)題進(jìn)行解決,對(duì)之前所做決策的影響就會(huì)越大,而代價(jià)往往是巨大的。
第三, 組織往往只有在出現(xiàn)問(wèn)題的時(shí)候才會(huì)想到管理。很難去量化由于基礎(chǔ)架構(gòu)中累贅?lè)?wù)或安全破壞所造成的干擾帶來(lái)的成本。你要做的不是去尋找救火措施,而是利用SOA管理工具主動(dòng)的控制和監(jiān)控業(yè)務(wù)。
隨著時(shí)間的推移,SOA的安全保護(hù)將會(huì)更加具體化,SOA必定會(huì)發(fā)展的更為壯大.確保固有的靈活和真正無(wú)限的計(jì)算環(huán)境,這是SOA給企業(yè)CIO的承諾。同時(shí),SOA安全性的具體化將會(huì)是關(guān)鍵的手段之一。■