專利名稱:一種基于用戶身份過濾的方法以及防火墻的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全及計算機(jī)安全領(lǐng)域,尤其涉及一種基于用戶身份過濾的方法以及防火墻。
背景技術(shù):
防火墻是一個由軟件和硬件設(shè)備組合而成、在內(nèi)部網(wǎng)和外部網(wǎng)之間、專用網(wǎng)和公共網(wǎng)的界面上構(gòu)造的保護(hù)屏障。它是一種計算機(jī)硬件和軟件的結(jié)合,是^ternet與 htranet之間建立起的一個安全網(wǎng)關(guān),從而保護(hù)內(nèi)部網(wǎng)免受非法用戶的入侵?,F(xiàn)有的防火墻從實現(xiàn)原理和方法上可以劃分為包過濾型防火墻和代理服務(wù)型防火墻。其中(1)包過濾防火墻,包括簡單包過濾和狀態(tài)檢測包過濾,工作于網(wǎng)絡(luò)層和傳輸層, 對數(shù)據(jù)包進(jìn)行過濾,過濾的依據(jù)是系統(tǒng)內(nèi)置的邏輯,如訪問控制列表。 簡單包過濾防火墻通過檢查數(shù)據(jù)流中的每個數(shù)據(jù)包的源地址、目的地址、所用的端口號、協(xié)議狀態(tài)等元素,或它們的組合來確定是否允許該數(shù)據(jù)包通過,只能處理單個數(shù)據(jù)包,不跟蹤會話。包過濾技術(shù)的優(yōu)點是簡單實用,實現(xiàn)成本低,實時性好。其缺點是只能根據(jù)數(shù)據(jù)包的來源、目標(biāo)和端口等網(wǎng)絡(luò)信息進(jìn)行判斷,容易受到地址欺騙,無法識別基于應(yīng)用層的入侵,更無法支持針對特定用戶的安全策略。 狀態(tài)檢測防火墻是對傳統(tǒng)包過濾防火墻的功能的擴(kuò)展,它根據(jù)數(shù)據(jù)包不同標(biāo)志位的參數(shù)的變化對每一個連接進(jìn)行跟蹤,當(dāng)某條連接被確認(rèn)為安全時,該連接的所有數(shù)據(jù)包被認(rèn)為是合法的,無需再檢查,其安全性較簡單包過濾防火墻有很大的提高。狀態(tài)檢測防火墻仍屬于包過濾防火墻,其工作在網(wǎng)絡(luò)層和傳輸層,只根據(jù)數(shù)據(jù)包頭進(jìn)行過濾,無法探測數(shù)據(jù)包內(nèi)容,更無法對用戶的身份進(jìn)行判斷。(2)代理服務(wù)型防火墻也稱為代理服務(wù)器,它的安全性要高于包過濾型產(chǎn)品。代理服務(wù)器位于客戶機(jī)與服務(wù)器之間,完全阻擋了二者之間的數(shù)據(jù)流。從客戶機(jī)來看,代理服務(wù)器相當(dāng)于一臺真正的服務(wù)器,而從服務(wù)器來看,代理服務(wù)器又是一臺真正的客戶機(jī)。當(dāng)客戶機(jī)需要使用服務(wù)器上的數(shù)據(jù)時,首先將數(shù)據(jù)請求發(fā)給代理服務(wù)器,代理服務(wù)器再根據(jù)這一請求向服務(wù)器索取數(shù)據(jù),然后再由代理服務(wù)器將數(shù)據(jù)傳輸給客戶機(jī)。由于外部系統(tǒng)與內(nèi)部服務(wù)器之間沒有直接的數(shù)據(jù)通道,外部的惡意侵害也就很難傷害到企業(yè)內(nèi)部網(wǎng)絡(luò)系統(tǒng)。代理型防火墻的優(yōu)點是較基于包過濾的防火墻的安全性更高,可以針對應(yīng)用層進(jìn)行偵測和掃描,對付應(yīng)用層的侵入和病毒都十分有效。其缺點是對系統(tǒng)的整體性能有較大的影響,必須針對客戶機(jī)可能產(chǎn)生的所有應(yīng)用類型逐一進(jìn)行設(shè)置,大大增加了系統(tǒng)管理的復(fù)雜性,并且它只能分析到應(yīng)用層中協(xié)議中的有害代碼,并不能針對某項應(yīng)用的用戶信息進(jìn)行分析。部分代理型防火墻雖然支持用戶登錄到防火墻上,并基于用戶登錄信息進(jìn)行過濾,但是并未實現(xiàn)在線的用戶信息提取及基于此的會話控制。
發(fā)明內(nèi)容
4
鑒于以上,本發(fā)明提出一種基于用戶身份過濾的方法以及防火墻。本發(fā)明提出一種防火墻,其特征在于在線提取用戶身份信息并執(zhí)行基于用戶身份信息的防火墻策略,包括應(yīng)用識別模塊,監(jiān)聽所有活動端口,根據(jù)應(yīng)用層數(shù)據(jù)識別應(yīng)用程序類型;身份信息提取模塊,根據(jù)應(yīng)用識別模塊提供的應(yīng)用程序類型采用相應(yīng)的身份提取方法來提取用戶身份信息;用戶行為分析模塊,根據(jù)用戶身份信息形成用戶當(dāng)前的行為記錄;策略執(zhí)行模塊,根據(jù)用戶當(dāng)前的行為記錄執(zhí)行防火墻處理策略,將處理結(jié)果提交給用戶行為分析模塊;防火墻管理模塊,提供各模塊的管理配置。本發(fā)明還提出一種基于用戶身份過濾的方法,其特征在于,包括當(dāng)用戶訪問服務(wù)時,監(jiān)聽所有活動端口,根據(jù)應(yīng)用層數(shù)據(jù)識別應(yīng)用程序類型;根據(jù)應(yīng)用程序類型采用相應(yīng)的身份提取方法來提取用戶身份信息;根據(jù)用戶身份信息形成用戶當(dāng)前的行為記錄;根據(jù)用戶當(dāng)前的行為記錄執(zhí)行防火墻處理策略。本發(fā)明提出了一種可以從應(yīng)用層數(shù)據(jù)中識別用戶身份的防火墻,并且根據(jù)用戶的身份信息和行為記錄來實現(xiàn)訪問控制和會話管理。能夠?qū)蝹€用戶行為進(jìn)行細(xì)粒度控制, 針對不同的用戶采取相應(yīng)的安全策略??梢苑乐箰阂庥脩粼L問服務(wù),或在網(wǎng)絡(luò)狀況不好的情況下限制某些用戶的訪問。
本處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是本發(fā)明所涉及到的網(wǎng)元及防火墻在網(wǎng)絡(luò)中的位置示意圖;圖2是本發(fā)明實施例中防火墻的結(jié)構(gòu)圖;圖3是本發(fā)明實施例中基于用戶身份過濾的方法流程圖;圖4為本發(fā)明另一實施例中基于用戶身份過濾的方法流程圖;圖5是本發(fā)明實施例防火墻流量控制場景示意圖。
具體實施例方式無論是包過濾型還是代理服務(wù)型防火墻都無法在線識別用戶,無法根據(jù)用戶信息及行為實施基于用戶的安全策略,但隨著面向服務(wù)架構(gòu)、web2. 0及云服務(wù)的廣泛應(yīng)用,有必要根據(jù)用戶的身份信息進(jìn)行相應(yīng)應(yīng)用的訪問控制和會話管理。一方面,更多的通信使用更少的端口(如80和443端口)和使用更少的協(xié)議(如 HTTP和HTTPQ傳輸,基于IP和端口組合檢測的包過濾型防火墻已不太適合和不太有效。另一方面,使用同一應(yīng)用的用戶其行為也大不一樣,例如某些使用云服務(wù)的用戶在短時間內(nèi)頻繁的訪問某項服務(wù)或占用大量的帶寬或此用戶的歷史行為不佳,服務(wù)提供商需要一種能夠?qū)蝹€用戶行為進(jìn)行細(xì)粒度控制的方法,針對特定的用戶采取相應(yīng)的安全策略,這就需要一種能夠在線實時識別用戶身份的防火墻來管理某些用戶的會話。例如某服務(wù)提供商發(fā)現(xiàn)其部分用戶頻繁訪問服務(wù)并下載大數(shù)據(jù)量的文件,服務(wù)提供商需要節(jié)制這部分用戶的訪問或限制他的訪問時間(如只允許在用戶連接數(shù)較少的夜間訪問)。對于某一服務(wù),服務(wù)提供商的連接地址和端口號是固定的,無法通過封鎖IP端口組合來阻止特定用戶訪問,這樣一種能夠在應(yīng)用層數(shù)據(jù)識別用戶身份的防火墻就很有必要了,它不以會話為依賴,而是以用戶身份信息為訪問控制依據(jù)。本發(fā)明提出了一種可以在線識別用戶身份并且可以根據(jù)用戶身份管理用戶會話的防火墻。所涉及到的防火墻可置于企業(yè)或服務(wù)提供者的網(wǎng)絡(luò)邊界,對入網(wǎng)流量進(jìn)行過濾, 也可置于內(nèi)部網(wǎng)絡(luò)出口邊界,對出口流量進(jìn)行過濾。本發(fā)明所涉及到的網(wǎng)元及防火墻在網(wǎng)絡(luò)中的位置,如圖1所示,圖中的網(wǎng)元包括服務(wù)提供商網(wǎng)絡(luò)(如web服務(wù)或云服務(wù))或企業(yè)網(wǎng)絡(luò)、基于用戶身份在線提取的防火墻以及用戶終端。圖2是本發(fā)明實施例中防火墻的結(jié)構(gòu)圖,其中,實箭頭為網(wǎng)絡(luò)數(shù)據(jù)流流向,虛箭頭為防火墻控制信息流流向。包括應(yīng)用識別模塊21、身份信息提取模塊22、用戶行為分析模塊23、策略執(zhí)行模塊25以及防火墻管理模塊26。其中,應(yīng)用識別模塊21、身份信息提取模塊22以及用戶行為分析模塊23通過自定義的協(xié)議支持,可以實現(xiàn)基于在線身份過濾的防火墻。在本發(fā)明的另一實施例中,還如圖1所示,防火墻還可以包括用戶行為數(shù)據(jù)庫M, 增加了根據(jù)用戶歷史行為記錄進(jìn)行用戶行為控制這部分功能。下面將結(jié)合圖1對各個模塊所執(zhí)行的操作以及相互關(guān)系進(jìn)行說明。在本發(fā)明實施例中,也可以將應(yīng)用識別模塊21、身份信息提取模塊22、用戶行為分析模塊23以及用戶行為數(shù)據(jù)庫M合并成為策略生成模塊,可以設(shè)置在防火墻外,防火墻只是策略執(zhí)行模塊。這種實現(xiàn)方式,需要在策略生成模塊、策略執(zhí)行模塊之間有較多的協(xié)議交互。防火墻將每個會話初始的一些包轉(zhuǎn)發(fā)給策略生成模塊,以便識別應(yīng)用并提取出用戶身份信息,然后將用戶控制策略轉(zhuǎn)換成防火墻配置策略,轉(zhuǎn)發(fā)給防火墻。雖然上面提到策略生成模塊可以設(shè)置在防火墻外,但是,本領(lǐng)域技術(shù)人員應(yīng)該可以理解,即使防火墻只包括策略執(zhí)行模塊,但其執(zhí)行基于身份信息提取以及用戶行為記錄執(zhí)行防火墻處理策略,均應(yīng)該看作是本發(fā)明各個實施例中所提到的廣義防火墻構(gòu)成。因此,也應(yīng)該覆蓋在本權(quán)利要求的保護(hù)范圍之內(nèi)。應(yīng)用識別模塊21監(jiān)聽所有活動端口,根據(jù)數(shù)據(jù)包分析出應(yīng)用層協(xié)議,識別出應(yīng)用層中的應(yīng)用程序類型。識別的方法如端口號匹配、數(shù)據(jù)包深層掃描、特征代碼匹配,也可以組合多種識別方式。由于某些應(yīng)用不一定使用固定的端口(如P2P),所以需要防火墻在所有的活動端口上掃描,分析出應(yīng)用層的應(yīng)用程序類型,并記錄數(shù)據(jù)包的會話,如源IP、目的IP、源端口號、目的端口號、協(xié)議類型等,將用戶會話以及相關(guān)信息,比如訪問時間、應(yīng)用程序類型等提交到身份信息提取模塊。應(yīng)用程序類型是指應(yīng)用服務(wù)或身份認(rèn)證協(xié)議,如人人網(wǎng)、Skype 等應(yīng)用,OAuth、RADIUS等認(rèn)證協(xié)議。用戶身份信息存放的位置與應(yīng)用程序類型有關(guān),要實現(xiàn)用戶身份信息的提取需要先將應(yīng)用層協(xié)議中的應(yīng)用程序類型分析出來,這是身份識別的基礎(chǔ),其識別能力需要通過防火墻管理模塊26來配置。識別過程在應(yīng)用層數(shù)據(jù),而不關(guān)心底層數(shù)據(jù)包地址。身份信息提取模塊22根據(jù)應(yīng)用識別模塊提供的應(yīng)用程序類型來確定采用哪種用戶身份提取方式來提取用戶身份信息,如用戶ID,提高了用戶身份信息提取的有效性和準(zhǔn)確性。對于應(yīng)用識別模塊21無法識別的應(yīng)用程序、身份信息提取模塊22無法提取用戶身份的數(shù)據(jù)流,將其提交給策略處理模塊,由其決定是拒絕還是允許。
通??赏ㄟ^應(yīng)用的身份認(rèn)證過程,從應(yīng)用層協(xié)議頭或協(xié)議內(nèi)容提取出用戶身份信息。至于身份信息在數(shù)據(jù)包中的位置和格式,則決定于相應(yīng)的協(xié)議。如何根據(jù)應(yīng)用程序類型來確定采用哪種用戶身份提取方式,下面將舉例進(jìn)行說明。比如,新浪微博OAuth認(rèn)證流程中用戶授權(quán)過程,用戶填寫的用戶名、密碼以及 timestamp等信息都在http協(xié)議的消息體內(nèi)(而不是放在消息頭的某個域中),因此在提取用戶身份信息時要去匹配消息體,其消息體內(nèi)的字符串格式是key = value&key = value&...的形式,并經(jīng)過了 base64編碼,提取時需要kiSe64譯碼并將字符串格式整理成我們想要的形式。比如,sip協(xié)議中建立連接的請求報頭中的信息如下INVITE sip :bobibiloxi. com SIP/2. 0Via :SIP/2. 0/UDP pc33. atlanta. com ;branch = z9hG4bK776asdhdsMax-Forwards :70To :Bo<sip:bobibiloxi. com>From :Alice<sip: aliceiatlanta. com> ;tag = 1928301774Call-ID :a84b4c76e66710ipc33. atlanta. comCSeq :314159INVITEContact :<sip:aliceipc33. atlanta. com>Content-Type !application/sdpContent-Length :142其中from是發(fā)起請求用戶的身份標(biāo)識(<sip alicefetlanta. com ,to是發(fā)起請求用戶想呼叫的用戶(<sip:b0b@bil0Xi. com ,通過此信息可以判斷用戶。用戶行為分析模塊23根據(jù)用戶身份信息形成用戶當(dāng)前的行為記錄。進(jìn)一步,用戶行為分析模塊還從用戶行為數(shù)據(jù)庫獲取歷史行為記錄,根據(jù)用戶當(dāng)前的行為記錄和歷史行為記錄生成新的用戶行為記錄。用戶行為分析模塊將行為記錄寫入用戶行為數(shù)據(jù)庫,對于形成當(dāng)前的行為記錄的情況,寫入當(dāng)前的行為記錄,對于生成新的行為記錄的情況,則寫入新的行為記錄,并將行為記錄提交給策略執(zhí)行模塊,將策略執(zhí)行模塊的處理結(jié)果寫入用戶行為數(shù)據(jù)庫。在本發(fā)明的一個實施例中,用戶行為分析模塊23從身份信息提取模塊22接收用戶本次訪問的有關(guān)信息,如應(yīng)用程序類型、用戶會話(源IP地址、目的IP地址、目的端口號、源端口號、傳輸層協(xié)議)、用戶身份信息等,并從防火墻的日志統(tǒng)計模塊得到用戶所屬會話的相應(yīng)信息,如訪問時間、持續(xù)時間、占用帶寬等,形成當(dāng)前的用戶行為記錄。用戶行為記錄可以是對信息的簡單記錄,比如占用帶寬,還可以是對這些數(shù)據(jù)進(jìn)行加工后形成的數(shù)據(jù),比如根據(jù)用戶多次訪問的時間點算出用戶的訪問頻度。必選信息包括應(yīng)用程序類型、用戶身份信息(如用戶ID)、用戶會話以及訪問時間,其他為可選信息。本領(lǐng)域技術(shù)人員應(yīng)該可以理解,防火墻用戶可以根據(jù)自己的需要來靈活設(shè)置形成行為記錄的方法以及調(diào)整策略處理的方法。策略執(zhí)行模塊M根據(jù)用戶行為分析模塊23提供的行為記錄執(zhí)行防火墻的處理策略,該處理策略通過防火墻管理模塊配置,這部分功能為傳統(tǒng)防火墻的標(biāo)準(zhǔn)功能。
用戶行為數(shù)據(jù)庫25存儲用戶行為分析模塊23提供的行為記錄和策略執(zhí)行模塊的
處理結(jié)果。在用戶行為數(shù)據(jù)庫25中還可以導(dǎo)入用戶黑名單、用戶訪問權(quán)限(如允許用戶占用的最大帶寬、允許用戶訪問的時間)或其它的屬性,這些用戶行為記錄將作為策略執(zhí)行模塊的處理依據(jù)。多個防火墻的用戶行為數(shù)據(jù)庫可以組成分布式數(shù)據(jù)庫,以便共享用戶行為記錄, 形成一個分布式的防火墻聯(lián)盟,使得用戶在其他接口上訪問時同樣受到歷史行為記錄約束,從而防止惡意用戶繞到其他接口訪問服務(wù)提供商網(wǎng)絡(luò),更有效的保護(hù)網(wǎng)絡(luò)安全。防火墻管理模塊沈,是防火墻系統(tǒng)和用戶間的UI,防火墻的所有管理和配置全都在此進(jìn)行。防火墻管理模塊與現(xiàn)有技術(shù)不同點在于,防火墻管理模塊可實現(xiàn)對用戶身份在線提取方法的升級,針對不同的應(yīng)用采用不同的身份在線提取方法,通過升級增加可識別的應(yīng)用的數(shù)量。防火墻管理模塊沈所實現(xiàn)的管理和配置操作,包括-增加、刪除或修改應(yīng)用識別模塊的配置文件,以實現(xiàn)增加、刪除或修改應(yīng)用識別的能力;-根據(jù)應(yīng)用識別模塊的配置,在身份提取模塊中配置相應(yīng)的身份提取方法;-在用戶行為分析模塊中,對用戶行為記錄和分析項目進(jìn)行配置或更改某些行為分析的算法;-在策略執(zhí)行模塊中,配置防火墻訪問控制策略;-用戶行為數(shù)據(jù)庫查詢。防火墻的使用者(如web服務(wù)和云服務(wù)提供商)可以根據(jù)自身的需求依據(jù)用戶行為記錄制定相應(yīng)的防火墻訪問控制策略,包括但不限于-限制用戶的訪問時間可以規(guī)定某個用戶在哪個時間段訪問服務(wù),哪個時間段不可訪問服務(wù);-限制用戶連接的持續(xù)時間規(guī)定某個用戶單次連接最長持續(xù)時間;-限制用戶對特定服務(wù)的訪問規(guī)定只有某些用戶可以使用某些特定的服務(wù),其他用戶無此權(quán)限;-限制用戶的訪問頻度規(guī)定某個用戶在單位時間內(nèi)訪問服務(wù)的最大次數(shù);-限制用戶占用的最大帶寬對某些用戶訪問服務(wù)時的最大帶寬進(jìn)行限制,防止少數(shù)用戶占用大量的帶寬,從而影響其他用戶的訪問;-限制黑名單中的用戶訪問對某些歷史行為記錄較差的用戶終止其對服務(wù)的訪問。本發(fā)明通過在數(shù)據(jù)流中提取能夠標(biāo)識用戶身份的信息,為基于用戶行為的策略處理提供依據(jù)。可以防止惡意用戶訪問服務(wù),或在網(wǎng)絡(luò)狀況不好的情況下限制某些用戶的訪問。下面以新浪微博OAuth認(rèn)證授權(quán)過程為例,對本發(fā)明的實現(xiàn)過程進(jìn)行說明。用戶在授權(quán)的時候要求用戶輸入用戶名、密碼,在這個過程中可以提取有關(guān)用戶的身份信息。1、應(yīng)用識別模塊
8
用戶認(rèn)證以http post方式提交表單,可以在http報頭中查找到以下關(guān)鍵字POST/sso/login. php ? client = ssologin. js(vl. 3. 15)HTTP/1. 1Host :login, sina. com. cn證明此數(shù)據(jù)包是新浪的登錄數(shù)據(jù)包,這一過程中要記錄數(shù)據(jù)包的會話(session)。2、身份信息提取模塊用戶填寫用戶名、密碼后以表單的形式提交到服務(wù)器,其信息放在http消息體中。身份信息提取模塊將消息體提出,內(nèi)容如下entry = miniblog&gateway = l&from = &savestate = O&useticket = l&use rname = haomingyang286 % 40163. com&service = miniblog&servertime = 1313824435&nonce = 5D06GC&pwencode = wsse&password = 79b3c42d285848da329e011 23f576b20c3f92772&encoding = utf-8&url = http % 3A % 2F % 2Fv. t. sina. com. cn % 2Fajaxlogin. php% 3Fframelo gin% 3D1 % 26callback% 3Dparent. sinaSSOController. feedBackUrlCallB ack&returntype = META經(jīng)過字符串處理后可以得到我們需要的信息有username、servertime、用戶密碼加密方式及加密后的密碼、訪問的服務(wù)(service =miniblog)。3、用戶行為分析模塊當(dāng)前的用戶行為記錄有用戶會話(用戶的源地址、目的地址、源端口、目的端口、 協(xié)議(http))、username、訪問時間(servertime)、訪問的月艮務(wù)(miniblog)。根據(jù)需要可以充分利用身份信息識別模塊得到的信息。歷史行為記錄根據(jù)用戶名可以從用戶行為數(shù)據(jù)庫中提取用戶前η次的訪問時間以及所訪問的服務(wù)。生成新的行為記錄根據(jù)用戶η次的訪問時間可以算出用戶的訪問頻度、用戶經(jīng)常訪問的時間段、用戶經(jīng)常訪問的服務(wù)(如在m小時之內(nèi)訪問次數(shù)超過k次就算做經(jīng)常訪問)、上次訪問與本次訪問的時間間隔(以此可以限制用戶在χ秒內(nèi)不能訪問兩次以上)。4、策略執(zhí)行模塊根據(jù)用戶行為記錄可以執(zhí)行相應(yīng)的策略,以允許或阻止用戶訪問。限制的方法一般是根據(jù)應(yīng)用識別和用戶身份提取模塊得到的用戶信息和會話信息,阻止此回話的數(shù)據(jù)包通過。如阻止使用此username的用戶訪問;用戶訪問頻度大于20,限制其訪問一天;用戶在20秒內(nèi)連續(xù)登錄,限制其登錄三分鐘;不允許某個用戶在某個時間段訪問。圖3為本發(fā)明實施例中基于用戶身份過濾的方法流程圖,本領(lǐng)域技術(shù)人員應(yīng)該可以理解,該實施例用于對本發(fā)明的方法流程進(jìn)行說明,不應(yīng)理解為對本發(fā)明的限制,該方法實施例包括以下步驟在步驟301、當(dāng)用戶訪問服務(wù)時,應(yīng)用識別模塊監(jiān)聽網(wǎng)絡(luò)開放的所有端口,如發(fā)現(xiàn)有活動端口則進(jìn)行解包,得到其應(yīng)用層內(nèi)容,根據(jù)應(yīng)用層數(shù)據(jù)識別應(yīng)用層內(nèi)容中的應(yīng)用程序類型。
在步驟302、身份信息提取模塊根據(jù)應(yīng)用識別模塊提交的應(yīng)用程序類型選擇相應(yīng)的身份信息提取方法提取用戶身份信息(如用戶ID)。在步驟303、用戶行為分析模塊根據(jù)用戶身份信息形成用戶當(dāng)前的行為記錄。在步驟304、策略執(zhí)行模塊根據(jù)用戶事先配置好的防火墻處理策略,對用戶行為分析模塊提交的用戶當(dāng)前的行為記錄執(zhí)行防火墻處理策略,來控制用戶的會話。圖4為本發(fā)明另一實施例中基于用戶身份過濾的方法流程圖,其中,步驟301 步驟302與上一實施例相同,不同之處在于步驟303a和步驟30 ,具體為在步驟303a、用戶行為分析模塊還從用戶行為數(shù)據(jù)庫獲取歷史行為記錄,根據(jù)用戶當(dāng)前的行為記錄和歷史行為記錄生成新的用戶行為記錄,存儲到用戶行為數(shù)據(jù)庫。在步驟30 、策略執(zhí)行模塊根據(jù)用戶事先配置好的防火墻處理策略,對用戶行為分析模塊提交的新生成的用戶行為記錄執(zhí)行防火墻處理策略,來控制用戶的會話。上述方法流程中,在執(zhí)行防火墻處理策略之后,還將處理結(jié)果提交給用戶行為分析模塊,并寫入用戶行為數(shù)據(jù)庫。本發(fā)明通過識別數(shù)據(jù)包應(yīng)用層數(shù)據(jù)中的用戶身份進(jìn)行對特定用戶的訪問控制和會話管理,而非通過用戶在防火墻上登錄來識別用戶身份。下面結(jié)合說明書和附圖對本發(fā)明實施例進(jìn)行詳細(xì)說明。圖5所示為實施方式示意圖,其中防火墻位于受保護(hù)網(wǎng)絡(luò)的網(wǎng)絡(luò)邊界,進(jìn)出網(wǎng)絡(luò)流量均通過此防火墻。用戶A在受保護(hù)網(wǎng)絡(luò)內(nèi)部,訪問外部網(wǎng)絡(luò)服務(wù)器B,其流量通過位于網(wǎng)絡(luò)邊界的防火墻;用戶B位于受保護(hù)網(wǎng)絡(luò)外,訪問受保護(hù)網(wǎng)絡(luò)內(nèi)的網(wǎng)絡(luò)服務(wù)器A,其流量經(jīng)過受保護(hù)網(wǎng)絡(luò)邊界防火墻時被過濾。以上是兩種不同數(shù)據(jù)流方向的應(yīng)用場景。下面以外網(wǎng)用戶B訪問內(nèi)網(wǎng)服務(wù)器A為例進(jìn)行說明。用戶B發(fā)起呼叫欲與網(wǎng)絡(luò)服務(wù)器A建立連接,防火墻應(yīng)用識別模塊在所有的端口上掃描,發(fā)現(xiàn)有數(shù)據(jù)流通過便對其進(jìn)行解析,分析數(shù)據(jù)流中應(yīng)用層協(xié)議類型、記錄數(shù)據(jù)包的會話并對此數(shù)據(jù)包做標(biāo)簽,所述標(biāo)簽的作用是為了使記錄的數(shù)據(jù)包信息與數(shù)據(jù)包相對應(yīng)。 應(yīng)用識別模塊發(fā)送應(yīng)用類別消息到身份信息提取模塊,該應(yīng)用類別消息包含數(shù)據(jù)包標(biāo)簽、 應(yīng)用層協(xié)議類型、應(yīng)用程序類型以及數(shù)據(jù)包會話。身份信息提取模塊正確接收到此消息后向應(yīng)用識別模塊返回確認(rèn)消息。身份信息提取模塊找到應(yīng)用類別消息中數(shù)據(jù)包標(biāo)簽對應(yīng)的數(shù)據(jù)包,根據(jù)應(yīng)用類別消息中標(biāo)示的應(yīng)用程序類型采用相應(yīng)的用戶身份提取方法提取出用戶身份信息,包括應(yīng)用程序類型、用戶身份ID、數(shù)據(jù)包會話以及數(shù)據(jù)包標(biāo)簽,將用戶身份信息發(fā)送到用戶行為分析模塊,用戶行為分析模塊收到正確消息后返回確認(rèn)消息。用戶行為分析模塊根據(jù)用戶身份信息(如用戶ID)向用戶行為數(shù)據(jù)庫查詢用戶的歷史行為記錄,用戶行為數(shù)據(jù)庫返回用戶歷史行為記錄。所述用戶行為分析模塊根據(jù)用戶當(dāng)前的行為記錄和歷史行為記錄形成新的用戶行為記錄,并發(fā)送用戶行為分析結(jié)果到策略執(zhí)行模塊。策略執(zhí)行模塊根據(jù)訪問控制列表產(chǎn)生會話控制策略,對數(shù)據(jù)流做出允許或阻止的決定,并發(fā)送策略處理結(jié)果至用戶行為分析模塊,用戶行為分析模塊將新的用戶行為記錄和策略處理結(jié)果提交到用戶行為數(shù)據(jù)庫進(jìn)行保存。以上處理步驟中,如果應(yīng)用識別模塊或身份信息提取模塊無法識別應(yīng)用程序類型或無法提取用戶身份信息,將對數(shù)據(jù)包作標(biāo)簽并直接發(fā)送消息到策略執(zhí)行模塊,說明此數(shù)據(jù)包無法識別,交由策略執(zhí)行模塊處理。 作為對詳細(xì)描述的結(jié)論,應(yīng)該注意本領(lǐng)域的技術(shù)人員將會很清楚可對優(yōu)選實施例做出許多變化和修改,而實質(zhì)上不脫離本發(fā)明的原理。這種變化和修改包含在所附權(quán)利要求書所述的本發(fā)明的范圍之內(nèi)。
權(quán)利要求
1.一種防火墻,其特征在于在線提取用戶身份信息并執(zhí)行基于用戶身份信息的防火墻策略,包括應(yīng)用識別模塊,監(jiān)聽所有活動端口,根據(jù)應(yīng)用層數(shù)據(jù)識別應(yīng)用程序類型; 身份信息提取模塊,根據(jù)應(yīng)用識別模塊提供的應(yīng)用程序類型采用相應(yīng)的身份提取方法來提取用戶身份信息;用戶行為分析模塊,根據(jù)用戶身份信息形成用戶當(dāng)前的行為記錄,將當(dāng)前的行為記錄提供給策略執(zhí)行模塊和用戶行為數(shù)據(jù)庫,將策略執(zhí)行模塊的處理結(jié)果寫入用戶行為數(shù)據(jù)庫;策略執(zhí)行模塊,根據(jù)用戶當(dāng)前的行為記錄執(zhí)行防火墻處理策略,將處理結(jié)果提交給用戶行為分析模塊;用戶行為數(shù)據(jù)庫,存儲用戶行為分析模塊提供的用戶當(dāng)前的行為記錄和策略執(zhí)行模塊的處理結(jié)果;防火墻管理模塊,提供各模塊的管理配置。
2.根據(jù)權(quán)利要求1所述防火墻,其特征在于,還包括所述用戶行為分析模塊從用戶行為數(shù)據(jù)庫獲取用戶的歷史行為記錄;根據(jù)用戶當(dāng)前的行為記錄和歷史行為記錄生成新的用戶行為記錄,將新生成的用戶行為記錄寫入用戶行為數(shù)據(jù)庫,并將其提交給策略執(zhí)行模塊,將策略執(zhí)行模塊的處理結(jié)果寫入用戶行為數(shù)據(jù)庫。
3.根據(jù)權(quán)利要求1或2所述防火墻,其特征在于,用戶行為數(shù)據(jù)庫與其他防火墻的用戶行為數(shù)據(jù)庫連接形成分布式數(shù)據(jù)庫系統(tǒng)。
4.根據(jù)權(quán)利要求1或2所述防火墻,其特征在于,用戶行為分析模塊從身份信息提取模塊接收用戶本次訪問信息,包括應(yīng)用程序類型、用戶會話以及用戶身份信息,并從防火墻的日志統(tǒng)計模塊得到用戶所屬會話的相應(yīng)信息,形成當(dāng)前的用戶行為記錄。
5.根據(jù)權(quán)利要求1或2所述防火墻,其特征在于,防火墻管理模塊實現(xiàn)對在線提取方法的升級,針對不同的應(yīng)用采用不同的身份在線提取方法,通過升級增加可識別的應(yīng)用的數(shù)量。
6.一種基于用戶身份過濾的方法,其特征在于,包括當(dāng)用戶訪問服務(wù)時,監(jiān)聽所有活動端口,根據(jù)應(yīng)用層數(shù)據(jù)識別應(yīng)用程序類型; 根據(jù)應(yīng)用程序類型采用相應(yīng)的身份提取方法來提取用戶身份信息; 根據(jù)用戶身份信息形成用戶當(dāng)前的行為記錄; 根據(jù)用戶當(dāng)前的行為記錄執(zhí)行防火墻處理策略。
7.根據(jù)權(quán)利要求6所述基于用戶身份過濾的方法,其特征在于,根據(jù)用戶當(dāng)前的行為記錄執(zhí)行防火墻處理策略,進(jìn)一步包括獲取用戶的歷史行為記錄;根據(jù)用戶當(dāng)前的行為記錄和歷史行為記錄生成新的用戶行為記錄; 根據(jù)新的用戶行為記錄執(zhí)行防火墻處理策略。
8.根據(jù)權(quán)利要求6或7所述基于用戶身份過濾的方法,其特征在于,還包括將用戶的行為記錄存儲到用戶行為數(shù)據(jù)庫,用戶行為數(shù)據(jù)庫與其他防火墻的用戶行為數(shù)據(jù)庫連接形成分布式數(shù)據(jù)庫系統(tǒng)。
9.根據(jù)權(quán)利要求6或7所述基于用戶身份過濾的方法,其特征在于,形成用戶當(dāng)前的行為記錄,包括接收用戶本次訪問信息,包括應(yīng)用程序類型、用戶會話以及用戶身份信息,并從防火墻的日志統(tǒng)計模塊得到用戶所屬會話的相應(yīng)信息,形成用戶當(dāng)前的行為記錄。
10.根據(jù)權(quán)利要求6或7所述基于用戶身份過濾的方法,其特征在于,執(zhí)行防火墻處理策略,包括實現(xiàn)對在線提取方法的升級,針對不同的應(yīng)用采用不同的身份在線提取方法,通過升級增加可識別的應(yīng)用的數(shù)量。
全文摘要
本發(fā)明提出一種基于用戶身份過濾的方法以及防火墻。從應(yīng)用層數(shù)據(jù)中識別用戶身份信息,并且根據(jù)用戶身份信息和行為記錄來實現(xiàn)訪問控制和會話管理。本發(fā)明能夠?qū)蝹€用戶行為進(jìn)行細(xì)粒度控制,針對不同的用戶采取相應(yīng)的安全策略??梢苑乐箰阂庥脩粼L問服務(wù),或在網(wǎng)絡(luò)狀況不好的情況下限制某些用戶的訪問。
文檔編號H04L29/06GK102387135SQ20111030374
公開日2012年3月21日 申請日期2011年9月29日 優(yōu)先權(quán)日2011年9月29日
發(fā)明者張春紅, 成城, 紀(jì)陽, 裘曉峰, 趙糧, 郝明陽 申請人:北京郵電大學(xué)