版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、中國基于linux的內(nèi)容過濾型防火墻的設(shè)計(jì)與實(shí)現(xiàn)1孫建坡武漢理工大學(xué)計(jì)算機(jī)學(xué)院,武漢(430070)E-mail:摘 要:傳統(tǒng)的包過濾防火墻主要是對網(wǎng)絡(luò)數(shù)據(jù)包的五元組分析,判斷,來實(shí)現(xiàn)對不良內(nèi)容的過濾,但是這樣的包過濾防火墻只能大致的實(shí)現(xiàn)過濾功能,不能達(dá)到用戶的需求.本文在包過濾的基礎(chǔ)上,提出了內(nèi)容過濾型防火墻,通過對截取網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)容的分析,結(jié)合用戶的需求,來實(shí)現(xiàn)對網(wǎng)絡(luò)內(nèi)容的過濾,實(shí)踐證明內(nèi)容過濾防火墻極大的提高了公司,企業(yè)的安全系數(shù)。關(guān)鍵字:netfilter;wireshark;特征碼;協(xié)議分析;內(nèi)核模塊中圖分類號(hào):TP393.080 引言計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,使人類進(jìn)入了信息化
2、的社會(huì),同時(shí)海量的信息通過互聯(lián)網(wǎng)進(jìn)入人們的生活,給人們的生活提供了快捷和方便。但是,伴隨網(wǎng)絡(luò)的發(fā)展,各式各樣的不良內(nèi)容也充斥著網(wǎng)絡(luò),比如大量的暴力,色情,犯罪,邪教等的不良內(nèi)容及一些病毒和垃圾郵件等,對我們個(gè)人和社會(huì)構(gòu)成了傷害,針對這一現(xiàn)象,傳統(tǒng)的方法是采用包過濾防火墻的方法來剔除到一些不干凈的內(nèi)容。本文在包過濾防火墻的基礎(chǔ)上,以即時(shí)通信軟件QQ作為分析對象,提出了改進(jìn)型的內(nèi)容過濾防火墻,通過對網(wǎng)絡(luò)中數(shù)據(jù)包內(nèi)容的提取,分析15,判斷,實(shí)現(xiàn)對QQ登錄的封堵,內(nèi)容過濾型防火墻可以作為公司內(nèi)部和外部網(wǎng)絡(luò)之間的防火墻,實(shí)現(xiàn)公司內(nèi)部對隨意登錄即時(shí)通信軟件的過濾,提供公司的工作效率,同時(shí)對學(xué)校,公司,網(wǎng)吧
3、等大型網(wǎng)絡(luò)機(jī)構(gòu)提供了安全保障。1包過濾型防火墻包過濾又稱“報(bào)文過濾”,采用簡單的數(shù)據(jù)包過濾形式。由于包過濾防火墻工作在TCPIP協(xié)議的網(wǎng)絡(luò)層上,所以也被稱為網(wǎng)絡(luò)層防火墻。其工作方式如圖1所示。圖1 包過濾防火墻1 本課題得到外資企業(yè)O2(凹凸)Micro科技公司智能網(wǎng)絡(luò)安全防火墻項(xiàng)目計(jì)劃資助。-1-中國 網(wǎng)絡(luò)數(shù)據(jù)包通過物理層,數(shù)據(jù)鏈路層到達(dá)網(wǎng)絡(luò)層,包過濾防火墻分析數(shù)據(jù)包頭部的五元組1:源地址、目的地址、源端口、目的端口、協(xié)議類型,通過訪問控制表進(jìn)行判斷,對分組實(shí)施有選擇的通過,如果滿足規(guī)則并允許通過,則分組將會(huì)被轉(zhuǎn)發(fā);如果規(guī)則拒絕通過,將被丟棄。包過濾防火墻是目前最快的防火墻,但是包過濾規(guī)則配
4、置較難,一些協(xié)議不適合用包過濾來保護(hù)安全;安全控制的粒度也只限于地址、端口號(hào)和標(biāo)志位,對于基于數(shù)據(jù)包數(shù)據(jù)內(nèi)容的高層次的攻擊手段,則無能為力。同時(shí)它無法使用諸如限制什么用戶、什么應(yīng)用程序等規(guī)則。2內(nèi)容過濾型防火墻內(nèi)容過濾型防火墻是在包過濾的基礎(chǔ)上,基于LINUX中的NETFILTER2模塊實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)容的過濾。首先在NETFILTER中加載一個(gè)內(nèi)容過濾的模塊,其中包含了一些配置信息,如需要匹配的地址,端口,協(xié)議,特征碼,關(guān)鍵字等信息,由于NETFILTER的PRE-ROUTING是數(shù)據(jù)包進(jìn)入系統(tǒng)的第一個(gè)HOOK點(diǎn),所以將該模塊掛載在第一個(gè)HOOK點(diǎn)PRE-ROUTING中(NETFILTE
5、R HOOK結(jié)構(gòu)如圖2.1所示)。圖2.1 netfilter結(jié)構(gòu)圖2.2 內(nèi)容過濾型防火墻當(dāng)網(wǎng)絡(luò)數(shù)據(jù)包流經(jīng)物理層到達(dá)數(shù)據(jù)鏈路層時(shí)是,即進(jìn)入了NETFILTER的第一個(gè)HOOK點(diǎn),此時(shí)數(shù)據(jù)包就進(jìn)入NETFILTER中注冊的函數(shù),模塊先是解開數(shù)據(jù)包,將模塊中配置信-2-中國 息與數(shù)據(jù)包中的特征碼,關(guān)鍵字等信息進(jìn)行匹配,通過檢測數(shù)據(jù)包內(nèi)容中出現(xiàn)的非法特征碼,關(guān)鍵字等信息,來分析,判斷。對沒有出現(xiàn)非法關(guān)鍵字的數(shù)據(jù)包直接ACCEPT,對出現(xiàn)非法關(guān)鍵字的數(shù)據(jù)包,就會(huì)DROP,從而實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的過濾功能。過濾流程如上圖2.2所示。為了實(shí)現(xiàn)用戶和內(nèi)核的交互,本文通過NETLINK機(jī)制,使用戶更加方便的根據(jù)
6、自己的要求來完成不同的功能,即用戶將自己要封堵的功能選項(xiàng)通過NETLINK機(jī)制3傳遞給內(nèi)核模塊,由內(nèi)核模塊實(shí)現(xiàn)過濾功能。內(nèi)容過濾的防火墻對數(shù)據(jù)包的過濾更加細(xì)化,不但實(shí)現(xiàn)了對五元組的過濾,而且實(shí)現(xiàn)了對應(yīng)用程序的過濾,同時(shí)還能有效防止偽IP的欺騙。內(nèi)容過濾防火墻通過內(nèi)核模塊的加載來實(shí)現(xiàn)過濾功能的添加,不僅相對于包過濾更加安全而且用戶操作起來。3 QQ工作原理即時(shí)通信系統(tǒng)主要工作模式:客戶/服務(wù)器模式4,即發(fā)信端用戶和收信端用戶必須通過服務(wù)器來交流。每個(gè)即時(shí)通信客戶端通過己注冊的用戶ID和密碼登陸服務(wù)器,密碼信息一般都通過加密后傳送。通過服務(wù)器驗(yàn)證通過后,服務(wù)器返回通過驗(yàn)證的信息給客戶端,同時(shí)附加一
7、些信息,負(fù)責(zé)中轉(zhuǎn)連接的服務(wù)器IP、端口號(hào)、客戶端的好友信息等??蛻舳死梅?wù)器返回的驗(yàn)證信息和獲得的IP地址及端口號(hào)與中轉(zhuǎn)服務(wù)器建立TCP連接。連接建立成功后就通過中轉(zhuǎn)服務(wù)器與上線的好友互發(fā)消息。對于QQ來說,實(shí)現(xiàn)通信首先要實(shí)現(xiàn)QQ的登錄,所以在此研究QQ的登錄就顯得至關(guān)重要。在電腦上安裝QQ客戶端,在QQ登錄過程中,用網(wǎng)絡(luò)協(xié)議分析軟件wireshark抓取QQ登錄時(shí)的信息包,如圖3所示。圖3 QQ登錄時(shí)的數(shù)據(jù)包通過數(shù)據(jù)分析可知:首次QQ登陸時(shí),會(huì)對騰訊的域名發(fā)DNS查詢;從查詢到的多個(gè)IP地址中隨機(jī)選取一個(gè)作為登錄服務(wù)器;之后對該服務(wù)器發(fā)登錄請求數(shù)據(jù)包,服務(wù)器回應(yīng)消息包,此時(shí)QQ登錄成功,若
8、QQ不能登錄該服務(wù)器,則該服務(wù)器把登錄請求包發(fā)給下一個(gè)新的服務(wù)器。以此來完成QQ的登錄過程。4 封堵QQ登錄的設(shè)計(jì)與實(shí)現(xiàn)下圖4顯示了封堵QQ登錄過程的流程圖:-3-中國圖4封堵QQ登錄流程框圖首先,為了能實(shí)現(xiàn)用戶和內(nèi)核模塊的交互,要向內(nèi)核中注冊NETLINK機(jī)制的交互函數(shù),由函數(shù)netlink_kernel_create創(chuàng)建了內(nèi)核接收函數(shù),其核心代碼如下:#include <linux/config.h>#include <linux/module.h>#include <linux/netlink.h>#include <net/sock.h>
9、static int _init netinit(void)rwlock_init(&user_proc.lock); /*初始化讀寫鎖*/nlfd = netlink_kernel_create(NL_IMP2, kernel_receive);if(!nlfd)printk("can not create a netlink socketn");return -1;return nf_register_hook(&netblockfun);static void _exit fini(void)if(nlfd)sock_release(nlfd->
10、socket);nf_unregister_hook(&ipt_ops);module_init(netinit);module_exit(fini);MODULE_LICENSE("GPL");kernel_receive函數(shù)主要是將用戶的配置交給內(nèi)核模塊,由內(nèi)核模塊根據(jù)配置信息來分析,決定數(shù)據(jù)包的去向。由QQ登錄過程可知,QQ登錄通過兩種協(xié)議5,一個(gè)是面向連接的TCP協(xié)議,一個(gè)是無連接的UDP協(xié)議。通過網(wǎng)絡(luò)協(xié)議分析軟件wireshark分析可知,當(dāng)QQ通過TCP協(xié)議建立連接時(shí),當(dāng)數(shù)據(jù)部分長度大于3個(gè),第三個(gè)字節(jié)為0x02,最后一個(gè)字節(jié)為0x03且等二個(gè)字節(jié)正好等
11、于數(shù)據(jù)長度時(shí),此數(shù)據(jù)包即為QQ登錄的數(shù)據(jù)包;當(dāng)QQ通過UDP協(xié)議登錄時(shí),通過抓取數(shù)據(jù)包分析可知,當(dāng)數(shù)據(jù)部分的第一個(gè)字節(jié)為0x02且數(shù)據(jù)最后一個(gè)字節(jié)為0x03時(shí),此數(shù)據(jù)包為QQ通過UDP協(xié)議登錄的數(shù)據(jù)包。通過分析可知HOOK點(diǎn)的處理函數(shù)如下:-4-中國static struct nf_hook_ops ipt_ops = .hook = ipt_hook,.owner = THIS_MODULE,.pf = PF_INET,.hooknum = NF_IP_PRE_ROUTING,.priority = NF_IP_PRI_FILTER,ipt_hook(sk_buff * skb)char *
12、app_data=skb->dataipr_app_data_offset(skb);int datalen=ipr_app_data_len(skb);/*取出數(shù)據(jù)包數(shù)據(jù)信息長度*/if(app_data0=0x02&&app_datadatalen-1=0x03)printk ("QQ UDP DROP n");return NF_DROP;if (datalen>3 && app_data2=0x02)printk("enter qq suspectn");if(app_datadatalen-1=0x0
13、3&&app_data1 = datalen)printk(“QQ TCP DROPn");return NF_DROP; 為了在LINUX中編譯內(nèi)核模塊,生成想要的netblock.ko內(nèi)核模塊6文件,還要編寫一個(gè)Makefile文件,這樣在以后對內(nèi)核模糊進(jìn)行修改之后就很容易實(shí)現(xiàn)內(nèi)核模塊的編譯工作。Makefile的內(nèi)容如下:PWD :=$(shell pwd)KDIR :=/usr/src/linux-Obj-m :=ip_filter.onetblock.o = netblock.cTARGET = netblockOBJ = netblock.
14、oall:$(MAKE) $(CFLAGS )C $(KDIR) M=$(PWD) modules$(CC) $(CFLAGS) -o $(TARGET) $(OBJ)clean:rm -r f *.o *.ko *.symsevr最后,將產(chǎn)生的模塊加載到內(nèi)核中。-5-中國5 實(shí)驗(yàn)結(jié)果圖5 QQ登錄結(jié)果由圖5所示可知,通過用網(wǎng)絡(luò)協(xié)議分析軟件wireshark抓包分析可知,客戶端在一直試圖通過多了服務(wù)器IP來登錄QQ服務(wù)器,但是由于防火墻中的NETFILTER中注冊了相應(yīng)的過濾函數(shù),同時(shí)對內(nèi)核中添加相應(yīng)的模塊機(jī)制,使QQ一直處在“正在登陸”狀態(tài),在多次連接失敗后,最終由于登錄超時(shí),而無法正常連接
15、,有效的防止了QQ的登錄。 6 結(jié)語本文在包過濾防火墻的基礎(chǔ)上,在NETFILTER中注冊相應(yīng)的過濾函數(shù),實(shí)現(xiàn)了基于LINUX的內(nèi)容過濾型防火墻,細(xì)化了網(wǎng)絡(luò)數(shù)據(jù)包的過濾功能,解決了包過濾中只針對五元組過濾的限制,實(shí)現(xiàn)了對網(wǎng)絡(luò)數(shù)據(jù)包中數(shù)據(jù)部分的過濾,提供了網(wǎng)絡(luò)的安全,同時(shí)此方法可以推廣到QQ的其他應(yīng)用功能中及即時(shí)通信軟件中,如封堵QQ文件傳輸、視頻傳輸,封堵MSN,SKYPE等。對防火墻的實(shí)際應(yīng)用有很好的參考價(jià)值。參考文獻(xiàn)1李遠(yuǎn)杰,劉渭封等,主流即時(shí)通信軟件通信協(xié)議分析J.計(jì)算機(jī)應(yīng)用研究,2005.2姚曉宇,趙晨Linux內(nèi)核防火墻Netfilter實(shí)現(xiàn)與應(yīng)用研究J.計(jì)算機(jī)工程,2003,29(
16、8):112.3 王茜基于Linux的網(wǎng)絡(luò)防火墻技術(shù)研究D.大連:大連海事大學(xué),2001,15.4RIcHARD sTEvENs wTcPIP Illmtrated volume lM Addisonwesle. 2002.5Libyahoo2Yahoo Messenger Protocol v9EB/0Lhttp:/ libyahoo2sourceforgenet/ymsg-9.txt.2007.03.6(美)HareCSiyankIntemet防火墻與網(wǎng)絡(luò)安全M.北京:機(jī)械工業(yè)出版社,1998.-6-中國 Linux-based design and implementation for
17、content filteringfirewallSun JianpoComputer college. WuHan University of technology. WuHan (430070)AbstractTraditonal packet filtering firewall mainly analyse and judge by the five-tuple of network packet,which can filter the needless content.But such firewall can only be approximate realization for filters,so it cant meet customers needs.Based on packet filtering,it proposes content filtering-based firewall. Through the content analysis of network data packets,combined with the needs of users,it implements filter for netwo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版特色餐飲店鋪出租管理協(xié)議3篇
- 2025版小額貸款抵押合同財(cái)務(wù)報(bào)告披露要求3篇
- 買賣合同糾紛代理詞3篇
- 二零二五版薦知識(shí)產(chǎn)權(quán)擔(dān)保交易合同集3篇
- 二零二五年度城市通勤車輛出租合作協(xié)議4篇
- 二零二五年度員工借款爭議調(diào)解及勞動(dòng)法執(zhí)行合同
- 二零二五年度農(nóng)業(yè)OEM產(chǎn)品種植與加工合同范本3篇
- 二零二五年度工業(yè)廠房租賃市場拓展合同范本3篇
- 二零二五年度光伏充電樁場地共享租賃合同3篇
- 2025年度倉儲(chǔ)物流零星維修施工合同協(xié)議書3篇
- 湖北省黃石市陽新縣2024-2025學(xué)年八年級上學(xué)期數(shù)學(xué)期末考試題 含答案
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報(bào)告
- 央視網(wǎng)2025亞冬會(huì)營銷方案
- 《00541語言學(xué)概論》自考復(fù)習(xí)題庫(含答案)
- 《無砟軌道施工與組織》 課件 第十講雙塊式無砟軌道施工工藝
- 江蘇省南京市、鹽城市2023-2024學(xué)年高三上學(xué)期期末調(diào)研測試+英語+ 含答案
- 2024新版《藥品管理法》培訓(xùn)課件
- 《阻燃材料與技術(shù)》課件 第7講 阻燃橡膠材料
- 爆炸物運(yùn)輸安全保障方案
- 江蘇省南京市2025屆高三學(xué)業(yè)水平調(diào)研考試數(shù)學(xué)試卷(解析版)
- 2024年黑龍江省哈爾濱市中考數(shù)學(xué)試卷(附答案)
評論
0/150
提交評論