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