對(duì)包過(guò)濾防火墻技術(shù)的詳細(xì)介紹
以下的文章主要向大家講述的是包過(guò)濾防火墻的技術(shù),隨著網(wǎng)絡(luò)的迅速發(fā)展,各種各樣的網(wǎng)絡(luò)軟件也隨之出現(xiàn),人們的生與學(xué)習(xí)對(duì)網(wǎng)絡(luò)的依賴(lài)也越來(lái)越強(qiáng),但是問(wèn)題也接踵而來(lái),網(wǎng)站被攻擊,病毒泛濫,個(gè)人信息被竊取,使人們面臨這樣一個(gè)問(wèn)題:網(wǎng)絡(luò)是否安全?
包過(guò)濾防火墻技術(shù)
隨著網(wǎng)絡(luò)的迅速發(fā)展,各種各樣的網(wǎng)絡(luò)軟件也隨之出現(xiàn),人們的生活和學(xué)習(xí)對(duì)網(wǎng)絡(luò)的依賴(lài)也越來(lái)越多,但問(wèn)題也接踵而來(lái),網(wǎng)站被攻擊,病毒泛濫,個(gè)人信息被竊取,使人們面臨這樣一個(gè)問(wèn)題:網(wǎng)絡(luò)是否安全?
而防火墻正是網(wǎng)絡(luò)的保護(hù)傘,形形色色的防火墻很多,本文通過(guò)介紹包過(guò)濾技術(shù)實(shí)現(xiàn)個(gè)人防火墻,使大家對(duì)防火墻的知識(shí)有進(jìn)一步的了解。
一、防火墻和包過(guò)濾技術(shù)簡(jiǎn)介
防火墻是一種用于在兩個(gè)網(wǎng)絡(luò)間進(jìn)行訪(fǎng)問(wèn)控制的設(shè)備,防火墻系統(tǒng)防范的對(duì)象是來(lái)自被保護(hù)的網(wǎng)絡(luò)的外部的對(duì)網(wǎng)絡(luò)安全的威脅,它通過(guò)檢測(cè)、限制、更改跨越防火墻的數(shù)據(jù)流,盡可能的實(shí)現(xiàn)對(duì)外部網(wǎng)絡(luò)的安全保護(hù)。
而包過(guò)濾技術(shù)是防火墻最基本的實(shí)現(xiàn)技術(shù),具有包過(guò)濾技術(shù)的裝置是用來(lái)控制內(nèi)、外網(wǎng)絡(luò)數(shù)據(jù)流入和流出,包過(guò)濾技術(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)來(lái)確定是否允許數(shù)據(jù)包通過(guò)。
二、截獲網(wǎng)絡(luò)封裝包
截獲數(shù)據(jù)包是實(shí)現(xiàn)一個(gè)防火墻的第一步,截獲數(shù)據(jù)包的方法有很多種,既可以在用戶(hù)態(tài)下攔截網(wǎng)絡(luò)數(shù)據(jù)包,又可以在核心狀態(tài)下進(jìn)行數(shù)據(jù)包截獲。
在用戶(hù)態(tài)下進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包攔截有以下幾種方法:
(1)Winsock Layered Service Provider (LSP)。
(2)Windows 2000 包過(guò)濾接口。
(3)替換系統(tǒng)自帶的WINSOCK動(dòng)態(tài)連接庫(kù)。
很顯然,在用戶(hù)態(tài)下可以很簡(jiǎn)單的進(jìn)行數(shù)據(jù)包攔截,但其最致命的缺點(diǎn)就是只能在Winsock層次上進(jìn)行,而對(duì)于網(wǎng)絡(luò)協(xié)議棧中底層協(xié)議的數(shù)據(jù)包無(wú)法進(jìn)行處理。對(duì)于一些木馬和病毒來(lái)說(shuō)很容易避開(kāi)這個(gè)層次的防火墻。
因此大多數(shù)的個(gè)人防火墻選擇利用網(wǎng)絡(luò)驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)的。例如用中間層驅(qū)動(dòng)程序來(lái)截獲數(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è)人防火墻,還可以用來(lái)實(shí)現(xiàn)VPN,NAT,PPPOverEthernet以及VLan。中間層驅(qū)動(dòng)的概念是在Window NT SP4之后才有的,因此對(duì)于Windows9x來(lái)說(shuō)無(wú)法直接利用中間層驅(qū)動(dòng)的功能Windows DDK提供了兩個(gè)著名的中間層驅(qū)動(dòng)例子:Passthru以及Mux。
開(kāi)發(fā)人員可以在Passthru的基礎(chǔ)上進(jìn)行開(kāi)發(fā),Mux則實(shí)現(xiàn)了VLan功能。目前個(gè)人防火墻的產(chǎn)品還很少用到這種技術(shù),主要的原因在于中間層驅(qū)動(dòng)的安裝過(guò)于復(fù)雜,尤其是在Windows NT下。Windows 2000下可以通過(guò)程序?qū)崿F(xiàn)自動(dòng)安裝,但是如果驅(qū)動(dòng)沒(méi)有經(jīng)過(guò)數(shù)字簽名的話(huà),系統(tǒng)會(huì)提示用戶(hù)是否繼續(xù)安裝。中層層驅(qū)動(dòng)功能強(qiáng)大,應(yīng)該是今后個(gè)人防火墻技術(shù)的趨勢(shì)所在,特別是一些附加功能的實(shí)現(xiàn)。
三、驅(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ò)濾規(guī)則,則接受數(shù)據(jù)包,否則,則放棄該數(shù)據(jù)包,其步驟大致如下:
(1)應(yīng)用程序創(chuàng)建一事件Event;
(2)應(yīng)用程序通過(guò)CreateFile創(chuàng)建驅(qū)動(dòng)程序?qū)嵗?
(3)把該事件的句柄傳給驅(qū)動(dòng)程序;
(4)驅(qū)動(dòng)程序通過(guò)DeviceControl函數(shù)接受Event的句柄;
(5)應(yīng)用程序通過(guò)DeviceIOControl函數(shù)傳遞控制驅(qū)動(dòng)程序的消息;
(6)驅(qū)動(dòng)程序通過(guò)Dispatch歷程得到應(yīng)用程序傳來(lái)的消息,然后根據(jù)消息類(lèi)型進(jìn)行不同的服務(wù);
(7)把結(jié)果數(shù)據(jù)放入共享內(nèi)存區(qū),設(shè)置Event事件通知應(yīng)用程序所請(qǐng)求的事情已經(jīng)辦完;
(8)應(yīng)用程序通過(guò)WaitForSingleObject來(lái)獲知事件發(fā)生;
(9)應(yīng)用程序在共享內(nèi)存區(qū)獲得數(shù)據(jù),并重置該事件。
四、過(guò)濾規(guī)則設(shè)置
包過(guò)濾防火墻的過(guò)濾規(guī)則集由若干條規(guī)則組成,它應(yīng)涵蓋對(duì)所有出入防火墻的數(shù)據(jù)包的處理方法,
對(duì)于沒(méi)有明確定義的數(shù)據(jù)包,應(yīng)該有一個(gè)缺省處理方法;過(guò)濾規(guī)則應(yīng)易于理解,易于編輯修改;
同時(shí)應(yīng)具備一致性檢測(cè)機(jī)制,防止沖突。IP包過(guò)濾的依據(jù)主要是根據(jù)IP包頭部信息如源地址和目的地址進(jìn)行過(guò)濾,
如果IP頭中的協(xié)議字段表明封裝協(xié)議為ICMP、TCP或UDP,那么再根據(jù)ICMP頭信息(類(lèi)型和代碼值)、
TCP頭信息(源端口和目的端口)或UDP頭信息(源端口和目的端口)執(zhí)行過(guò)濾,其他的還有MAC地址過(guò)濾。
應(yīng)用層協(xié)議過(guò)濾要求主要包括FTP過(guò)濾、基于RPC的應(yīng)用服務(wù)過(guò)濾、基于UDP的應(yīng)用服務(wù)過(guò)濾要求以及動(dòng)態(tài)包過(guò)濾技術(shù)等。
在一般情況下,我們可以從以下幾個(gè)方面來(lái)進(jìn)行訪(fǎng)問(wèn)規(guī)則的設(shè)置:
(1)禁止一切源路由尋徑的IP包通過(guò);
(2)IP包的源地址和目的地址;
(3)IP包中TCP與UDP的源端口和目的端口;
(4)運(yùn)行協(xié)議;
(5)IP包的選擇。
動(dòng)作協(xié)議方向訪(fǎng)問(wèn)時(shí)間遠(yuǎn)端IP端口應(yīng)用程序備注
放行IP流進(jìn)工作時(shí)間202.114.165.2408080IE
詢(xún)問(wèn)TCP流進(jìn)工作時(shí)間202.114.165.1921080IE
拒絕IP流出工作時(shí)間202.114.204.15380IE
五、記錄和報(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ě)器:防火墻實(shí)現(xiàn)的一種輸出方式,提供自動(dòng)報(bào)表和日志報(bào)告功能。
動(dòng)作開(kāi)始時(shí)間
-結(jié)束時(shí)間協(xié)議進(jìn)流量出流量本地IP:端口-
遠(yuǎn)端IP:端口應(yīng)用程序備注
放行21:54 -
22:00TCP200400202.114.165.240:80
202.114.165.225:80IE
放行22:01-
22:10IP250100202.114.165.240:80
202.114.165.193:80IE
警告通知機(jī)制:防火墻應(yīng)提供告警機(jī)制,在檢測(cè)到入侵網(wǎng)絡(luò)以及設(shè)備運(yùn)轉(zhuǎn)異常情況時(shí),通過(guò)告警來(lái)通知管理員采取必要的措施,包括E-mail、呼機(jī)、手機(jī)等。
提供簡(jiǎn)要報(bào)表(按照用戶(hù)ID或IP 地址):防火墻實(shí)現(xiàn)的一種輸出方式,按要求提供報(bào)表分類(lèi)打印。
提供實(shí)時(shí)統(tǒng)計(jì):防火墻實(shí)現(xiàn)的一種輸出方式,日志分析后所獲得的智能統(tǒng)計(jì)結(jié)果,一般是圖表顯示。
用包過(guò)濾技術(shù)實(shí)現(xiàn)防火墻較為容易,具有比較好的網(wǎng)絡(luò)安全保障功能,但也存在不足之處,由于過(guò)濾技術(shù)中無(wú)法包括用戶(hù)名,而僅僅是客戶(hù)機(jī)的IP地址,那么如果要過(guò)濾用戶(hù)名就不能使用包過(guò)濾技術(shù)了,另外,由于包過(guò)濾技術(shù)遵循”未禁止就允許通過(guò)”的規(guī)則,因此,一些未經(jīng)禁止的包的進(jìn)出,可能對(duì)網(wǎng)絡(luò)產(chǎn)生安全威脅。今后防火墻的發(fā)展會(huì)朝著簡(jiǎn)單化、安全化方向邁進(jìn), 綜合包過(guò)濾和應(yīng)用代理的功能,達(dá)到兩者的有效結(jié)合,實(shí)現(xiàn)新型加密算法的設(shè)計(jì),使數(shù)據(jù)的傳輸更加安全, 會(huì)和IDS、病毒檢測(cè)等相關(guān)安全產(chǎn)品聯(lián)合起來(lái),充分發(fā)揮各自的長(zhǎng)處,協(xié)同配合,共同建立一個(gè)有效的安全防范體系。
以上的相關(guān)內(nèi)容就是對(duì)包過(guò)濾防火墻技術(shù)的介紹,望你能有所收獲。
【編輯推薦】
- 零距離接觸Windows 7操作系統(tǒng)自帶防火墻
- 新一代防火墻技術(shù)的三大要求
- ISA Server防火墻客戶(hù)端使用記要
- 應(yīng)對(duì)復(fù)雜網(wǎng)絡(luò)攻擊我有WEB應(yīng)用防火墻
- Web應(yīng)用防火墻選購(gòu)指南