基于包過濾技術(shù)的個(gè)人防火墻的實(shí)現(xiàn)—電子信息
摘 要 論文通過介紹如何運(yùn)用包過濾技術(shù)實(shí)現(xiàn)個(gè)人防火墻,深入的剖析了個(gè)人防火墻中所用到的各種技術(shù),并重點(diǎn)介紹了通過微軟的NDIS 中間驅(qū)動(dòng)程序?qū)崿F(xiàn)網(wǎng)絡(luò)封裝包,以及驅(qū)動(dòng)程序與應(yīng)用程序之間的通訊方法。
關(guān)鍵詞 包過濾技術(shù) NDIS 中間層驅(qū)動(dòng)程序
隨著網(wǎng)絡(luò)的迅速發(fā)展,各種各樣的網(wǎng)絡(luò)軟件也隨之出現(xiàn),人們的生活和學(xué)習(xí)對(duì)網(wǎng)絡(luò)的依賴也越來越多,但問題也接踵而來,網(wǎng)站被攻擊,病毒泛濫,個(gè)人信息被竊取,使人們面臨這樣一個(gè)問題:網(wǎng)絡(luò)是否安全?
而防火墻正是網(wǎng)絡(luò)的保護(hù)傘,形形色色的防火墻很多,本文通過介紹包過濾技術(shù)實(shí)現(xiàn)個(gè)人防火墻,使大家對(duì)防火墻的知識(shí)有進(jìn)一步的了解。
一、防火墻和包過濾技術(shù)簡(jiǎn)介
防火墻是一種用于在兩個(gè)網(wǎng)絡(luò)間進(jìn)行訪問控制的設(shè)備,防火墻系統(tǒng)防范的對(duì)象是來自被保護(hù)的網(wǎng)絡(luò)的外部的對(duì)網(wǎng)絡(luò)安全的威脅,它通過檢測(cè)、限制、更改跨越防火墻的數(shù)據(jù)流,盡可能的實(shí)現(xiàn)對(duì)外部網(wǎng)絡(luò)的安全保護(hù)。
而包過濾技術(shù)是防火墻最基本的實(shí)現(xiàn)技術(shù),具有包過濾技術(shù)的裝置是用來控制內(nèi)、外網(wǎng)絡(luò)數(shù)據(jù)流入和流出,包過濾技術(shù)的數(shù)據(jù)包大部分是基于TCP/IP協(xié)議平臺(tái)的,對(duì)數(shù)據(jù)流的每個(gè)包進(jìn)行檢查,根據(jù)數(shù)據(jù)報(bào)的源地址、目的地址、TCP和IP的端口號(hào),以及TCP的其他狀態(tài)來確定是否允許數(shù)據(jù)包通過。
二、截獲網(wǎng)絡(luò)封裝包
截獲數(shù)據(jù)包是實(shí)現(xiàn)一個(gè)防火墻的第一步,截獲數(shù)據(jù)包的方法有很多種,既可以在用戶態(tài)下攔截網(wǎng)絡(luò)數(shù)據(jù)包,又可以在核心狀態(tài)下進(jìn)行數(shù)據(jù)包截獲。
在用戶態(tài)下進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包攔截有以下幾種方法:
(1)Winsock Layered Service Provider (LSP)。
(2)Windows 2000 包過濾接口。
(3)替換系統(tǒng)自帶的WINSOCK動(dòng)態(tài)連接庫。
很顯然,在用戶態(tài)下可以很簡(jiǎn)單的進(jìn)行數(shù)據(jù)包攔截,但其最致命的缺點(diǎn)就是只能在Winsock層次上進(jìn)行,而對(duì)于網(wǎng)絡(luò)協(xié)議棧中底層協(xié)議的數(shù)據(jù)包無法進(jìn)行處理。對(duì)于一些木馬和病毒來說很容易避開這個(gè)層次的防火墻。
因此大多數(shù)的個(gè)人防火墻選擇利用網(wǎng)絡(luò)驅(qū)動(dòng)程序來實(shí)現(xiàn)的。例如用中間層驅(qū)動(dòng)程序來截獲數(shù)據(jù)包。
中間層驅(qū)動(dòng)介于協(xié)議層驅(qū)動(dòng)和小端口驅(qū)動(dòng)之間,它能夠截獲所有的網(wǎng)絡(luò)數(shù)據(jù)包(如果是以太網(wǎng)那就是以太幀)。NDIS中間層驅(qū)動(dòng)的應(yīng)用很廣泛,不僅僅是個(gè)人防火墻,還可以用來實(shí)現(xiàn)VPN,NAT,PPPOverEthernet以及VLan。中間層驅(qū)動(dòng)的概念是在Window NT SP4之后才有的,因此對(duì)于Windows9x來說無法直接利用中間層驅(qū)動(dòng)的功能。Windows DDK提供了兩個(gè)著名的中間層驅(qū)動(dòng)例子:Passthru以及Mux。開發(fā)人員可以在Passthru的基礎(chǔ)上進(jìn)行開發(fā),Mux則實(shí)現(xiàn)了VLan功能。目前個(gè)人防火墻的產(chǎn)品還很少用到這種技術(shù),主要的原因在于中間層驅(qū)動(dòng)的安裝過于復(fù)雜,尤其是在Windows NT下。Windows 2000下可以通過程序?qū)崿F(xiàn)自動(dòng)安裝,但是如果驅(qū)動(dòng)沒有經(jīng)過數(shù)字簽名的話,系統(tǒng)會(huì)提示用戶是否繼續(xù)安裝。中層層驅(qū)動(dòng)功能強(qiáng)大,應(yīng)該是今后個(gè)人防火墻技術(shù)的趨勢(shì)所在,特別是一些附加功能的實(shí)現(xiàn)。
圖1. NDIS驅(qū)動(dòng)程序模型
三、驅(qū)動(dòng)程序和應(yīng)用程序間的通訊
當(dāng)驅(qū)動(dòng)程序截獲網(wǎng)絡(luò)數(shù)據(jù)包后,驅(qū)動(dòng)程序要和應(yīng)用程序進(jìn)行通訊,通知應(yīng)用程序?qū)?shù)據(jù)包進(jìn)行判斷,如果符合過濾規(guī)則,則接受數(shù)據(jù)包,否則,則放棄該數(shù)據(jù)包,其步驟大致如下:
(1)應(yīng)用程序創(chuàng)建一事件Event;
(2)應(yīng)用程序通過CreateFile創(chuàng)建驅(qū)動(dòng)程序?qū)嵗?
(3)把該事件的句柄傳給驅(qū)動(dòng)程序;
(4)驅(qū)動(dòng)程序通過DeviceControl函數(shù)接受Event的句柄;
(5)應(yīng)用程序通過DeviceIOControl函數(shù)傳遞控制驅(qū)動(dòng)程序的消息;
(6)驅(qū)動(dòng)程序通過Dispatch歷程得到應(yīng)用程序傳來的消息,然后根據(jù)消息類型進(jìn)行不同的服務(wù);
(7)把結(jié)果數(shù)據(jù)放入共享內(nèi)存區(qū),設(shè)置Event事件通知應(yīng)用程序所請(qǐng)求的事情已經(jīng)辦完;
(8)應(yīng)用程序通過WaitForSingleObject來獲知事件發(fā)生;
(9)應(yīng)用程序在共享內(nèi)存區(qū)獲得數(shù)據(jù),并重置該事件。
圖2 驅(qū)動(dòng)程序與應(yīng)用程序通訊模型
四、過濾規(guī)則設(shè)置包過濾防火墻的過濾規(guī)則集由若干條規(guī)則組成,它應(yīng)涵蓋對(duì)所有出入防火墻的數(shù)據(jù)包的處理方法,對(duì)于沒有明確定義的數(shù)據(jù)包,應(yīng)該有一個(gè)缺省處理方法;過濾規(guī)則應(yīng)易于理解,易于編輯修改;同時(shí)應(yīng)具備一致性檢測(cè)機(jī)制,防止沖突。IP包過濾的依據(jù)主要是根據(jù)IP包頭部信息如源地址和目的地址進(jìn)行過濾,如果IP頭中的協(xié)議字段表明封裝協(xié)議為ICMP、TCP或UDP,那么再根據(jù)ICMP頭信息(類型和代碼值)、TCP頭信息(源端口和目的端口)或UDP頭信息(源端口和目的端口)執(zhí)行過濾,其他的還有MAC地址過濾。
應(yīng)用層協(xié)議過濾要求主要包括FTP過濾、基于RPC的應(yīng)用服務(wù)過濾、基于UDP的應(yīng)用服務(wù)過濾要求以及動(dòng)態(tài)包過濾技術(shù)等。
在一般情況下,我們可以從以下幾個(gè)方面來進(jìn)行訪問規(guī)則的設(shè)置:
(1)禁止一切源路由尋徑的IP包通過;
(2)IP包的源地址和目的地址;
(3)IP包中TCP與UDP的源端口和目的端口;
(4)運(yùn)行協(xié)議;
(5)IP包的選擇。
動(dòng)作 協(xié)議 方向 訪問時(shí)間 遠(yuǎn)端IP 端口 應(yīng)用程序 備注
放行 IP 流進(jìn) 工作時(shí)間 202.114.165.240 8080 IE
詢問 TCP 流進(jìn) 工作時(shí)間 202.114.165.192 1080 IE
拒絕 IP 流出 工作時(shí)間 202.114.204.153 80 IE
圖3 一個(gè)典型的規(guī)則表
五、記錄和報(bào)警
防火墻處理完整日志的方法:防火墻規(guī)定了對(duì)于符合條件的報(bào)文做日志,應(yīng)該提供日志信息管理和存儲(chǔ)方法。
提供自動(dòng)日志掃描:指防火墻是否具有日志的自動(dòng)分析和掃描功能,這可以獲得更詳細(xì)的統(tǒng)計(jì)結(jié)果,達(dá)到事后分析、亡羊補(bǔ)牢的目的。
提供自動(dòng)報(bào)表、日志報(bào)告書寫器:防火墻實(shí)現(xiàn)的一種輸出方式,提供自動(dòng)報(bào)表和日志報(bào)告功能。
動(dòng)作 開始時(shí)間
-結(jié)束時(shí)間 協(xié)議 進(jìn)流量 出流量 本地IP:端口-
遠(yuǎn)端IP:端口 應(yīng)用程序 備注
放行 21:54 -
22:00 TCP 200 400 202.114.165.240:80
202.114.165.225:80 IE
放行 22:01-
22:10 IP 250 100 202.114.165.240:80
202.114.165.193:80 IE
圖4 一個(gè)典型的日志記錄表
警告通知機(jī)制:防火墻應(yīng)提供告警機(jī)制,在檢測(cè)到入侵網(wǎng)絡(luò)以及設(shè)備運(yùn)轉(zhuǎn)異常情況時(shí),通過告警來通知管理員采取必要的措施,包括E-mail、呼機(jī)、手機(jī)等。
提供簡(jiǎn)要報(bào)表(按照用戶ID或IP 地址):防火墻實(shí)現(xiàn)的一種輸出方式,按要求提供報(bào)表分類打印。
提供實(shí)時(shí)統(tǒng)計(jì):防火墻實(shí)現(xiàn)的一種輸出方式,日志分析后所獲得的智能統(tǒng)計(jì)結(jié)果,一般是圖表顯示。
用包過濾技術(shù)實(shí)現(xiàn)防火墻較為容易,具有比較好的網(wǎng)絡(luò)安全保障功能,但也存在不足之處,由于過濾技術(shù)中無法包括用戶名,而僅僅是客戶機(jī)的IP地址,那么如果要過濾用戶名就不能使用包過濾技術(shù)了,另外,由于包過濾技術(shù)遵循”未禁止就允許通過”的規(guī)則,因此,一些未經(jīng)禁止的包的進(jìn)出,可能對(duì)網(wǎng)絡(luò)產(chǎn)生安全威脅。今后防火墻的發(fā)展會(huì)朝著簡(jiǎn)單化、安全化方向邁進(jìn), 綜合包過濾和應(yīng)用代理的功能,達(dá)到兩者的有效結(jié)合,實(shí)現(xiàn)新型加密算法的設(shè)計(jì),使數(shù)據(jù)的傳輸更加安全, 會(huì)和IDS、病毒檢測(cè)等相關(guān)安全產(chǎn)品聯(lián)合起來,充分發(fā)揮各自的長處,協(xié)同配合,共同建立一個(gè)有效的安全防范體系。
參考文獻(xiàn):
[1] Terry William Ogletree. 防火墻原理與實(shí)施[M] . 北京: 機(jī)械工業(yè)出版社,2001
[2] 謝希仁. 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)[M] . 北京: 電子工業(yè)出版社,1999
[3] Chris Cant. Windows WDM設(shè)備驅(qū)動(dòng)程序開發(fā)指南[M]. 北京:機(jī)械工業(yè)出版社,2000
《基于包過濾技術(shù)的個(gè)人防火墻的實(shí)現(xiàn)—電子信息》
- 職稱論文刊發(fā)主體資格的
- 政法論文淺析工會(huì)法主體
- 化學(xué)在初中教學(xué)中的情感
- 中學(xué)教育論文思想政治方
- 法治論文投稿法治型市場(chǎng)
- 雜志社論文發(fā)表淺析推動(dòng)
- 新疆教育報(bào)投稿淺析學(xué)生
- 分男女招生錄取的合憲性
最新優(yōu)質(zhì)論文
- 職稱論文發(fā)表可靠網(wǎng)站有
- 知網(wǎng)能免費(fèi)下載論文嗎
- 膜分離相關(guān)論文發(fā)表期刊
- 水利水電工程師職稱論文
- 環(huán)境工程晉升高級(jí)職稱條
- 音樂課老師晉升職稱必須
- 寫高職英語教育的論文怎
- 河南群眾文化類職稱評(píng)審
論文發(fā)表問題熱點(diǎn)
- 學(xué)術(shù)期刊規(guī)范化需要注意
- 會(huì)計(jì)畢業(yè)論文職稱論文準(zhǔn)
- 中醫(yī)藥論文準(zhǔn)備常見問題
- 工程師中級(jí)職稱評(píng)審條件
- 泥泵磨損論文適合哪些期
- 哪能咨詢發(fā)表論文期刊的
- 自考本科論文格式要求
- 發(fā)表論文必須本省的期刊