雙核心雙出口星型網(wǎng)絡(luò)的防毒方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種雙核心雙出口星型網(wǎng)絡(luò)的防毒方法、裝置及系統(tǒng)。其中方法包括:在雙核心雙出口星型網(wǎng)絡(luò)的兩側(cè)鏈路上分別部署一臺防毒墻,兩側(cè)防毒墻各自利用扣包方法檢測和阻斷病毒,并且彼此直連。在TCP連接的雙向數(shù)據(jù)流各自通過單側(cè)防毒墻的情形下,兩側(cè)防毒墻根據(jù)傳輸協(xié)議類型進(jìn)行必要的信息同步,使得對端防毒墻能夠獲知帶毒文件的網(wǎng)絡(luò)位置,或者在FTP協(xié)議下跟蹤子連接。從而使得防毒墻在只捕獲單向數(shù)據(jù)流時,不僅能做到病毒阻斷,而且能報告帶毒文件的精確網(wǎng)絡(luò)位置。雙側(cè)防毒墻之間的同步鏈路為松散耦合,不存在單點(diǎn)失效的風(fēng)險,不破壞雙核心雙出口星型網(wǎng)絡(luò)的冗余特性。
【專利說明】雙核心雙出口星型網(wǎng)絡(luò)的防毒方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,特別是涉及一種雙核心雙出口星型網(wǎng)絡(luò)的防毒方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]目前大型園區(qū)網(wǎng)普遍采用雙核心雙出口星型結(jié)構(gòu),雙核心雙出口星型網(wǎng)絡(luò)的實(shí)質(zhì)是冗余配置。
[0003]如圖1所示,在核心層中,核心路由器Ra和Rb互為熱備,并分別通過鏈路I和鏈路2連接上層網(wǎng)絡(luò);在匯聚層中,匯聚路由器分別與每個核心路由器建立連接,如Rl通過鏈路3和鏈路4連接核心路由器Ra和Rb。這種連接方式能夠保障與上層網(wǎng)絡(luò)的連通性不會因單點(diǎn)失效(比如Ra崩潰)而中斷。雙核心星型結(jié)構(gòu)除鏈路冗余外,還承擔(dān)負(fù)載均衡的功能。核心路由器Ra和Rb相對于匯聚層路由器是等距的,通過路由協(xié)議,如OSPF協(xié)議的等價多路徑負(fù)載均衡,或者策略路由,主機(jī)10.1.3.68訪問上層網(wǎng)絡(luò)的出流量(黑色虛線表示),既可以選擇路徑(R1,Ra),也可以選擇路徑(R1,Rb),從而使得雙核心設(shè)備和出口帶寬得到充分利用。同理,從上層網(wǎng)絡(luò)返回到10.1.3.68的流量,也可以選擇路徑(Ra,Rl)或(Rb,Rl)。
[0004]目前,一般采用透明代理防毒墻對網(wǎng)絡(luò)傳輸中的病毒進(jìn)行過濾,以保證網(wǎng)絡(luò)安全。
[0005]透明代理防毒墻的原理如圖2所示(圖2右下側(cè)方框是防毒墻的框架結(jié)構(gòu)),在透明代理防毒墻系統(tǒng)中,客戶端與服務(wù)器之間的原始連接被客戶端與防毒墻系統(tǒng)之間的接管連接以及防毒墻系統(tǒng)與服務(wù)器之間的代理連接所取代。防毒墻系統(tǒng)的透明代理保證代理連接所使用的IP源地址和TCP源端口與原始連接一致;防毒墻系統(tǒng)的協(xié)議代理模塊負(fù)責(zé)接管原始連接和發(fā)起代理連接,解析應(yīng)用層協(xié)議,還原和緩存文件,并交給查毒引擎查殺。
[0006]透明代理防毒墻功能有效性的必要條件是:代理TCP連接的雙向流量都必須通過同一臺防毒墻,否則透明代理防毒墻會發(fā)生功能失效,甚至導(dǎo)致網(wǎng)絡(luò)中斷。
[0007]在圖1中,對于在路由器Ra出口鏈路I上布置的防毒墻,如果10.1.3.68訪問上層網(wǎng)絡(luò)的流量經(jīng)過Ra,但由于多鏈路負(fù)載均衡的原因,上層網(wǎng)絡(luò)返回10.1.3.68的流量可能經(jīng)過Rb —側(cè),就會發(fā)生防毒墻功能失效。
[0008]因此,如何實(shí)現(xiàn)在雙核心雙出口星型網(wǎng)絡(luò)中,防毒墻只捕獲TCP連接單向數(shù)據(jù)流的前提下,仍能做到病毒阻斷,并報告帶毒文件的網(wǎng)絡(luò)位置信息是個亟待解決的問題。
【發(fā)明內(nèi)容】
[0009]本發(fā)明提供了一種雙核心雙出口星型網(wǎng)絡(luò)的防毒方法、裝置及系統(tǒng),在雙核心雙出口星型網(wǎng)絡(luò)中,防毒墻只捕獲TCP連接單個方向流量的前提下,仍能做到病毒阻斷,并報告帶毒文件的網(wǎng)絡(luò)位置。
[0010]為實(shí)現(xiàn)本發(fā)明目的而提供的一種雙核心雙出口星型網(wǎng)絡(luò)的防毒方法,包括如下步驟:
[0011]S100,在雙核心雙出口星型網(wǎng)絡(luò)的雙鏈路上各自部署一臺防毒墻,雙側(cè)防毒墻之間彼此直連,兩臺防毒墻各自采用扣包方法查殺和阻斷病毒;
[0012]S200,TCP連接的雙向數(shù)據(jù)流經(jīng)過防毒墻時,防毒墻各自獨(dú)立地采用扣包方法查殺并阻斷數(shù)據(jù)流中帶毒文件的傳輸;TCP連接的單向數(shù)據(jù)流經(jīng)過一側(cè)防毒墻時,該側(cè)防毒墻根據(jù)傳輸協(xié)議類型將同步信息同步到對端防毒墻;
[0013]S300,任一側(cè)防毒墻根據(jù)對端防毒墻同步過來的同步信息,輔助進(jìn)行子連接跟蹤,并各自獨(dú)立地對經(jīng)過的TCP連接的單向數(shù)據(jù)流采用扣包方法進(jìn)行病毒查殺,在發(fā)現(xiàn)病毒時報告帶毒文件的精確網(wǎng)絡(luò)位置。
[0014]較佳地,作為一種可實(shí)施方式,兩側(cè)防毒墻中各自設(shè)定用于發(fā)送和/或接收同步信息的網(wǎng)卡;所述兩側(cè)防毒墻之間通過雙絞線進(jìn)行物理直連。
[0015]較佳地,作為一種可實(shí)施方式,所述S200包括以下步驟:
[0016]S210,兩側(cè)防毒墻同時判斷TCP連接雙向數(shù)據(jù)流是否經(jīng)過同側(cè)防毒墻,如果是則執(zhí)行步驟S220,否則執(zhí)行步驟S230 ;
[0017]S220,防毒墻捕獲并解析TCP連接的雙向數(shù)據(jù)流,直接利用扣包方法對帶毒數(shù)據(jù)流進(jìn)行查殺和阻斷后結(jié)束返回;
[0018]S230,一側(cè)防毒墻捕獲經(jīng)過的TCP連接的單向數(shù)據(jù)流,根據(jù)傳輸協(xié)議類型判斷是否需要同步所述同步信息到對端防毒墻;并在判斷出需要同步所述同步信息到對端防毒墻時,提取出子連接協(xié)商信息或者傳輸文件的網(wǎng)絡(luò)位置信息作為同步信息通過防毒墻間同步鏈路發(fā)送給對端防毒墻。
[0019]較佳地,作為一種可實(shí)施方式,所述S230,包括以下步驟:
[0020]S231,判斷TCP連接的單向數(shù)據(jù)流的傳輸協(xié)議類型;
[0021]S232,當(dāng)判斷出所述傳輸協(xié)議為HTTP傳輸協(xié)議時,本側(cè)防毒墻從TCP連接的單向數(shù)據(jù)流中捕獲到GET信息作為同步信息,通過防毒墻間同步鏈路將所述GET信息發(fā)送給對端防毒墻;
[0022]S233,當(dāng)判斷出所述傳輸協(xié)議為SMTP或者POP3傳輸協(xié)議時,本側(cè)防毒墻不提取同步信息,也不發(fā)送同步信息到對端防毒墻,兩側(cè)防毒墻各自從郵件本身中提取網(wǎng)絡(luò)位置信息;
[0023]S234,當(dāng)判斷出所述傳輸協(xié)議為FTP傳輸協(xié)議時,本側(cè)防毒墻以P0RT、ST0R、RETR、CffD和227應(yīng)答作為同步信息,通過防毒墻間同步鏈路將所述PORT、STOR、RETR、CffD和227
應(yīng)答發(fā)送給對端防毒墻。
[0024]較佳地,作為一種可實(shí)施方式,所述S300包括以下步驟:
[0025]S310,判斷所述TCP連接的單向數(shù)據(jù)流的傳輸協(xié)議類型;
[0026]S320,當(dāng)判斷出所述傳輸協(xié)議為HTTP傳輸協(xié)議時,本側(cè)防毒墻對經(jīng)過的單方向數(shù)據(jù)流利用扣包方法查殺和阻斷病毒,并利用對端同步過來的GET請求中的URL信息對所查殺的病毒報告精確的網(wǎng)絡(luò)位置;
[0027]當(dāng)所述傳輸協(xié)議為SMTP或者POP3傳輸協(xié)議時,本側(cè)防毒墻對經(jīng)過的單向數(shù)據(jù)流直接利用扣包方法查殺和阻斷病毒,并獨(dú)立地從郵件本身中解析出網(wǎng)絡(luò)位置信息;
[0028]當(dāng)所述傳輸協(xié)議為FTP傳輸協(xié)議時,根據(jù)FTP文件傳輸模式和類型,本側(cè)防毒墻選擇利用對端同步信息中的PORT命令或227應(yīng)答獲知FTP數(shù)據(jù)連接的協(xié)商信息并跟蹤數(shù)據(jù)連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網(wǎng)絡(luò)位置信息。
[0029]較佳地,作為一種可實(shí)施方式,所述當(dāng)所述傳輸協(xié)議為FTP傳輸協(xié)議時,根據(jù)FTP文件傳輸模式和類型,本側(cè)防毒墻選擇利用對端同步信息中的PORT命令或227應(yīng)答獲知FTP數(shù)據(jù)連接的協(xié)商信息并跟蹤數(shù)據(jù)連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網(wǎng)絡(luò)位置信息,包括以下步驟:
[0030]S321,判斷所述FTP文件傳輸模式和類型;
[0031]S322,當(dāng)判斷出所述FTP文件傳輸為主動連接-文件上傳時,上傳方向的防毒墻直接對上傳文件采用扣包進(jìn)行病毒的查殺和阻斷;并獨(dú)立地獲得子連接協(xié)商信息和文件路徑信息;
[0032]S323,當(dāng)判斷出所述FTP文件傳輸為主動連接-文件下載時,下載方向的防毒墻利用對端同步的子連接協(xié)商信息和文件路徑信息對下載文件采用扣包方法進(jìn)行病毒的查殺和阻斷;
[0033]S324,當(dāng)判斷出所述FTP文件傳輸為被動連接-文件上傳時,上傳方向的防毒墻利用對端同步的子連接協(xié)商信息采用扣包方法進(jìn)行病毒的查殺和阻斷,并獨(dú)立地獲得文件路徑信息;
[0034]S325,當(dāng)判斷出所述FTP文件傳輸為被動連接-文件下載時,下載方向的防毒墻獨(dú)立地獲得子連接協(xié)商信息,采用扣包方法進(jìn)行病毒的查殺和阻斷,并獲得對端同步過來的文件路徑信息。
[0035]較佳地,兩臺防毒墻處于松散耦合關(guān)系,同步信息的丟失或者任一臺防毒墻的宕機(jī)不會影響對端防毒墻的數(shù)據(jù)包轉(zhuǎn)發(fā)和病毒阻斷。
[0036]基于同一發(fā)明構(gòu)思的一種雙核心雙出口星型網(wǎng)絡(luò)的防毒裝置:在雙側(cè)鏈路上各部署一臺防毒墻,兩側(cè)防毒墻之間通過同步鏈路連接,其中:
[0037]雙核心網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的交互流量通過防毒墻進(jìn)行傳輸;
[0038]所述同步鏈路物理連接兩側(cè)防毒墻,傳輸兩側(cè)防毒墻之間的同步信息;
[0039]兩側(cè)防毒墻用于查殺雙核心雙出口星型網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流中的病毒。
[0040]較佳地,作為一種可實(shí)施方式,所述兩側(cè)防毒墻由相同的模塊組成,所述防毒墻包括:
[0041]配置模塊、數(shù)據(jù)流捕獲模塊、半連接判斷模塊、扣包查毒模塊、信息同步模塊、單向數(shù)據(jù)流處理模塊和病毒報告模塊;
[0042]所述配置模塊用于配置兩臺防毒墻之間互相連通的同步鏈路;
[0043]所述數(shù)據(jù)流捕獲模塊,用于捕獲經(jīng)過防毒墻的數(shù)據(jù)流;
[0044]所述半連接判斷模塊,用于判斷防毒墻是否只捕獲TCP連接的單向數(shù)據(jù)流,當(dāng)防毒墻捕獲TCP連接的雙向數(shù)據(jù)流時,則利用扣包查毒模塊直接對數(shù)據(jù)流查殺病毒處理;當(dāng)防毒墻只捕獲TCP連接的單向的數(shù)據(jù)流時,則利用信息同步模塊對數(shù)據(jù)流進(jìn)行處理;
[0045]所述扣包查毒模塊,用于對防毒墻所捕獲的數(shù)據(jù)流中的病毒進(jìn)行查殺,當(dāng)半連接判斷模塊對數(shù)據(jù)流捕獲模塊所捕獲的數(shù)據(jù)流進(jìn)行判斷后,防毒墻捕獲TCP連接的雙向數(shù)據(jù)流時,直接對數(shù)據(jù)流捕獲模塊捕獲的雙向數(shù)據(jù)流中的病毒進(jìn)行查殺;
[0046]所述信息同步模塊,用于判斷所接收的單向數(shù)據(jù)流是否需要發(fā)送同步信息到對端防毒墻,當(dāng)需要發(fā)送同步信息到對端防毒墻時,則發(fā)送同步信息,并通同步鏈路發(fā)送給對端防毒墻,否則直接利用單向數(shù)據(jù)流處理模塊對單向數(shù)據(jù)流進(jìn)行處理;
[0047]所述單向數(shù)據(jù)流處理模塊,用于選擇利用同步信息配合扣包查毒模塊對防毒墻捕獲的TCP連接的單向數(shù)據(jù)流進(jìn)行子連接定位,病毒的查殺和阻斷,并確定傳輸文件的網(wǎng)絡(luò)位置信息;
[0048]所述病毒報告模塊,用于在有病毒事件發(fā)生時,報告病毒事件,并同時報告帶毒文件的網(wǎng)絡(luò)位置。
[0049]較佳地,作為一種可實(shí)施方式,所述防毒墻捕獲雙向數(shù)據(jù)流時,扣包查毒模塊對數(shù)據(jù)流查殺病毒后,如果發(fā)現(xiàn)帶毒文件,病毒報告模塊報告病毒事件,同時報告帶毒文件的網(wǎng)絡(luò)位置;
[0050]所述防毒墻捕獲單向數(shù)據(jù)流時,扣包查毒模塊對數(shù)據(jù)流查殺病毒后,如果發(fā)現(xiàn)帶毒文件,病毒報告模塊報告病毒事件,根據(jù)單向數(shù)據(jù)流處理模塊確定的網(wǎng)絡(luò)位置信息,同時報告帶毒文件的網(wǎng)絡(luò)位置。
[0051]基于同一發(fā)明構(gòu)思的一種雙核心雙出口星型網(wǎng)絡(luò)的防毒系統(tǒng),包括服務(wù)器和客戶端,以及所述雙核心雙出口星型網(wǎng)絡(luò)的防毒裝置。
[0052]本發(fā)明的有益效果包括:
[0053]本發(fā)明提供的一種雙核心雙出口星型網(wǎng)絡(luò)的查毒方法、裝置及系統(tǒng)。通過設(shè)置在雙核心雙出口星型網(wǎng)絡(luò)出口處雙側(cè)鏈路上的兩臺防毒墻之間發(fā)送同步信息,防毒墻從所捕獲的TCP連接單向數(shù)據(jù)流中還原出傳輸文件,并確定所述傳輸文件的網(wǎng)絡(luò)位置信息,并利用扣包方法對防毒墻捕獲的數(shù)據(jù)流病毒查殺和阻斷,使防毒墻在只捕獲TCP連接單向數(shù)據(jù)流的前提下,仍能做到病毒阻斷,在報告病毒事件時同時報告帶毒文件的網(wǎng)絡(luò)位置,而且防毒墻本身不對用戶網(wǎng)絡(luò)拓?fù)浜吐酚刹呗允┘尤魏蜗拗?,不破壞雙核心雙出口星型結(jié)構(gòu)的冗余特性,雙出口鏈路上的防毒墻呈松散耦合關(guān)系,在對端宕機(jī)時不會失效。
【專利附圖】
【附圖說明】
[0054]圖1為現(xiàn)有技術(shù)雙核心雙出口星型網(wǎng)絡(luò)示意圖;
[0055]圖2為現(xiàn)有技術(shù)透明代理防毒墻原理示意圖;
[0056]圖3為本發(fā)明一種雙核心雙出口星型網(wǎng)絡(luò)的查毒方法的一具體實(shí)施例的流程示意圖;
[0057]圖4為本發(fā)明一種雙核心雙出口星型網(wǎng)絡(luò)的查毒方法的一具體實(shí)施例的使用HTTP協(xié)議傳輸文件的示意圖;
[0058]圖5是扣包查毒方法的零拷貝sk_buff結(jié)構(gòu)的棧式分配隊(duì)列示意圖;
[0059]圖6是扣包查毒方法的網(wǎng)卡數(shù)據(jù)包收發(fā)包過程示意圖;
[0060]圖7是扣包查毒方法的網(wǎng)卡數(shù)據(jù)包在內(nèi)核層接收并映射到應(yīng)用層示意圖;
[0061]圖8為本發(fā)明一種雙核心雙出口星型網(wǎng)絡(luò)的查毒方法的一具體實(shí)施例的使用SMTP協(xié)議傳輸文件的示意圖;
[0062]圖9為本發(fā)明一種雙核心雙出口星型網(wǎng)絡(luò)的查毒方法的一具體實(shí)施例的使用POP3協(xié)議傳輸文件的示意圖;
[0063]圖10為本發(fā)明一種雙核心雙出口星型網(wǎng)絡(luò)的查毒方法的一具體實(shí)施例的使用FTP協(xié)議傳輸文件的示意圖;
[0064]圖11為本發(fā)明一種雙核心雙出口星型網(wǎng)絡(luò)的查毒裝置的一具體實(shí)施例的防毒墻構(gòu)成示意圖。
【具體實(shí)施方式】
[0065]為使本發(fā)明雙核心雙出口星型網(wǎng)絡(luò)的查毒方法及裝置的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明做進(jìn)一步詳細(xì)說明,但是,應(yīng)當(dāng)說明的是,以下所描述的具體實(shí)施例僅用于說明本發(fā)明,但不是限定本發(fā)明的范圍。
[0066]本實(shí)施例的雙核心雙出口星型網(wǎng)絡(luò)查毒方法,如圖3所示,包括如下步驟:
[0067]S100,在雙核心雙出口星型網(wǎng)絡(luò)的雙鏈路上各自部署一臺防毒墻,雙側(cè)防毒墻之間彼此直連,兩臺防毒墻各自采用扣包方法查殺和阻斷病毒;
[0068]S200,TCP連接的雙向數(shù)據(jù)流經(jīng)過防毒墻時,防毒墻各自獨(dú)立地采用扣包方法查殺并阻斷數(shù)據(jù)流中帶毒文件的傳輸;TCP連接的單向數(shù)據(jù)流經(jīng)過一側(cè)防毒墻時,該側(cè)防毒墻根據(jù)傳輸協(xié)議類型將同步信息同步到對端防毒墻;
[0069]S300,任一側(cè)防毒墻根據(jù)對端防毒墻同步過來的同步信息,輔助進(jìn)行子連接跟蹤對子連接并各自獨(dú)立地對流經(jīng)的TCP連接的單向數(shù)據(jù)流采用扣包方法進(jìn)行病毒查殺,在發(fā)現(xiàn)病毒時報告帶毒文件的精確網(wǎng)絡(luò)位置。
[0070]下面對上述步驟做詳細(xì)說明:
[0071]步驟S100,在雙核心雙出口星型網(wǎng)絡(luò)的雙鏈路上各自部署一臺防毒墻,雙側(cè)防毒墻之間彼此直連,兩臺防毒墻各自采用扣包方法查殺和阻斷病毒。
[0072]如圖1所示,在雙核心雙出口星型網(wǎng)絡(luò)核心路由器Ra和Rb的出口處分別部署一臺防毒墻。
[0073]此處需要說明的是,所述兩臺防毒墻的結(jié)構(gòu)及功能完全相同,兩臺防毒墻根據(jù)TCP連接的雙向數(shù)據(jù)流是否經(jīng)過同側(cè)防毒墻而決定是否同步信息到對端防毒墻。在兩臺防毒墻中設(shè)置發(fā)送、接收同步信息的網(wǎng)卡并進(jìn)行物理直連。
[0074]較佳地,作為一種可實(shí)施方式,兩側(cè)防毒墻之間通過雙絞線直連的一對網(wǎng)卡構(gòu)成同步鏈路,網(wǎng)卡均處于混雜模式,可監(jiān)聽所有收到的數(shù)據(jù)包。
[0075]同步方法的實(shí)質(zhì)是將帶有同步信息的原始數(shù)據(jù)包通過本側(cè)同步網(wǎng)卡拷貝一份并直接發(fā)往對端。
[0076]對端在收到同步的數(shù)據(jù)包后,使用數(shù)據(jù)包中的TCP首部的四元組信息定位相應(yīng)的TCP連接數(shù)據(jù)結(jié)構(gòu),再根據(jù)具體的應(yīng)用層解析出所需要的子連接協(xié)商信息或者傳輸文件網(wǎng)絡(luò)位置信息。
[0077]需要說明的是,所述同步鏈路用于在兩臺防毒墻之間完成信息的傳遞,本實(shí)施例中通過雙絞線直連的方式實(shí)現(xiàn),當(dāng)然也可以采用本領(lǐng)域技術(shù)人員所熟知的其他方式實(shí)現(xiàn)同步鏈路。
[0078]此處防毒墻采用扣包方法查殺并阻斷病毒,取締了傳統(tǒng)的透明代理查毒手段。采用扣包方法的防毒墻并不接管原始連接,也不建立代理連接;而是作為數(shù)據(jù)流的觀察者,在文件傳輸?shù)竭_(dá)最后一個數(shù)據(jù)包時,在TCP層扣留該數(shù)據(jù)包和后續(xù)重傳包,直到病毒傳統(tǒng)引擎完成對文件的病毒掃描,再根據(jù)掃描結(jié)果決定被扣數(shù)據(jù)包的轉(zhuǎn)發(fā)或丟棄,以及連接的繼續(xù)或阻斷。這種基于TCP層直接扣包而不是代理連接的殺毒技術(shù),使得防毒墻類似于一根可以阻斷病毒的導(dǎo)線,除了病毒掃描引入的延遲,或者阻斷帶毒連接外,不改變原始連接的任何特征。
[0079]較佳地,作為一種可實(shí)施方式,步驟S200,TCP連接的雙向數(shù)據(jù)流經(jīng)過防毒墻時,防毒墻各自獨(dú)立地采用扣包方法查殺并阻斷數(shù)據(jù)流中帶毒文件的傳輸;TCP連接的單向數(shù)據(jù)流經(jīng)過一側(cè)防毒墻時,該側(cè)防毒墻根據(jù)傳輸協(xié)議類型將同步信息同步到對端防毒墻,包括以下步驟:
[0080]S210,兩側(cè)防毒墻同時判斷TCP連接雙向數(shù)據(jù)流是否經(jīng)過同側(cè)防毒墻,如果是則執(zhí)行步驟S220,否則執(zhí)行步驟S230 ;
[0081]如圖4所示,客戶端10.1.3.68訪問位于10.1.0.157上的web站點(diǎn)的主頁面index, html,則客戶端和服務(wù)器之間要完成TCP連接的三次握手,在建立TCP連接的三次握手過程中,防毒墻作為數(shù)據(jù)流的觀察者,可以判斷TCP連接的雙向數(shù)據(jù)流是否經(jīng)過同側(cè)防毒墻。所述防毒墻在TCP連接握手階段捕獲解析并判斷雙向數(shù)據(jù)流是否通過同側(cè)防毒墻為成熟技術(shù),作為本【技術(shù)領(lǐng)域】人員可以根據(jù)介紹實(shí)現(xiàn),此處不再贅述。
[0082]此處需要說明的是,在TCP的3次握手階段之后,防毒墻就能夠判斷出TCP連接雙向數(shù)據(jù)流的走向。如果單側(cè)防毒墻只看到SYN包和第3個ACK包,或者只看到SYNACK包,就表明TCP連接雙向數(shù)據(jù)流分別流經(jīng)兩側(cè)鏈路。
[0083]S220,防毒墻捕獲并解析TCP連接的雙向數(shù)據(jù)流,直接利用扣包方法對帶毒數(shù)據(jù)流進(jìn)行查殺和阻斷后結(jié)束返回;
[0084]此處需要說明的是,在雙核心雙出口星型網(wǎng)絡(luò)中,對于布置在核心路由器出口處的防毒墻,在TCP連接雙向數(shù)據(jù)流都經(jīng)過同一防毒墻時,該防毒墻正常工作,可以完成查毒的工作。對本發(fā)明實(shí)施例雙核心雙出口星型網(wǎng)絡(luò)查毒方法也是如此,當(dāng)TCP連接雙向數(shù)據(jù)流都經(jīng)過同一防毒墻時,該防毒墻直接利用扣包方法對捕獲解析出的雙向數(shù)據(jù)流查殺并阻斷病毒后結(jié)束返回,在報告病毒事件時,同時能報告帶毒文件的網(wǎng)絡(luò)位置。
[0085]S230,一側(cè)防毒墻捕獲經(jīng)過的TCP連接的單向數(shù)據(jù)流,根據(jù)傳輸協(xié)議類型判斷是否需要同步所述同步信息到對端防毒墻;并在判斷出需要同步所述同步信息到對端防毒墻時,提取出子連接協(xié)商信息或者傳輸文件的網(wǎng)絡(luò)位置信息作為同步信息通過防毒墻間同步鏈路發(fā)送給對端防毒墻;
[0086]此處需要說明的是,需要同步的信息是用來確定傳輸文件網(wǎng)絡(luò)位置的信息的網(wǎng)絡(luò)位置信息或者輔助子連接跟蹤的自連接跟蹤信息,要同步的數(shù)據(jù)包數(shù)量很少,占用的帶寬和資源相當(dāng)有限。如在使用HTTP協(xié)議進(jìn)行文件傳輸時的客戶端發(fā)出的GET請求數(shù)據(jù)包。
[0087]較佳地,作為一種可實(shí)施方式,所述S230,一側(cè)防毒墻捕獲經(jīng)過的TCP連接的單向數(shù)據(jù)流,根據(jù)傳輸協(xié)議類型判斷是否需要同步所述同步信息到對端防毒墻;并在判斷出需要同步所述同步信息到對端防毒墻時,提取出子連接協(xié)商信息或者傳輸文件的網(wǎng)絡(luò)位置信息作為同步信息通過防毒墻間同步鏈路發(fā)送給對端防毒墻,包括以下步驟:
[0088]S231,判斷TCP連接的單向數(shù)據(jù)流的傳輸協(xié)議類型;
[0089]S232,當(dāng)判斷出所述傳輸協(xié)議為HTTP傳輸協(xié)議時,本側(cè)防毒墻從TCP連接的單向數(shù)據(jù)流中捕獲到GET信息作為同步信息,通過防毒墻間同步鏈路將所述GET信息發(fā)送給對端防毒墻;
[0090]S233,當(dāng)判斷出所述傳輸協(xié)議為SMTP或者POP3傳輸協(xié)議時,本側(cè)防毒墻不提取同步信息,也不發(fā)送同步信息到對端防毒墻,兩側(cè)防毒墻各自從郵件本身中提取網(wǎng)絡(luò)位置信息;
[0091]S234,當(dāng)判斷出所述傳輸協(xié)議為FTP傳輸協(xié)議時,本側(cè)防毒墻以P0RT、ST0R、RETR、CffD和227應(yīng)答作為同步信息,通過防毒墻間同步鏈路將所述PORT、STOR、RETR、CffD和227
應(yīng)答發(fā)送給對端防毒墻。
[0092]較佳地,作為一種可實(shí)施方式,本實(shí)施例中,一側(cè)防毒墻通過網(wǎng)卡發(fā)送同步信息給對端防毒墻,同步信息經(jīng)過兩臺防毒墻之間直連的雙絞線到達(dá)對端。
[0093]此處需要說明的是,一側(cè)防毒墻發(fā)送同步信息給對端防毒墻,對端防毒墻不返回確認(rèn)信息,同步信息丟失不影響TCP數(shù)據(jù)流在兩側(cè)防毒墻的正常轉(zhuǎn)發(fā)。因此,設(shè)置在雙核心雙出口星型網(wǎng)絡(luò)兩出口處的兩臺防毒墻呈松散耦合關(guān)系,一側(cè)防毒墻宕機(jī)或者同步信息丟失時不影響對端防毒墻的數(shù)據(jù)包轉(zhuǎn)發(fā)。
[0094]較佳地,作為一種可實(shí)施方式,步驟S300,任一側(cè)防毒墻根據(jù)對端防毒墻同步過來的同步信息,輔助進(jìn)行子連接跟蹤,并各自獨(dú)立地對經(jīng)過的TCP連接的單向數(shù)據(jù)流采用扣包方法進(jìn)行病毒查殺,在發(fā)現(xiàn)病毒時報告帶毒文件的精確網(wǎng)絡(luò)位置,包括以下步驟:
[0095]S310,判斷所述TCP連接的單向數(shù)據(jù)流的傳輸協(xié)議類型;
[0096]S320,當(dāng)判斷出所述傳輸協(xié)議為HTTP傳輸協(xié)議時,本側(cè)防毒墻對經(jīng)過的單方向數(shù)據(jù)流利用扣包方法查殺和阻斷病毒,并利用對端同步過來的GET請求中的URL信息對所查殺的病毒報告精確的網(wǎng)絡(luò)位置;
[0097]當(dāng)所述傳輸協(xié)議為SMTP或者POP3傳輸協(xié)議時,本側(cè)防毒墻對經(jīng)過的單向數(shù)據(jù)流直接利用扣包方法查殺和阻斷病毒,并獨(dú)立地從郵件本身中解析出網(wǎng)絡(luò)位置信息;
[0098]此處需要說明的是,所述網(wǎng)絡(luò)位置信息為郵件的發(fā)件人或收件人。
[0099]當(dāng)所述傳輸協(xié)議為FTP傳輸協(xié)議時,根據(jù)FTP文件傳輸模式和類型,本側(cè)防毒墻選擇利用對端同步信息中的PORT命令或227應(yīng)答獲知FTP數(shù)據(jù)連接的協(xié)商信息并跟蹤數(shù)據(jù)連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網(wǎng)絡(luò)位置信息。
[0100]較佳地,作為一種可實(shí)施方式,所述當(dāng)所述傳輸協(xié)議為FTP傳輸協(xié)議時,根據(jù)FTP文件傳輸模式和類型,本側(cè)防毒墻選擇利用對端同步信息中的PORT命令或227應(yīng)答獲知FTP數(shù)據(jù)連接的協(xié)商信息并跟蹤數(shù)據(jù)連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網(wǎng)絡(luò)位置信息,包括以下步驟:
[0101]S321,判斷所述FTP文件傳輸模式和類型;
[0102]S322,當(dāng)判斷出所述FTP文件傳輸為主動連接-文件上傳時,上傳方向的防毒墻直接對上傳文件采用扣包進(jìn)行病毒的查殺和阻斷;并獨(dú)立地獲得子連接協(xié)商信息和文件路徑信息;
[0103]S323,當(dāng)判斷出所述FTP文件傳輸為主動連接-文件下載時,下載方向的防毒墻利用對端同步的子連接協(xié)商信息和文件路徑信息對下載文件采用扣包方法進(jìn)行病毒的查殺和阻斷;
[0104]S324,當(dāng)判斷出所述FTP文件傳輸為被動連接-文件上傳時,上傳方向的防毒墻利用對端同步的子連接協(xié)商信息采用扣包方法進(jìn)行病毒的查殺和阻斷,并獨(dú)立地獲得文件路徑息;
[0105]S325,當(dāng)判斷出所述FTP文件傳輸為被動連接-文件下載時,下載方向的防毒墻獨(dú)立地獲得子連接協(xié)商信息,采用扣包方法進(jìn)行病毒的查殺和阻斷,并獲得對端同步過來的文件路徑信息。
[0106]此處需要說明的是,所述文件路徑信息即為FTP文件傳輸中上傳或下載的文件的網(wǎng)絡(luò)位置。
[0107]較佳地,作為一種可實(shí)施方式,所述任一防毒墻根據(jù)對端防毒墻同步過來的子連接協(xié)商信息,輔助進(jìn)行子連接跟蹤以對子連接進(jìn)行病毒查殺;或者根據(jù)同步過來的網(wǎng)絡(luò)位置信息,在發(fā)現(xiàn)病毒時報告帶毒文件的精確網(wǎng)絡(luò)位置,包括以下操作:
[0108]防毒墻通過TCP四元組將通過同步鏈路發(fā)送過來的同步信息與所述TCP連接單向數(shù)據(jù)流置入同一個TCP連接數(shù)據(jù)結(jié)構(gòu)中處理,從而識別負(fù)責(zé)文件傳輸?shù)淖舆B接,以及文件網(wǎng)絡(luò)位置信息。
[0109]由上所述可得,在雙核心雙出口星型網(wǎng)絡(luò)中,本發(fā)明實(shí)施例可以在防毒墻只捕獲單向數(shù)據(jù)流的情況下完成對數(shù)據(jù)流的查毒,實(shí)現(xiàn)病毒掃描和阻斷,并能確定數(shù)據(jù)流的網(wǎng)絡(luò)位置。對于未列舉的更多協(xié)議,也可以如法炮制。
[0110]下面詳細(xì)說明本發(fā)明中的扣包查毒方法,其可以參見本 申請人:申請?zhí)?01310066604.1的《網(wǎng)絡(luò)傳輸數(shù)據(jù)病毒檢測處理方法》發(fā)明專利申請文件。
[0111]網(wǎng)絡(luò)傳輸數(shù)據(jù)病毒檢測處理方法,包括如下步驟:
[0112]步驟A100,在網(wǎng)卡的內(nèi)核層中設(shè)置預(yù)設(shè)大小的常駐內(nèi)存作為零拷貝內(nèi)存,并配置為零拷貝sk_buff結(jié)構(gòu)的棧式分配隊(duì)列,同時在內(nèi)核層設(shè)置與棧式分配隊(duì)列的索引相應(yīng)的接收隊(duì)列和放走隊(duì)列,對網(wǎng)絡(luò)傳輸?shù)氖瞻l(fā)數(shù)據(jù)包進(jìn)行分配和釋放。
[0113]在網(wǎng)卡的內(nèi)核層中設(shè)置預(yù)設(shè)固定大小的常駐內(nèi)存作為零拷貝內(nèi)存,用于網(wǎng)卡收包隊(duì)列的分配和釋放。
[0114]本發(fā)明實(shí)施例中,作為一種可實(shí)施方式,所述步驟AlOO包括如下步驟:
[0115]步驟A110,在網(wǎng)卡的內(nèi)核層的低端內(nèi)存中設(shè)置預(yù)設(shè)大小的常駐內(nèi)存作為零拷貝內(nèi)存;
[0116]較佳地,作為一種可實(shí)施方式,在32位Linux內(nèi)核中,896MB以下的物理內(nèi)存為低端內(nèi)存,在該32位Linux內(nèi)核的低端內(nèi)存中,設(shè)置預(yù)設(shè)大小的常駐內(nèi)存作為零拷貝內(nèi)存,該零拷貝內(nèi)存用于網(wǎng)卡收發(fā)包隊(duì)列的分配。
[0117]步驟A120,將所述零拷貝內(nèi)存分配為P00L_SIZE/2整數(shù)個物理頁(P00L_SIZE/2為大于I的整數(shù)),每個物理頁大小為4096字節(jié),且設(shè)定為不允許換出到交換空間,并將每個物理頁等分為2個半頁,每個半頁大小為2048字節(jié),用于收發(fā)數(shù)據(jù)包;
[0118]較佳地,作為一種可實(shí)施方式,在內(nèi)核層的低端內(nèi)存中分配P00L_SIZE/2整數(shù)個物理頁,在圖5中以方塊表示。每個物理頁大小為4096字節(jié),且設(shè)定為不允許換出到交換空間。每個物理頁等分為2個半頁,每個半頁大小為2048字節(jié)。在零拷貝內(nèi)存中,每個半頁被稱為零拷貝半頁,用于收取數(shù)據(jù)包。
[0119]步驟A130,分配P00L_SIZE個sk_buff結(jié)構(gòu)到零拷貝內(nèi)存的P00L_SIZE個物理半頁中,作為零拷貝sk_buff結(jié)構(gòu)的零拷貝內(nèi)存;
[0120]sk_buff結(jié)構(gòu)是現(xiàn)有操作系統(tǒng)(如Linux系統(tǒng))內(nèi)核層中網(wǎng)絡(luò)數(shù)據(jù)包處理的核心數(shù)據(jù)結(jié)構(gòu),每個sk_buff結(jié)構(gòu)對應(yīng)并存儲一個網(wǎng)絡(luò)數(shù)據(jù)包。
[0121]步驟A140,在零拷貝sk_buff結(jié)構(gòu)中配置index域記錄對應(yīng)物理半頁在零拷貝內(nèi)存中的索引,使得每個索引一一對應(yīng)綁定零拷貝sk_buff結(jié)構(gòu)的零拷貝內(nèi)存半頁;
[0122]由于相對于地址尋址方式,索引更容易在內(nèi)核層與應(yīng)用層之間傳遞和引用,本發(fā)明實(shí)施例中,較佳地,作為一種可實(shí)施方式,在零拷貝sk_buff結(jié)構(gòu)中配置index域記錄對應(yīng)零拷貝內(nèi)存中物理半頁的索引。物理半頁的索引是根據(jù)該物理半頁在零拷貝內(nèi)存中的偏移而配置,根據(jù)該物理半頁的索引和零拷貝地址就可以確定零拷貝內(nèi)存中任一物理半頁的地址從而尋址到該物理半頁而讀寫其中的內(nèi)容。
[0123]本發(fā)明實(shí)施例中,零拷貝sk_buff結(jié)構(gòu)與P00L_SIZE個零拷貝半頁通過利用索引一一對應(yīng)且綁定使用:每一個sk_buff結(jié)構(gòu)都可以被分配給網(wǎng)卡驅(qū)動用于收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包,網(wǎng)絡(luò)數(shù)據(jù)包的內(nèi)容存放在對應(yīng)的物理半頁中。
[0124]步驟A150,配置零拷貝sk_buff結(jié)構(gòu)為棧式分配隊(duì)列,在分配sk_buff結(jié)構(gòu)時采用出棧操作,在釋放sk_buff結(jié)構(gòu)時采用壓棧操作;
[0125]如圖5所示,為了便于零拷貝sk_buff結(jié)構(gòu)的分配,作為一種可實(shí)施方式,本發(fā)明實(shí)施例中,利用棧結(jié)構(gòu)技術(shù)進(jìn)行內(nèi)存分配和釋放,將配置零拷貝sk_buff結(jié)構(gòu)為棧式分配隊(duì)列,棧頭以top表示,分配sk_buff結(jié)構(gòu)地采用出(pop)棧操作,在釋放sk_buff結(jié)構(gòu)時采用壓(push)棧操作。
[0126]步驟A160,根據(jù)所述零拷貝內(nèi)存的索引,在內(nèi)核層中設(shè)置數(shù)據(jù)包接收隊(duì)列和放走隊(duì)列。
[0127]內(nèi)核層接收隊(duì)列是在內(nèi)核中分配的與零拷貝物理半頁數(shù)量相等的隊(duì)列,隊(duì)列通過head從頭部讀取,通過tail向尾部寫入。隊(duì)列的每一項(xiàng)都可以存放一個零拷貝半頁的索弓丨,這個索引相應(yīng)于sk_buff結(jié)構(gòu)中的index域,借助該索引,可以找到對應(yīng)的sk_buff結(jié)構(gòu)和零拷貝半頁。
[0128]類似地,放走隊(duì)列與接收隊(duì)列結(jié)構(gòu)完全相同,因此在本發(fā)明實(shí)施例中不再一一詳細(xì)描述。
[0129]步驟A200,通過虛存技術(shù)設(shè)置將所述零拷貝sk_buff結(jié)構(gòu)的棧式分配隊(duì)列、數(shù)據(jù)包接收隊(duì)列和放走隊(duì)列映射到用戶層,在用戶層以虛地址方式訪問。
[0130]本發(fā)明實(shí)施例中,通過虛存技術(shù)設(shè)置,將該零拷貝sk_buff結(jié)構(gòu)的棧式分配隊(duì)列、數(shù)據(jù)包接收隊(duì)列和放走隊(duì)列映射到用戶層,使得查殺毒計(jì)算機(jī)病毒的進(jìn)程可以直接通過該用戶層中的虛存進(jìn)行訪問,從而避免內(nèi)核空間與用戶層的拷貝;
[0131]本發(fā)明實(shí)施例中,通過虛存映射方法將該零拷貝內(nèi)存、數(shù)據(jù)包接收隊(duì)列和放走隊(duì)列映射到網(wǎng)卡的用戶層,并在用戶層以虛地址方式直接訪問,同時將數(shù)據(jù)包在內(nèi)核中直接轉(zhuǎn)發(fā),從而繞開內(nèi)核TCP/IP協(xié)議棧,而且其不依賴于內(nèi)核橋接技術(shù)的數(shù)據(jù)包轉(zhuǎn)發(fā),從而剝離了與內(nèi)核的緊密耦合關(guān)系,避免數(shù)據(jù)包在內(nèi)核與用戶層之間的拷貝,提高數(shù)據(jù)包的處理效率。
[0132]本發(fā)明實(shí)施例中,根據(jù)所述零拷貝內(nèi)存的索引,在內(nèi)核層中設(shè)置數(shù)據(jù)包接收隊(duì)列和放走隊(duì)列,并通過虛存映射方法,同時將這兩個隊(duì)列映射到應(yīng)用層。
[0133]本發(fā)明實(shí)施例中,稱應(yīng)用層的接收隊(duì)列為鏡像接收隊(duì)列,稱應(yīng)用層的放走隊(duì)列為鏡像放走隊(duì)列,稱應(yīng)用層的零拷貝sk_bufT結(jié)構(gòu)的棧式分配隊(duì)列為鏡像分配隊(duì)列。
[0134]作為一種可實(shí)施方式,映射由圖5底部的方塊表示,這些區(qū)域表示零拷貝內(nèi)存在用戶層中的映射。
[0135]作為一種可實(shí)施方式,應(yīng)用層訪問鏡像分配隊(duì)列、鏡像接收隊(duì)列和鏡像放走隊(duì)列通過映射設(shè)備文件完成的,通過在內(nèi)核層中為每個網(wǎng)卡添加了一個字符型虛擬設(shè)備,應(yīng)用層則透過對應(yīng)于該字符型虛擬設(shè)備的設(shè)備文件完成對鏡像分配隊(duì)列、鏡像接收/放走隊(duì)列的映射和訪問操作。
[0136]通過虛存映射方法設(shè)置將網(wǎng)卡的內(nèi)核層數(shù)據(jù)映射到網(wǎng)卡的用戶層,并在用戶層以虛地址方式訪問,是一種現(xiàn)有技術(shù),因此,在本發(fā)明實(shí)施例中,不再一一詳細(xì)描述。
[0137]步驟A300,在網(wǎng)卡處理收包軟中斷時,網(wǎng)卡驅(qū)動接收傳輸?shù)臄?shù)據(jù)包,將其傳輸入棧到零拷貝sk_buff結(jié)構(gòu)的棧式分配隊(duì)列中,并將接收數(shù)據(jù)包結(jié)構(gòu)中的索引寫入棧到接收隊(duì)列。
[0138]如圖6所示,現(xiàn)有技術(shù)中,高性能網(wǎng)卡如千兆/萬兆網(wǎng)卡中普遍采用硬件環(huán)形隊(duì)列結(jié)構(gòu),通過在收包環(huán)形隊(duì)列中預(yù)留多個sk_buff結(jié)構(gòu),持續(xù)接收數(shù)據(jù)包時,由網(wǎng)卡DMA(Direct Memory Access,直接內(nèi)存存取)將數(shù)據(jù)包連續(xù)寫入多個sk_buff結(jié)構(gòu);發(fā)包時可向發(fā)包環(huán)形隊(duì)列加入若干sk_buff結(jié)構(gòu),由網(wǎng)卡DMA將數(shù)據(jù)包從網(wǎng)口連續(xù)發(fā)出。當(dāng)預(yù)留的sk_buff結(jié)構(gòu)被到來的數(shù)據(jù)包填充并交付處理流程時,補(bǔ)充預(yù)留的sk_buff結(jié)構(gòu);當(dāng)網(wǎng)卡發(fā)包完畢時,數(shù)據(jù)包占用的sk_buff結(jié)構(gòu)隨即釋放?,F(xiàn)有技術(shù)中內(nèi)核層調(diào)用函數(shù)skb_all0C()和skb_free()為網(wǎng)卡分配和釋放sk_buff數(shù)據(jù)結(jié)構(gòu)。而現(xiàn)有技術(shù)中,由skb_alloc()分配的sk_bufT結(jié)構(gòu)的地址是無法預(yù)測的。
[0139]本發(fā)明實(shí)施例中,為實(shí)現(xiàn)對網(wǎng)卡傳輸?shù)臄?shù)據(jù)包的計(jì)算機(jī)查殺毒處理,作為一種可實(shí)施方式,將現(xiàn)有技術(shù)中的skb_alloc O函數(shù)和skb_free()函數(shù)修改為modified_skb_alloc O函數(shù)和modified_skb_kfree O函數(shù),使得sk_buff結(jié)構(gòu)的分配和釋放是在零拷貝sk_buff結(jié)構(gòu)的棧式分配隊(duì)列中進(jìn)行的,而不是隨機(jī)分配,如下所示:
[0140]
【權(quán)利要求】
1.一種雙核心雙出口星型網(wǎng)絡(luò)的防毒方法,其特征在于,包括以下步驟: S100,在雙核心雙出口星型網(wǎng)絡(luò)的雙鏈路上各自部署一臺防毒墻,雙側(cè)防毒墻之間彼此直連,兩臺防毒墻各自采用扣包方法查殺和阻斷病毒; S200,TCP連接的雙向數(shù)據(jù)流經(jīng)過防毒墻時,防毒墻各自獨(dú)立地采用扣包方法查殺并阻斷數(shù)據(jù)流中帶毒文件的傳輸;TCP連接的單向數(shù)據(jù)流經(jīng)過一側(cè)防毒墻時,該側(cè)防毒墻根據(jù)傳輸協(xié)議類型將同步信息同步到對端防毒墻; S300,任一側(cè)防毒墻根據(jù)對端防毒墻同步過來的同步信息,輔助進(jìn)行子連接跟蹤,并各自獨(dú)立地對經(jīng)過的TCP連接的單向數(shù)據(jù)流采用扣包方法進(jìn)行病毒查殺,在發(fā)現(xiàn)病毒時報告帶毒文件的精確網(wǎng)絡(luò)位置。
2.根據(jù)權(quán)利要求1所述的雙核心雙出口星型網(wǎng)絡(luò)的防毒方法,其特征在于: 兩側(cè)防毒墻中各自設(shè)定用于發(fā)送和/或接收同步信息的網(wǎng)卡; 所述兩側(cè)防毒墻之間通過雙絞線進(jìn)行物理直連。
3.根據(jù)權(quán)利要求1所述的雙核心雙出口星型網(wǎng)絡(luò)的防毒方法,其特征在于,所述S200,包括以下步驟: S210,兩側(cè)防毒墻同時判斷TCP連接雙向數(shù)據(jù)流是否經(jīng)過同側(cè)防毒墻,如果是則執(zhí)行步驟S220,否則執(zhí)行步驟S230 ; S220,防毒墻捕獲并解析TCP連接的雙向數(shù)據(jù)流,直接利用扣包方法對帶毒數(shù)據(jù)流進(jìn)行查殺和阻斷后結(jié)束返回; S230, 一側(cè)防毒墻捕獲經(jīng)過的TCP連接的單向數(shù)據(jù)流,根據(jù)傳輸協(xié)議類型判斷是否需要同步所述同步信息到對端防毒墻;并在判斷出需要同步所述同步信息到對端防毒墻時,提取出子連接協(xié)商信息或者傳輸文件的網(wǎng)絡(luò)位置信息作為同步信息通過防毒墻間同步鏈路發(fā)送給對端防毒墻。
4.根據(jù)權(quán)利要求3所述的雙核心雙出口星型網(wǎng)絡(luò)的防毒方法,其特征在于,所述S230,包括以下步驟: S231,判斷TCP連接的單向數(shù)據(jù)流的傳輸協(xié)議類型; S232,當(dāng)判斷出所述傳輸協(xié)議為HTTP傳輸協(xié)議時,本側(cè)防毒墻從TCP連接的單向數(shù)據(jù)流中捕獲到GET信息作為同步信息,通過防毒墻間同步鏈路將所述GET信息發(fā)送給對端防毒墻; S233,當(dāng)判斷出所述傳輸協(xié)議為SMTP或者POP3傳輸協(xié)議時,本側(cè)防毒墻不提取同步信息,也不發(fā)送同步信息到對端防毒墻,兩側(cè)防毒墻各自從郵件本身中提取網(wǎng)絡(luò)位置信息; S234,當(dāng)判斷出所述傳輸協(xié)議為FTP傳輸協(xié)議時,本側(cè)防毒墻以PORT、STOR、RETR、CffD和227應(yīng)答作為同步信息,通過防毒墻間同步鏈路將所述PORT、STOR、RETR、CffD和227應(yīng)答發(fā)送給對端防毒墻。
5.根據(jù)權(quán)利要求4所述的雙核心雙出口星型網(wǎng)絡(luò)的防毒方法,其特征在于,所述S300,包括以下步驟: S310,判斷所述TCP連接的單向數(shù)據(jù)流的傳輸協(xié)議類型; S320,當(dāng)判斷出所述傳輸協(xié)議為HTTP傳輸協(xié)議時,本側(cè)防毒墻對經(jīng)過的單方向數(shù)據(jù)流利用扣包方法查殺和阻斷病毒,并利用對端同步過來的GET請求中的URL信息對所查殺的病毒報告精確的網(wǎng)絡(luò)位置; 當(dāng)所述傳輸協(xié)議為SMTP或者POP3傳輸協(xié)議時,本側(cè)防毒墻對經(jīng)過的單向數(shù)據(jù)流直接利用扣包方法查殺和阻斷病毒,并獨(dú)立地從郵件本身中解析出網(wǎng)絡(luò)位置信息; 當(dāng)所述傳輸協(xié)議為FTP傳輸協(xié)議時,根據(jù)FTP文件傳輸模式和類型,本側(cè)防毒墻選擇利用對端同步信息中的PORT命令或227應(yīng)答獲知FTP數(shù)據(jù)連接的協(xié)商信息并跟蹤數(shù)據(jù)連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網(wǎng)絡(luò)位置信息。
6.根據(jù)權(quán)利要求5所述的雙核心雙出口星型網(wǎng)絡(luò)的防毒方法,其特征在于,所述當(dāng)所述傳輸協(xié)議為FTP傳輸協(xié)議時,根據(jù)FTP文件傳輸模式和類型,本側(cè)防毒墻選擇利用對端同步信息中的PORT命令或227應(yīng)答獲知FTP數(shù)據(jù)連接的協(xié)商信息并跟蹤數(shù)據(jù)連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網(wǎng)絡(luò)位置信息,包括以下步驟: S321,判斷所述FTP文件傳輸模式和類型; S322,當(dāng)判斷出所述FTP文件傳輸為主動連接-文件上傳時,上傳方向的防毒墻直接對上傳文件采用扣包進(jìn)行病毒的查殺和阻斷;并獨(dú)立地獲得子連接協(xié)商信息和文件路徑信息; S323,當(dāng)判斷出所述FTP文件傳輸為主動連接-文件下載時,下載方向的防毒墻利用對端同步的子連接協(xié)商信息和文件路徑信息對下載文件采用扣包方法進(jìn)行病毒的查殺和阻斷; S324,當(dāng)判斷出所述FTP文件傳輸為被動連接-文件上傳時,上傳方向的防毒墻利用對端同步的子連接協(xié)商信息采用扣包方法進(jìn)行病毒的查殺和阻斷,并獨(dú)立地獲得文件路徑信息; S325,當(dāng)判斷出所述FTP文件傳輸為被動連接-文件下載時,下載方向的防毒墻獨(dú)立地獲得子連接協(xié)商信息,采用扣包方法進(jìn)行病毒的查殺和阻斷,并獲得對端同步過來的文件路徑信息。
7.根據(jù)權(quán)利要求1至6中任意一項(xiàng)所述的雙核心雙出口星型網(wǎng)絡(luò)的防毒方法,其特征在于: 兩臺防毒墻處于松散耦合關(guān)系,同步信息的丟失或者任一臺防毒墻的宕機(jī)不會影響對端防毒墻的數(shù)據(jù)包轉(zhuǎn)發(fā)和病毒阻斷。
8.一種雙核心雙出口星型網(wǎng)絡(luò)的防毒裝置,其特征在于,在雙側(cè)鏈路上各部署一臺防毒墻,兩側(cè)防毒墻之間通過同步鏈路連接,其中: 雙核心網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的交互流量通過防毒墻進(jìn)行傳輸; 所述同步鏈路物理連接兩側(cè)防毒墻,傳輸兩側(cè)防毒墻之間的同步信息; 兩側(cè)防毒墻用于查殺雙核心雙出口星型網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流中的病毒。
9.根據(jù)權(quán)利要求8所述的雙核心雙出口星型網(wǎng)絡(luò)的防毒裝置,其特征在于,所述兩側(cè)防毒墻由相同的模塊組成,所述防毒墻包括: 配置模塊、數(shù)據(jù)流捕獲模塊、半連接判斷模塊、扣包查毒模塊、信息同步模塊、單向數(shù)據(jù)流處理模塊和病毒報告模塊; 所述配置模塊用于配置兩臺防毒墻之間互相連通的同步鏈路; 所述數(shù)據(jù)流捕獲模塊,用于捕獲經(jīng)過防毒墻的數(shù)據(jù)流; 所述半連接判斷模塊,用于判斷防毒墻是否只捕獲TCP連接的單向數(shù)據(jù)流,當(dāng)防毒墻捕獲TCP連接的雙向數(shù)據(jù)流時,則利用扣包查毒模塊直接對數(shù)據(jù)流查殺病毒處理;當(dāng)防毒墻只捕獲TCP連接的單向的數(shù)據(jù)流時,則利用信息同步模塊對數(shù)據(jù)流進(jìn)行處理; 所述扣包查毒模塊,用于對防毒墻所捕獲的數(shù)據(jù)流中的病毒進(jìn)行查殺,當(dāng)半連接判斷模塊對數(shù)據(jù)流捕獲模塊所捕獲的數(shù)據(jù)流進(jìn)行判斷后,防毒墻捕獲TCP連接的雙向數(shù)據(jù)流時,直接對數(shù)據(jù)流捕獲模塊捕獲的雙向數(shù)據(jù)流中的病毒進(jìn)行查殺; 所述信息同步模塊,用于判斷所接收的單向數(shù)據(jù)流是否需要發(fā)送同步信息到對端防毒墻,當(dāng)需要發(fā)送同步信息到對端防毒墻時,則發(fā)送同步信息,并通同步鏈路發(fā)送給對端防毒墻,否則直接利用單向數(shù)據(jù)流處理模塊對單向數(shù)據(jù)流進(jìn)行處理; 所述單向數(shù)據(jù)流處理模塊,用于選擇利用同步信息配合扣包查毒模塊對防毒墻捕獲的TCP連接的單向數(shù)據(jù)流進(jìn)行子連接定位,病毒的查殺和阻斷,并確定傳輸文件的網(wǎng)絡(luò)位置信息; 所述病毒報告模塊,用于在有病毒事件發(fā)生時,報告病毒事件,并同時報告帶毒文件的網(wǎng)絡(luò)位置。
10.根據(jù)權(quán)利要求9所述的雙核心雙出口星型網(wǎng)絡(luò)的防毒裝置,其特征在于: 所述防毒墻捕獲雙向數(shù)據(jù)流時,扣包查毒模塊對數(shù)據(jù)流查殺病毒后,如果發(fā)現(xiàn)帶毒文件,病毒報告模塊報告病毒事件,同時報告帶毒文件的網(wǎng)絡(luò)位置; 所述防毒墻捕獲單向數(shù)據(jù)流時,扣包查毒模塊對數(shù)據(jù)流查殺病毒后,如果發(fā)現(xiàn)帶毒文件,病毒報告模塊報告病毒事件,根據(jù)單向數(shù)據(jù)流處理模塊確定的網(wǎng)絡(luò)位置信息,同時報告帶毒文件的網(wǎng)絡(luò)位置。
11.一種雙核心雙出口星型網(wǎng)絡(luò)的防毒系統(tǒng),包括服務(wù)器和客戶端,其特征在于,還包括如權(quán)利要求8-10任一項(xiàng)所述的防毒裝置。
【文檔編號】H04L12/44GK104184707SQ201310196442
【公開日】2014年12月3日 申請日期:2013年5月24日 優(yōu)先權(quán)日:2013年5月24日
【發(fā)明者】張量, 張亞慶 申請人:北京瑞星信息技術(shù)有限公司