專利名稱:在云環(huán)境中自動分發(fā)安全規(guī)則的非侵入性方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及網(wǎng)絡(luò)安全領(lǐng)域。更具體地說,本發(fā)明涉及一種在云環(huán)境中自動分發(fā)(和更新)安全規(guī)則的非侵入性方法和設(shè)備。
背景技術(shù):
隨著計算機和互聯(lián)網(wǎng)技術(shù)的發(fā)展,諸如互聯(lián)網(wǎng)購物的Web應(yīng)用已經(jīng)普及,客戶機側(cè)腳本(如JavaScript)通常在這些應(yīng)用中被用于改進用戶體驗。然而,伴隨的安全問題卻日益嚴重。目前,Web應(yīng)用的安全性弱點的數(shù)量正在迅速增加。網(wǎng)絡(luò)應(yīng)用容易受到包括跨站腳本攻擊(XSS)、跨站請求欺騙(CSRF)、SQL注入、LDAP注入、命令注入、PHP注入等的攻擊。統(tǒng)計顯示90%的站點容易受到網(wǎng)絡(luò)應(yīng)用攻擊。例如,XSS攻擊是網(wǎng)絡(luò)應(yīng)用攻擊的典型例子。XSS攻擊是指攻擊者把惡意腳本嵌入在看似來自可信任源的鏈接中,從而當(dāng)一用戶點擊該鏈接時,嵌入的惡意腳本被發(fā)送到該用戶的客戶機進行執(zhí)行,例如來偷取該用戶的敏感信息。當(dāng)與異步的JavaScript和XML(AJAX) 一起使用時,XSS攻擊能夠在不對新網(wǎng)頁進行刷新的情況下以受害人的名義進行惡意請求,這使得這種攻擊更加的隱蔽和危險。上述的其它惡意攻擊與XSS攻擊基本類似,都是通過向Web應(yīng)用服務(wù)器注 入惡意代碼或腳本進行攻擊,在此不進行詳細描述。為了防止這種攻擊,需要在Web應(yīng)用服務(wù)器(例如WebSphere ApplicationServer, WAS)側(cè)驗證用戶的輸入(例如,HTTP請求)。作為應(yīng)用于Web應(yīng)用服務(wù)器側(cè)的透明保護機制的Web應(yīng)用防火墻(WAF-Web Application Firewall)被配置用來進行這種驗證。該Web應(yīng)用防火墻至少具有以下功能基于預(yù)定義的安全規(guī)則來驗證用戶的輸入;對于違反安全規(guī)則的用戶輸入,采取適當(dāng)?shù)陌踩Wo動作,例如,阻擋IP、拒絕請求、產(chǎn)生日志或重與有效負荷等。對于服務(wù)器-客戶機模式,只需簡單地對應(yīng)用于Web應(yīng)用服務(wù)器側(cè)的Web應(yīng)用防火墻設(shè)置安全規(guī)則。然而,在云環(huán)境中,由于多樣的配置和部署,提供針對注入xss、SQL注入等的應(yīng)用安全防護變得更加復(fù)雜。在云環(huán)境中,對于應(yīng)用的部署,存在多樣和動態(tài)的拓撲結(jié)構(gòu)I)基于定義的復(fù)合應(yīng)用模型,每個應(yīng)用可被部署在多個服務(wù)器上;2)在構(gòu)建時,對于一個應(yīng)用的安全規(guī)則應(yīng)該被應(yīng)用于部署該應(yīng)用的所有服務(wù)器。圖1示出了在云環(huán)境中的應(yīng)用被部署在多個服務(wù)器中的情況的例子。在現(xiàn)有技術(shù)中,在云環(huán)境中需要對部署了同一應(yīng)用的每個服務(wù)器單獨配置安全規(guī)貝U,這是非常麻煩且耗時的。
發(fā)明內(nèi)容
基于上述技術(shù)問題,需要一種能夠在云環(huán)境中簡化管理者對各個服務(wù)器進行安全規(guī)則配置的有效方法和設(shè)備。本發(fā)明的方法和設(shè)備能夠自動生成用于應(yīng)用的安全規(guī)則并將其分發(fā)到部署該應(yīng)用的多個服務(wù)器,從而滿足多樣的云環(huán)境中的復(fù)雜性要求。對于部署的應(yīng)用,無須進行代碼修改,從而對于已有的應(yīng)用是透明的。本發(fā)明的方法和設(shè)備能夠減輕針對多個服務(wù)器配置安全規(guī)則的負擔(dān)。為了解決上述問題,根據(jù)本發(fā)明的一個實施例,提供了一種在云環(huán)境中自動分發(fā)安全規(guī)則的非侵入性方法,包括以下步驟形成應(yīng)用的在云環(huán)境中的復(fù)合應(yīng)用模型,所述復(fù)合應(yīng)用模型至少包括用于部署所述應(yīng)用的各種服務(wù)器的類型;產(chǎn)生所述各種服務(wù)器在云環(huán)境中的拓撲模型;基于所述應(yīng)用的應(yīng)用上下文、所述復(fù)合應(yīng)用模型和所述拓撲模型,自動生成各服務(wù)器的服務(wù)器側(cè)防火墻要采用的安全規(guī)則;以及基于所述復(fù)合應(yīng)用模型和拓撲模型,將所述安全規(guī)則分發(fā)到每個服務(wù)器側(cè)防火墻。根據(jù)本發(fā)明的另一個實施例,提供了一種在云環(huán)境中自動分發(fā)安全規(guī)則的非侵入性設(shè)備,包括復(fù)合應(yīng)用模型形成裝置,用于形成應(yīng)用的在云環(huán)境中的復(fù)合應(yīng)用模型,所述復(fù)合應(yīng)用模型至少包括用于部署所述應(yīng)用的各種服務(wù)器的類型;拓撲模型產(chǎn)生裝置,用于產(chǎn)生所述各種服務(wù)器在云環(huán)境中的拓撲模型;安全規(guī)則生成裝置,用于基于所述應(yīng)用的應(yīng)用上下文、所述復(fù)合應(yīng)用模型和所述拓撲模型,自動生成各服務(wù)器的服務(wù)器側(cè)防火墻要采用的安全規(guī)則;以及安全規(guī)則分發(fā)裝置,用于基于所述復(fù)合應(yīng)用模型和拓撲模型,將所述安全規(guī)則分發(fā)到每個服務(wù)器側(cè)防火墻。此外,在另一個實施例中,基于從Web應(yīng)用防火墻提供的反饋信息,能夠?qū)Π踩?guī)則進行更新,并將更新的安全規(guī)則再次分發(fā)到所述多個服務(wù)器,從而適用于云環(huán)境中的多樣和動態(tài)的拓撲結(jié)構(gòu)。采用該技術(shù)方案,如果在運行時在一個服務(wù)器中發(fā)現(xiàn)了弱點,則可將防護該弱點的規(guī)則快速分發(fā)給部署了同一應(yīng)用的所有服務(wù)器。
以下通過結(jié)合附圖閱讀參考下述對說明性實施例的詳細描述,將更好地理解本發(fā)明本身、實施方式、其它目的及其優(yōu)點。在附圖中圖1示出了在云 環(huán)境中的應(yīng)用被部署在多個服務(wù)器中的情況的例子;圖2是示意性地示出應(yīng)用、復(fù)合應(yīng)用模型以及拓撲模型之間的映射關(guān)系的說明圖;圖3示意性地示出了應(yīng)用服務(wù)器防火墻在系統(tǒng)中的位置;圖4示出了一個HTTP請求的例子;圖5是示出了根據(jù)本發(fā)明的一個實施例的方法流程500的流程圖;圖6示出了根據(jù)本發(fā)明的另一個實施例的方法流程600 ;以及圖7是示出了根據(jù)本發(fā)明的一個實施例的在云環(huán)境中自動分發(fā)安全規(guī)則的非侵入性設(shè)備700的框圖。圖8表示根據(jù)本發(fā)明一實施例的云計算節(jié)點。圖9表示根據(jù)本發(fā)明一實施例的云計算環(huán)境。圖10表示根據(jù)本發(fā)明一實施例的抽象模型層?,F(xiàn)在參照附圖描述優(yōu)選方法和系統(tǒng),其中,在附圖中相同的附圖標(biāo)號用來指相同的部件。在下面的描述中,為了解釋的目的,闡述大量特定的細節(jié),以便幫助完全了解系統(tǒng)及方法等。在其它的例子中,為了簡化描述,以框圖的形式示出常用的結(jié)構(gòu)和裝置。對于本領(lǐng)域技術(shù)人員來說,可以想到很多修改和其它實施例,同時擁有在說明書和附圖中所教導(dǎo)的益處。因此,應(yīng)該理解,本發(fā)明不局限于所公開的特定實施例,另外可選的實施例應(yīng)當(dāng)包含在本發(fā)明的范圍和范例發(fā)明構(gòu)思內(nèi)。雖然本文采用了一些特定術(shù)語,但是僅僅為了一般的描述意義而非限制目的使用它們。
具體實施例方式以下將參照附圖對本發(fā)明的具體實施方式
進行詳細說明。在以下的說明中,首先,對本公開中使用的關(guān)鍵術(shù)語進行描述。下列討論中,提供大量具體的細節(jié)以幫助徹底了解本發(fā)明。然而,很顯然對于本領(lǐng)域技術(shù)人員來說,即使沒有這些具體細節(jié),并不影響對本發(fā)明的理解。并且應(yīng)該認識到,使用如下的任何具體術(shù)語僅僅是為了方便描述,因此,本發(fā)明不應(yīng)當(dāng)局限于只用在這樣的術(shù)語所表示和/或暗示的任何特定應(yīng)用中。首先應(yīng)當(dāng)明白,盡管本公開包括關(guān)于云計算的詳細描述,本公開所記載的技術(shù)方案的實現(xiàn)卻不限于云計算環(huán)境。本發(fā)明的實施例能夠結(jié)合現(xiàn)在已知的或以后開發(fā)的任何其它類型的計算環(huán)境而實現(xiàn)。云計算是一種服務(wù)交付模型,用于對共享的可配置計算資源池進行方便、按需的網(wǎng)絡(luò)訪問。可配置計算資源例如是網(wǎng)絡(luò)、網(wǎng)絡(luò)帶寬、服務(wù)器、處理、內(nèi)存、存儲、應(yīng)用、虛擬機和服務(wù),是以最小的管理成本或者最少的與服務(wù)提供者的交互就能快速提供和釋放的資源。這種云模型可以包括至少五個特征,至少三個服務(wù)模型和至少四個部署模型。特征如下按需自助式服務(wù)云消費者能單方面自動地按需提供計算能力,諸如服務(wù)器時間和網(wǎng)絡(luò)存儲,而無需與服務(wù)提供者進行人工交互。
廣泛的網(wǎng)絡(luò)接入云計算能力可在網(wǎng)絡(luò)上獲取,并且是通過標(biāo)準(zhǔn)機制獲取的,標(biāo)準(zhǔn)機制促進通過不同種類瘦客戶機平臺或厚客戶機平臺(例如移動電話、膝上型電腦、個人數(shù)字助理PDA)對云的使用。資源池將提供者的計算資源歸入資源池,通過多租戶(munt1-tenant)模式服務(wù)于多重消費者,不同的實體資源和虛擬資源按照需要被動態(tài)地分配和再分配。因為消費者一般不控制甚至不知道所提供的資源的確切位置,但是可能在較高的抽象程度上指定位置(例如國家、州或數(shù)據(jù)中心),所以有一種位置獨立感。迅速的彈性能迅速和有彈性地(有時是自動地)提供計算資源,以實現(xiàn)快速地擴展并且能快速地釋放。對于消費者來說,可用的計算資源常常顯得是無限的,在任何時候都能獲取任何數(shù)量的計算資源??蓽y量的服務(wù)云系統(tǒng)通過利用適于服務(wù)(例如存儲、處理、帶寬和活動用戶帳號)類型的某種抽象程度的計量能力,自動地控制和優(yōu)化資源效用??梢员O(jiān)測、控制和報告資源使用情況,為服務(wù)提供者和消費者雙方提供透明度。服務(wù)模型如下軟件即服務(wù)(SaaS):給予消費者使用提供者在云基礎(chǔ)架構(gòu)上運行的應(yīng)用的能力。應(yīng)用是可通過諸如網(wǎng)絡(luò)瀏覽器的瘦客戶機接口從各種客戶機設(shè)備訪問的(例如基于網(wǎng)絡(luò)的電子郵件)。可能除了是有限的特定于用戶的應(yīng)用配置設(shè)置外,消費者既不管理也不控制底層的云基礎(chǔ)架構(gòu),包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲、乃至單個應(yīng)用能力。平臺即服務(wù)(PaaS):向消費者提供的能力是在云基礎(chǔ)架構(gòu)上部署消費者創(chuàng)建的或獲得的應(yīng)用,這些應(yīng)用是用提供者所支持的程序設(shè)計語言和工具創(chuàng)建的。消費者不管理或控制基礎(chǔ)的云基礎(chǔ)架構(gòu),包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或存儲,但是對所部署的應(yīng)用具有控制權(quán),對托管環(huán)境配置的應(yīng)用也可能有控制權(quán)。基礎(chǔ)架構(gòu)即服務(wù)(IaaS):給予消費者提供處理、存儲、網(wǎng)絡(luò)和消費者能在其中部署和運行任意軟件的基礎(chǔ)計算資源的能力,其中軟件可包括操作系統(tǒng)和應(yīng)用程序。消費者既不管理也不控制底層的云基礎(chǔ)架構(gòu),但是對操作系統(tǒng)、存儲和所部署的應(yīng)用具有控制權(quán),對選擇的網(wǎng)絡(luò)部件(例如主機防火墻)也可能擁有有限的控制權(quán)。部署模型如下私有云云基礎(chǔ)架構(gòu)是單獨為某個組織運行的。云基礎(chǔ)架構(gòu)可以由該組織管理,也可以由第三方管理,可以存在于組織內(nèi),也可以存在于組織外。共同體云云基礎(chǔ)架構(gòu)被若干個組織共享,支持有共同利害關(guān)系(例如使命、安全要求、政策和合規(guī)考慮)的特定共同體。共同體云可以由共同體內(nèi)的多個組織或第三方管理,可以存在于組織內(nèi),也可以存在于組織外。公共云云基礎(chǔ)架構(gòu)向公眾或大型產(chǎn)業(yè)群提供,并由出售云服務(wù)的組織擁有?;旌显圃苹A(chǔ)架構(gòu)是兩個或更多的云(私有云、共同體云或公共云)的合成,這些云依然是獨特的實體,但是通過使數(shù)據(jù)和應(yīng)用能夠移植的標(biāo)準(zhǔn)化技術(shù)或私有技術(shù)(例如用于云之間的負載平衡的云突發(fā)流量分擔(dān)技術(shù))綁定在一起。云計算環(huán)境是面向服務(wù)的,特點集中在無狀態(tài)性、低耦合性、模塊性和語意的互操作性。云計算的核心是包含互連節(jié)點網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)。
現(xiàn)在參考圖8,圖中顯示了一個云計算節(jié)點的例子。云計算節(jié)點10僅僅是合適的云計算節(jié)點的一個示例,而并不意味著對本發(fā)明的實施例的功能和使用的范圍的任何限制。總之,云計算節(jié)點10能夠被實現(xiàn)和/或執(zhí)行以上所述的任何功能。在云計算節(jié)點10中有一個計算機系統(tǒng)/服務(wù)器12,其可與眾多其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置一起操作。適于與計算機系統(tǒng)/服務(wù)器12 —起使用的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于個人計算機系統(tǒng)、服務(wù)器計算機系統(tǒng)、瘦客戶機、厚客戶機、手持或膝上設(shè)備、基于微處理器的系統(tǒng)、機頂盒、可編程消費電子產(chǎn)品、網(wǎng)絡(luò)個人電腦、小型計算機系統(tǒng)、大型計算機系統(tǒng)和包括上述任何系統(tǒng)的分布式云計算技術(shù)環(huán)境,等
坐寸ο計算機系統(tǒng)/服務(wù)器12可以在由計算機系統(tǒng)執(zhí)行的計算機系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括例程、程序、目標(biāo)程序、組件、邏輯、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或者實現(xiàn)特定的抽象數(shù)據(jù)類型。計算機系統(tǒng)/服務(wù)器12可以在分布式云計算環(huán)境中實施,分布式云計算環(huán)境中,任務(wù)是由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備執(zhí)行的。在分布式云計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備的本地或遠程計算系統(tǒng)存儲介質(zhì)上。如圖8所示,云計算節(jié)點10中的計算機系統(tǒng)/服務(wù)器12是以通用計算設(shè)備的形式表現(xiàn)的。計算機系統(tǒng)/服務(wù)器12的部件可以包括但不限于一個或者多個處理器或者處理單元16,系統(tǒng)存儲器28,連接不同系統(tǒng)部件(包括系統(tǒng)存儲器28和處理單元16)的總線18??偩€18表示幾種類型的總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任何總線結(jié)構(gòu)的局域總線。舉例(但不限于這些示例)來說,這些體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MAC)總線,增強型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局域總線以及外圍部件互連(PCI)總線。計算機系統(tǒng)/服務(wù)器12典型地包括多種計算機系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以為可被計算機系統(tǒng)/服務(wù)器12訪問的任何可獲得的介質(zhì),包括易失性和非易失性介質(zhì),可移動的和不可移動的介質(zhì)。系統(tǒng)存儲器28可以包括易失性存儲器形式的計算機系統(tǒng)可讀介質(zhì),例如隨機存取存儲器(RAM) 30和/或高速緩存存儲器32。計算機系統(tǒng)/服務(wù)器12可以進一步包括其它可以移動的/不可移動的,易失性/非易失性計算機系統(tǒng)存儲介質(zhì)。僅作為舉例,存儲系統(tǒng)34可以被提供用于讀出和寫入不可移動的、非易失性磁介質(zhì)(未示出,通常稱為“硬盤驅(qū)動器”)。盡管圖中未示出,可以提供用于對可移動的非易失性磁盤(錄入“軟盤”)讀寫的磁盤驅(qū)動器,以及對可移動的非易失性光盤——諸如CD-ROM,DVD-ROM或者其它光介質(zhì)——讀寫的光盤驅(qū)動器。在這些情況下,每個驅(qū)動器可以通過一個或者多個數(shù)據(jù)介質(zhì)接口與總線18相連。如以下將進一步表示和描述的那樣,存儲器28可以包括至少一個程序產(chǎn)品,該程序產(chǎn)品有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例的功能。有一組(至少一個)程序模塊42的程序/實用工具40,可以被存儲在存儲器28中,這樣的程序模塊42例如(但不限于)操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù)。操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊、程序數(shù)據(jù)中的每一個或它們的某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)。程序模塊42通常執(zhí)行這里描述的本發(fā)明的實施例中的功能和/或方法。
計算機系統(tǒng)/服務(wù)器12也可以與一個或多個外部設(shè)備14—諸如鍵盤、指向設(shè)備、顯示器24等等——通信,與一個或者多個使用戶能與計算機系統(tǒng)/服務(wù)器12交互的設(shè)備通信,和/或與使計算機系統(tǒng)/服務(wù)器12能與一個或多個其它計算設(shè)備通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(I/O)接口 22進行。并且,計算機系統(tǒng)/服務(wù)器12還可以通過網(wǎng)絡(luò)適配器20與一個或者多個網(wǎng)絡(luò)一諸如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò)(例如因特網(wǎng))一通信。如圖所示,網(wǎng)絡(luò)適配器20通過總線18與計算機系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,其它硬件和/或軟件模塊可以與計算機系統(tǒng)/服務(wù)器12—起使用。例子包括但不限于微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、RAID系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng),等等?,F(xiàn)在參考圖9,該圖描述了示例性的云計算環(huán)境50。如圖所示,云計算環(huán)境50包括云計算消費者使用的本地計算設(shè)備可以與其相通信的一個或者多個云計算節(jié)點10,本地計算設(shè)備諸如個人數(shù)字輔助設(shè)備(PDA)或者是移動電話54A,臺式電腦54B,筆記本電腦54C,和/或汽車計算機系統(tǒng)54N。節(jié)點10之間可以相互通信??梢栽谠谝粋€或者多個網(wǎng)絡(luò)一諸如如上所述的私有云、共同體云、公共云或混合云或者它們的組合-中,將節(jié)點10進行物理或者虛擬分組(圖中未示出)。這允許云計算環(huán)境50提供云消費者無需在本地計算設(shè)備上維護資源就能請求的基礎(chǔ)架構(gòu)即服務(wù)、平臺即服務(wù)和/或軟件即服務(wù)。應(yīng)當(dāng)明白,圖9示出的各類計算設(shè)備54A-N僅僅是示意性的,計算節(jié)點10以及云計算環(huán)境50可以與任何類型的網(wǎng)絡(luò)上的和/或網(wǎng)絡(luò)可尋址的連接上的任何類型的計算設(shè)備(例如使用網(wǎng)絡(luò)瀏覽器)通信?,F(xiàn)在參考圖10,該圖示出了云計算環(huán)境50 (圖9)提供的一組功能抽象層。首先應(yīng)當(dāng)明白,圖10所示的部件、層以及功能都僅僅是示意性的,本發(fā)明的實施例不限于此。如圖所示,提供了下列層和對應(yīng)功能硬件和軟件層60包括硬件和軟件部件。硬件部件的例子包括主機——例如IBM zSeries 系統(tǒng);基于Risc(精簡指令集計算機)體系結(jié)構(gòu)的服務(wù)器一例如IBM pSeries 系統(tǒng);iBMxSeries 系統(tǒng);iBMBladeCenter 系統(tǒng);存儲設(shè)備;網(wǎng)絡(luò)和
網(wǎng)絡(luò)部件。軟件部件的例子包括網(wǎng)絡(luò)應(yīng)用服務(wù)器軟件一例如IBM WebSphere 應(yīng)用服務(wù)器軟件;數(shù)據(jù)庫軟件——例如IBMDB2 數(shù)據(jù)庫軟件。(IBM, zSeries, pSeries,xSeries,BladeCenter, WebSphere以及DB2是國際商業(yè)機器公司在全世界各地注冊的商標(biāo))。虛擬層62提供一個抽象層,該層可以提供下列虛擬實體的例子虛擬服務(wù)器、虛擬存儲、虛擬網(wǎng)絡(luò)(包括虛擬私有網(wǎng)絡(luò))、虛擬應(yīng)用和操作系統(tǒng),以及虛擬客戶端。在一個示例中,管理層64可以提供下述功能資源供應(yīng)功能提供用于在云計算環(huán)境中執(zhí)行任務(wù)的計算資源和其它資源的動態(tài)獲??;計量和定價功能在云計算環(huán)境內(nèi)資源被使用時進行成本跟蹤,并為這些資源的消費提供帳單和發(fā)票。在一個例子中,這些資源可以包括應(yīng)用軟件許可。安全功能為云消費者和任務(wù)提供身份認證,為數(shù)據(jù)和其它資源提供保護。用戶門戶為消費者和系統(tǒng)管理員提供對云計算環(huán)境的訪問。服務(wù)水平管理功能提供云計算資源的分配和管理,以滿足必需的服務(wù)水平。服務(wù)水平協(xié)議(SLA)計劃和履行功能為根據(jù)SLA的預(yù)測了未來需求的 云計算資源提供預(yù)先安排和供應(yīng)。工作負載層66提供了云計算環(huán)境可能實現(xiàn)的功能的示例。在該層中,可提供的工作負載或功能的示例包括地圖繪制與導(dǎo)航;軟件開發(fā)及生命周期管理;虛擬教室的教學(xué)他提供;數(shù)據(jù)分析處理;交易處理;以及自動分發(fā)安全規(guī)則。圖2是示意性地示出應(yīng)用、復(fù)合應(yīng)用模型以及拓撲模型之間的映射關(guān)系的說明圖。參見圖2的左部,應(yīng)用是指部署在云環(huán)境中的但是用戶看起來是一個應(yīng)用的應(yīng)用,諸如自動銷售系統(tǒng)(SFA)、客戶關(guān)系管理(CRM)等等。對于一個應(yīng)用,可以形成不同的復(fù)合應(yīng)用模型。例如,參見圖2的中部,對于應(yīng)用1,作為復(fù)合應(yīng)用模型,具體地啟用了一個Web應(yīng)用服務(wù)器(WAS)和一個DB2服務(wù)器;而對于應(yīng)用2,作為復(fù)合應(yīng)用模型,具體地啟用了兩個Web應(yīng)用服務(wù)器、一個DB2服務(wù)器和一個LDAP服務(wù)器。在復(fù)合應(yīng)用模型中,應(yīng)用被映射到不同的Web應(yīng)用服務(wù)器上。最后參見圖2的右部,基于創(chuàng)建的復(fù)合應(yīng)用模型,產(chǎn)生了拓撲模型。該拓撲模型提供從復(fù)合應(yīng)用模型到多個運行的服務(wù)器實例的映射。具體地,拓撲模型可以包含所述多個運行的服務(wù)器實例所在的服務(wù)器的IP地址和/或它們之間的連接關(guān)系。接下來,將參照圖3簡要描述應(yīng)用服務(wù)器防火墻如何利用安全規(guī)則對用戶輸入進行驗證。圖3示意性地示出了應(yīng)用服務(wù)器防火墻在系統(tǒng)中的位置。為了簡化說明,圖3僅僅不出了云環(huán)境中的一個Web應(yīng)用服務(wù)器13。云環(huán)境中的其它Web應(yīng)用服務(wù)器具有相似的連接關(guān)系。附圖標(biāo)記11表示位于客戶機側(cè)的客戶機瀏覽器,用于向Web應(yīng)用服務(wù)器發(fā)送用戶的HTTP請求或者從Web應(yīng)用服務(wù)器接收相應(yīng)的應(yīng)答。附圖標(biāo)記12表示網(wǎng)絡(luò),Web應(yīng)用服務(wù)器通過該網(wǎng)絡(luò)對由用戶通過客戶機瀏覽器發(fā)送的請求進行應(yīng)答。附圖標(biāo)記10表示位于Web應(yīng)用服務(wù)器側(cè)的Web應(yīng)用防火墻,用于在服務(wù)器側(cè)驗證用戶的HTTP請求中的輸入值并為Web應(yīng)用服務(wù)器提供安全保護。盡管在圖3中,Web應(yīng)用防火墻10與Web應(yīng)用服務(wù)器13被分開顯示,但是實際上,它們可以處于同一臺硬件服務(wù)器中。如圖3中所示,用戶通過位于客戶機側(cè)的客戶機瀏覽器11經(jīng)由網(wǎng)絡(luò)12向Web應(yīng)用服務(wù)器13發(fā)送具有輸入值的請求。為了避免腳本攻擊,需要驗證用戶的輸入值以保證Web應(yīng)用的安全。正常的用戶不會在客戶機側(cè)鍵入惡意值,諸如邏輯代碼(例如JavaScript邏輯),但是潛在的惡意用戶會將惡意的邏輯代碼注入到Web應(yīng)用服務(wù)器13,以試圖攻擊該服務(wù)器、盜取其它用戶的私有信息等。這些如JavaScript之類的惡意代碼當(dāng)被服務(wù)器發(fā)送到其它客戶機的瀏覽器時會盜取客戶機中的敏感信息。因此,在服務(wù)器側(cè)應(yīng)該利用預(yù)定義的安全規(guī)則配置Web應(yīng)用防火墻10,該Web應(yīng)用防火墻10基于這些安全規(guī)則來驗證用戶的輸入值。當(dāng)Web應(yīng)用防火墻10檢測到違反安全規(guī)則的用戶的輸入值時,它對該用戶采取適當(dāng)?shù)陌踩雷o措施以去除潛在的隱藏危險。當(dāng)Web應(yīng)用防火墻10沒有發(fā)現(xiàn)用戶的輸入值·違反安全規(guī)則時,將用戶的請求轉(zhuǎn)發(fā)到Web應(yīng)用服務(wù)器13以便進行處理。因此·,在這里,Web應(yīng)用防火墻10起到了過濾器的作用。為了便于對安全規(guī)則進行說明,圖4示出了一個HTTP請求的例子。該HTTP請求包括方法“POST”、URL模板、版本、頭部(Header)以及主體(Body)。在HTTP請求的頭部中包含了名稱和值的對的形式的參數(shù),諸如Host 9. 186. 54. 51 :8080以及Content-1ength 19等。下面示出了用JSON語法編寫的一個簡單的安全規(guī)則
權(quán)利要求
1.一種在云環(huán)境中自動分發(fā)安全規(guī)則的非侵入性方法,包括以下步驟 形成應(yīng)用的在云環(huán)境中的復(fù)合應(yīng)用模型,所述復(fù)合應(yīng)用模型至少包括用于部署所述應(yīng)用的各種服務(wù)器的類型; 產(chǎn)生所述各種服務(wù)器在云環(huán)境中的拓撲模型; 基于所述應(yīng)用的應(yīng)用上下文、所述復(fù)合應(yīng)用模型和所述拓撲模型,自動生成各服務(wù)器的服務(wù)器側(cè)防火墻要采用的安全規(guī)則;以及 基于所述復(fù)合應(yīng)用模型和拓撲模型,將所述安全規(guī)則分發(fā)到每個服務(wù)器側(cè)防火墻。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述應(yīng)用的應(yīng)用上下文包括在struts,xml或web. xml文件中。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述安全規(guī)則被所述服務(wù)器側(cè)防火墻用來驗證用戶針對該服務(wù)器側(cè)防火墻所保護的服務(wù)器的輸入。
4.根據(jù)權(quán)利要求1所述的方法,其中,自動生成各服務(wù)器的服務(wù)器側(cè)防火墻要采用的安全規(guī)則還基于用戶輸入的安全級別。
5.根據(jù)權(quán)利要求1所述的方法,還包括 從各服務(wù)器側(cè)防火墻接收關(guān)于安全規(guī)則違反或異常的反饋信息; 基于所述反饋信息更新所述安全規(guī)則;以及 將更新的安全規(guī)則分發(fā)到每個服務(wù)器側(cè)防火墻。
6.根據(jù)權(quán)利要求5所述的方法,其中,更新所述安全規(guī)則是定期地執(zhí)行的。
7.根據(jù)權(quán)利要求5或6所述的方法,其中,基于所述反饋信息更新所述安全規(guī)則包括 基于所述反饋信息重新形成所述應(yīng)用在云環(huán)境中的復(fù)合應(yīng)用模型以及產(chǎn)生所述各種服務(wù)器在云環(huán)境中的拓撲模型;以及 基于所述反饋信息、所述應(yīng)用的應(yīng)用上下文、重新形成的復(fù)合應(yīng)用模型和重新產(chǎn)生的拓撲模型,更新所述安全規(guī)則。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述拓撲模型至少包括各服務(wù)器的IP地址。
9.根據(jù)權(quán)利要求1所述的方法,還包括針對所述應(yīng)用設(shè)置缺省安全規(guī)則,并且 其中,自動生成各服務(wù)器的服務(wù)器側(cè)防火墻要采用的安全規(guī)則包括對所述缺省安全規(guī)則進行修改。
10.一種在云環(huán)境中自動分發(fā)安全規(guī)則的非侵入性設(shè)備,包括 復(fù)合應(yīng)用模型形成裝置,用于形成應(yīng)用的在云環(huán)境中的復(fù)合應(yīng)用模型,所述復(fù)合應(yīng)用模型至少包括用于部署所述應(yīng)用的各種服務(wù)器的類型; 拓撲模型產(chǎn)生裝置,用于產(chǎn)生所述各種服務(wù)器在云環(huán)境中的拓撲模型; 安全規(guī)則生成裝置,用于基于所述應(yīng)用的應(yīng)用上下文、所述復(fù)合應(yīng)用模型和所述拓撲模型,自動生成各服務(wù)器的服務(wù)器側(cè)防火墻要采用的安全規(guī)則;以及 安全規(guī)則分發(fā)裝置,用于基于所述復(fù)合應(yīng)用模型和拓撲模型,將所述安全規(guī)則分發(fā)到每個服務(wù)器側(cè)防火墻。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述應(yīng)用的應(yīng)用上下文包括在struts,xml或web. xml文件中。
12.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述安全規(guī)則被所述服務(wù)器側(cè)防火墻用來驗證用戶針對該服務(wù)器側(cè)防火墻所保護的服務(wù)器的輸入。
13.根據(jù)權(quán)利要求10所述的設(shè)備,其中,自動生成各服務(wù)器的服務(wù)器側(cè)防火墻要采用的安全規(guī)則還基于用戶輸入的安全級別。
14.根據(jù)權(quán)利要求10所述的設(shè)備,還包括 接收裝置,用于從各服務(wù)器側(cè)防火墻接收關(guān)于安全規(guī)則違反或異常的反饋信息; 更新裝置,用于基于所述反饋信息更新所述安全規(guī)則;以及 再分發(fā)裝置,用于將更新的安全規(guī)則分發(fā)到每個服務(wù)器側(cè)防火墻。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其中,更新所述安全規(guī)則是定期地執(zhí)行的。
16.根據(jù)權(quán)利要求14或15所述的設(shè)備,其中,所述更新裝置包括 重構(gòu)裝置,用于基于所述反饋信息重新形成所述應(yīng)用在云環(huán)境中的復(fù)合應(yīng)用模型以及產(chǎn)生所述各種服務(wù)器在云環(huán)境中的拓撲模型;以及 第二更新裝置,用于基于所述反饋信息、所述應(yīng)用的應(yīng)用上下文、重新形成的復(fù)合應(yīng)用模型和重新產(chǎn)生的拓撲模型,更新所述安全規(guī)則。
17.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述拓撲模型至少包括各服務(wù)器的IP地址。
18.根據(jù)權(quán)利要求10所述的設(shè)備,還包括設(shè)置裝置,該設(shè)置裝置用于針對所述應(yīng)用設(shè)置缺省安全規(guī)則,并且 其中,所述安全規(guī)則生成裝置包括修改裝置,該修改裝置用于對所述缺省安全規(guī)則進行修改。
全文摘要
本發(fā)明涉及在云環(huán)境中自動分發(fā)安全規(guī)則的非侵入性方法和設(shè)備。該方法包括形成應(yīng)用的在云環(huán)境中的復(fù)合應(yīng)用模型,所述復(fù)合應(yīng)用模型至少包括用于部署所述應(yīng)用的各種服務(wù)器的類型;產(chǎn)生所述各種服務(wù)器在云環(huán)境中的拓撲模型;基于所述應(yīng)用的應(yīng)用上下文、所述復(fù)合應(yīng)用模型和所述拓撲模型,自動生成各服務(wù)器的服務(wù)器側(cè)防火墻要采用的安全規(guī)則;以及基于所述復(fù)合應(yīng)用模型和拓撲模型,將所述安全規(guī)則分發(fā)到每個服務(wù)器側(cè)防火墻。
文檔編號H04L29/08GK103067344SQ201110324588
公開日2013年4月24日 申請日期2011年10月24日 優(yōu)先權(quán)日2011年10月24日
發(fā)明者張煜, 易立, 高波, 蘭靈, 史蒂文, 梅杰森 申請人:國際商業(yè)機器公司