摘 要: 隨著計(jì)算機(jī)技術(shù)的發(fā)展,信息安全已日益引起人們的高度重視,防火墻技術(shù)在信息安全領(lǐng)域中扮演著十分重要的角色。本文介紹了防火墻的分類(lèi)及特征,著重闡述了防火墻的關(guān)鍵技術(shù)及其實(shí)現(xiàn)方法。
關(guān)鍵詞: 防火墻 種類(lèi) 技術(shù) 實(shí)現(xiàn)方法
一、防火墻概述
防火墻,英文名為“Fire Wall”,是目前一種最重要的網(wǎng)絡(luò)防護(hù)設(shè)備。從專(zhuān)業(yè)角度講,防火墻是位于兩個(gè)(或多個(gè))網(wǎng)絡(luò)間,實(shí)施網(wǎng)絡(luò)之間訪問(wèn)控制的一組組件集合。對(duì)于普通用戶(hù)來(lái)說(shuō),所謂“防火墻”,指的就是一種被放置在自己的計(jì)算機(jī)與外界網(wǎng)絡(luò)之間的防御系統(tǒng),它對(duì)從網(wǎng)絡(luò)發(fā)往計(jì)算機(jī)的所有數(shù)據(jù)都進(jìn)行判斷處理,并決定能否把這些數(shù)據(jù)交給計(jì)算機(jī),一旦發(fā)現(xiàn)有害數(shù)據(jù),防火墻就會(huì)攔截下來(lái),實(shí)現(xiàn)對(duì)計(jì)算機(jī)的保護(hù)功能。
二、防火墻的種類(lèi)
世界上沒(méi)有一種事物是唯一的,防火墻也一樣,為了更有效率地對(duì)付網(wǎng)絡(luò)上各種不同攻擊手段,防火墻也派分出幾種防御架構(gòu)。根據(jù)物理特性,防火墻分為兩大類(lèi),硬件防火墻和軟件防火墻。
1.軟件防火墻
軟件防火墻是一種安裝在負(fù)責(zé)內(nèi)外網(wǎng)絡(luò)轉(zhuǎn)換的網(wǎng)關(guān)服務(wù)器或者獨(dú)立的個(gè)人計(jì)算機(jī)上的特殊程序。它是以邏輯形式存在的,防火墻程序跟隨系統(tǒng)啟動(dòng),通過(guò)運(yùn)行在Ring0級(jí)別的特殊驅(qū)動(dòng)模塊把防御機(jī)制插入系統(tǒng)關(guān)于網(wǎng)絡(luò)的處理部分和網(wǎng)絡(luò)接口設(shè)備驅(qū)動(dòng)之間,形成一種邏輯上的防御體系。
在沒(méi)有軟件防火墻之前,系統(tǒng)和網(wǎng)絡(luò)接口設(shè)備之間的通道是直接的,網(wǎng)絡(luò)接口設(shè)備通過(guò)網(wǎng)絡(luò)驅(qū)動(dòng)程序接口把網(wǎng)絡(luò)上傳來(lái)的各種報(bào)文都忠實(shí)地交給系統(tǒng)處理,盡管NDIS接收到的仍然的是原封不動(dòng)的數(shù)據(jù)報(bào)文,但是在提交到系統(tǒng)的通道上多了一層防御機(jī)制,所有數(shù)據(jù)報(bào)文都要經(jīng)過(guò)這層機(jī)制根據(jù)一定的規(guī)則判斷處理,只有它認(rèn)為安全的數(shù)據(jù)才能到達(dá)系統(tǒng),其他數(shù)據(jù)則被丟棄。
軟件防火墻工作于系統(tǒng)接口與NDIS之間,用于檢查過(guò)濾由NDIS發(fā)送過(guò)來(lái)的數(shù)據(jù),在無(wú)需改動(dòng)硬件的前提下便能實(shí)現(xiàn)一定強(qiáng)度的安全保障,但是由于軟件防火墻自身屬于運(yùn)行于系統(tǒng)上的程序,需要占用一部分CPU資源維持工作,因此軟件防火墻會(huì)使整個(gè)系統(tǒng)工作效率和數(shù)據(jù)吞吐速度有所下降。
2.硬件防火墻
硬件防火墻是一種以物理形式存在的專(zhuān)用設(shè)備,通常架設(shè)于兩個(gè)網(wǎng)絡(luò)的駁接處,直接從網(wǎng)絡(luò)設(shè)備上檢查過(guò)濾有害的數(shù)據(jù)報(bào)文,位于防火墻設(shè)備后端的網(wǎng)絡(luò)或者服務(wù)器接收到的是經(jīng)過(guò)防火墻處理的相對(duì)安全的數(shù)據(jù),不必另外分出CPU資源去進(jìn)行基于軟件架構(gòu)的NDIS數(shù)據(jù)檢測(cè),可以大大提高工作效率。
硬件防火墻一般是通過(guò)網(wǎng)線連接于外部網(wǎng)絡(luò)接口與內(nèi)部服務(wù)器或企業(yè)網(wǎng)絡(luò)之間的設(shè)備,其又另外派分出兩種結(jié)構(gòu),一種是普通硬件級(jí)別防火墻,它擁有標(biāo)準(zhǔn)計(jì)算機(jī)的硬件平臺(tái)和一些功能經(jīng)過(guò)簡(jiǎn)化處理的UNIX系列操作系統(tǒng)和防火墻軟件,這種防火墻措施相當(dāng)于專(zhuān)門(mén)拿出一臺(tái)計(jì)算機(jī)安裝軟件防火墻,因此有可能會(huì)存在漏洞和不穩(wěn)定因素,安全性并不能做到最好;另一種是所謂的“芯片”級(jí)硬件防火墻,它采用專(zhuān)門(mén)設(shè)計(jì)的硬件平臺(tái),在上面搭建的軟件也是專(zhuān)門(mén)開(kāi)發(fā)的,并非流行的操作系統(tǒng),因而可以達(dá)到較好的安全性能保障。
總之,防火墻分類(lèi)的方法很多,除了從形式上把它分為軟件防火墻和硬件防火墻以外,還可以從技術(shù)上分為“包過(guò)濾型”、“應(yīng)用代理型”和“狀態(tài)監(jiān)視”三類(lèi);從結(jié)構(gòu)上可分為單一主機(jī)防火墻、路由集成式防火墻和分布式防火墻三種;按工作位置可分為邊界防火墻、個(gè)人防火墻和混合防火墻;按防火墻性能可分為百兆級(jí)防火墻和千兆級(jí)防火墻兩類(lèi)……雖然看似種類(lèi)繁多,但這只是業(yè)界分類(lèi)方法不同,因此這里主要介紹的是技術(shù)方面的分類(lèi),即包過(guò)濾、應(yīng)用代理和狀態(tài)監(jiān)視防火墻技術(shù)。
三、防火墻技術(shù)及其實(shí)現(xiàn)方法
傳統(tǒng)意義上的防火墻技術(shù)分為三大類(lèi),即包過(guò)濾、應(yīng)用代理和狀態(tài)監(jiān)視,無(wú)論防火墻的實(shí)現(xiàn)過(guò)程多么復(fù)雜,歸根結(jié)底都是在這三種技術(shù)的基礎(chǔ)上進(jìn)行功能擴(kuò)展。
1.包過(guò)濾技術(shù)
包過(guò)濾是最早使用的一種防火墻技術(shù),它的第一代模型是“靜態(tài)包過(guò)濾”。使用包過(guò)濾技術(shù)的防火墻通常工作在OSI模型中的網(wǎng)絡(luò)層上,后來(lái)發(fā)展更新的“動(dòng)態(tài)包過(guò)濾”增加了傳輸層。簡(jiǎn)而言之,包過(guò)濾技術(shù)工作的地方就是各種基于TCP/IP協(xié)議的數(shù)據(jù)報(bào)文進(jìn)出的通道,它把這兩層作為數(shù)據(jù)監(jiān)控的對(duì)象,對(duì)每個(gè)數(shù)據(jù)包的頭部、協(xié)議、地址、端口、類(lèi)型等信息進(jìn)行分析,并與預(yù)先設(shè)定好的防火墻過(guò)濾規(guī)則進(jìn)行核對(duì),一旦發(fā)現(xiàn)某個(gè)包的某個(gè)或多個(gè)部分與過(guò)濾規(guī)則匹配并且條件為“阻止”的時(shí)候,這個(gè)包就會(huì)被丟棄。設(shè)置適當(dāng)?shù)倪^(guò)濾規(guī)則可以讓防火墻工作得更安全有效,但是這種技術(shù)只能根據(jù)預(yù)設(shè)的過(guò)濾規(guī)則進(jìn)行判斷,一旦出現(xiàn)一個(gè)沒(méi)有在設(shè)計(jì)人員意料之中的有害數(shù)據(jù)包請(qǐng)求,整個(gè)防火墻的保護(hù)就無(wú)效。
為了解決這種問(wèn)題,人們對(duì)包過(guò)濾技術(shù)進(jìn)行了改進(jìn),這種改進(jìn)后的技術(shù)稱(chēng)為“動(dòng)態(tài)包過(guò)濾”,與它的前輩相比,動(dòng)態(tài)包過(guò)濾功能在保持著原有靜態(tài)包過(guò)濾技術(shù)和過(guò)濾規(guī)則的基礎(chǔ)上,會(huì)對(duì)已經(jīng)成功與計(jì)算機(jī)連接的報(bào)文傳輸進(jìn)行跟蹤,并且判斷該連接發(fā)送的數(shù)據(jù)包是否會(huì)對(duì)系統(tǒng)構(gòu)成威脅,一旦觸發(fā)其判斷機(jī)制,防火墻就會(huì)自動(dòng)產(chǎn)生新的臨時(shí)過(guò)濾規(guī)則或者把已經(jīng)存在的過(guò)濾規(guī)則進(jìn)行修改,從而阻止該有害數(shù)據(jù)的繼續(xù)傳輸。但是動(dòng)態(tài)包過(guò)濾需要消耗額外的資源和時(shí)間來(lái)提取數(shù)據(jù)包內(nèi)容進(jìn)行判斷處理,與靜態(tài)包過(guò)濾相比運(yùn)行效率較低。
2.應(yīng)用代理技術(shù)
由于包過(guò)濾技術(shù)無(wú)法提供完善的數(shù)據(jù)保護(hù)措施,而且一些特殊的報(bào)文攻擊僅僅使用過(guò)濾的方法并不能消除危害,因此人們需要一種更全面的防火墻保護(hù)技術(shù),在這樣的需求背景下,采用“應(yīng)用代理”技術(shù)的防火墻誕生了。我們都知道,一個(gè)完整的代理設(shè)備包含一個(gè)服務(wù)端和客戶(hù)端,服務(wù)端接收來(lái)自用戶(hù)的請(qǐng)求,調(diào)用自身的客戶(hù)端模擬一個(gè)基于用戶(hù)請(qǐng)求的連接到目標(biāo)服務(wù)器,再把目標(biāo)服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)發(fā)給用戶(hù),完成一次代理工作過(guò)程。那么,如果在一臺(tái)代理設(shè)備的服務(wù)端和客戶(hù)端之間連接一個(gè)過(guò)濾措施呢?這樣的思想便造就了“應(yīng)用代理”防火墻,這種防火墻實(shí)際上就是一臺(tái)小型的帶有數(shù)據(jù)檢測(cè)過(guò)濾功能的透明代理服務(wù)器,但是它并不是單純地在一個(gè)代理設(shè)備中嵌入包過(guò)濾技術(shù),而是一種被稱(chēng)為“應(yīng)用協(xié)議分析”的新技術(shù)。
“應(yīng)用協(xié)議分析”技術(shù)工作在OSI模型的應(yīng)用層上,在這一層里能接觸到的所有數(shù)據(jù)都是最終形式,也就是說(shuō),防火墻“看到”的數(shù)據(jù)和我們看到的是一樣的,而不是一個(gè)個(gè)帶有地址端口協(xié)議等原始內(nèi)容的數(shù)據(jù)包,因而它可以實(shí)現(xiàn)更高級(jí)的數(shù)據(jù)檢測(cè)過(guò)程。整個(gè)代理防火墻把自身映射為一條透明線路,在用戶(hù)方面和外界線路看來(lái),它們之間的連接并沒(méi)有任何阻礙,但是這個(gè)連接的數(shù)據(jù)收發(fā)實(shí)際上是經(jīng)過(guò)了代理防火墻轉(zhuǎn)向的,當(dāng)外界數(shù)據(jù)進(jìn)入代理防火墻的客戶(hù)端時(shí),“應(yīng)用協(xié)議分析”模塊便根據(jù)應(yīng)用層協(xié)議處理這個(gè)數(shù)據(jù),通過(guò)預(yù)置的處理規(guī)則查詢(xún)這個(gè)數(shù)據(jù)是否帶有危害。由于這一層面對(duì)的已經(jīng)不再是組合有限的報(bào)文協(xié)議,甚至可以識(shí)別類(lèi)似的數(shù)據(jù)內(nèi)容,因此防火墻不僅能根據(jù)數(shù)據(jù)層提供的信息判斷數(shù)據(jù),更能像管理員分析服務(wù)器日志那樣“看”內(nèi)容辨危害。
由于工作在應(yīng)用層,防火墻還可以實(shí)現(xiàn)雙向限制,在過(guò)濾外部網(wǎng)絡(luò)有害數(shù)據(jù)的同時(shí)也監(jiān)控著內(nèi)部網(wǎng)絡(luò)的信息,管理員可以配置防火墻實(shí)現(xiàn)一個(gè)身份驗(yàn)證和連接時(shí)限的功能,進(jìn)一步防止內(nèi)部網(wǎng)絡(luò)信息泄漏的隱患。最后,由于代理防火墻采取是代理機(jī)制進(jìn)行工作,內(nèi)外部網(wǎng)絡(luò)之間的通信都需先經(jīng)過(guò)代理服務(wù)器審核,通過(guò)后再由代理服務(wù)器連接,根本沒(méi)有給分隔在內(nèi)外部網(wǎng)絡(luò)兩邊的計(jì)算機(jī)直接會(huì)話(huà)的機(jī)會(huì),可以避免入侵者使用“數(shù)據(jù)驅(qū)動(dòng)”攻擊方式滲透內(nèi)部網(wǎng)絡(luò),可以說(shuō)應(yīng)用代理技術(shù)是比包過(guò)濾技術(shù)更完善的防火墻技術(shù)。
3.狀態(tài)監(jiān)視技術(shù)
這是繼“包過(guò)濾”技術(shù)和“應(yīng)用代理”技術(shù)后發(fā)展的防火墻技術(shù),它是CheckPoint技術(shù)公司在基于“包過(guò)濾”原理的“動(dòng)態(tài)包過(guò)濾”技術(shù)發(fā)展而來(lái)的。這種防火墻技術(shù)通過(guò)一種被稱(chēng)為“狀態(tài)監(jiān)視”的模塊,在不影響網(wǎng)絡(luò)安全正常工作的前提下采用抽取相關(guān)數(shù)據(jù)的方法對(duì)網(wǎng)絡(luò)通信的各個(gè)層次實(shí)行監(jiān)測(cè),并根據(jù)各種過(guò)濾規(guī)則作出安全決策。
“狀態(tài)監(jiān)視”技術(shù)在保留了對(duì)每個(gè)數(shù)據(jù)包的頭部、協(xié)議、地址、端口、類(lèi)型等信息進(jìn)行分析的基礎(chǔ)上,進(jìn)一步發(fā)展了“會(huì)話(huà)過(guò)濾”功能,在每個(gè)連接建立時(shí),防火墻會(huì)為這個(gè)連接構(gòu)造一個(gè)會(huì)話(huà)狀態(tài),里面包含了這個(gè)連接數(shù)據(jù)包的所有信息,以后這個(gè)連接都基于這個(gè)狀態(tài)信息進(jìn)行。這種檢測(cè)的高明之處是能對(duì)每個(gè)數(shù)據(jù)包的內(nèi)容進(jìn)行監(jiān)視,一旦建立了一個(gè)會(huì)話(huà)狀態(tài),則此后的數(shù)據(jù)傳輸都要以此會(huì)話(huà)狀態(tài)作為依據(jù),例如一個(gè)連接的數(shù)據(jù)包源端口是8000,那么在以后的數(shù)據(jù)傳輸過(guò)程里防火墻都會(huì)審核這個(gè)包的源端口還是不是8000,否則這個(gè)數(shù)據(jù)包就被攔截,而且會(huì)話(huà)狀態(tài)的保留是有時(shí)間限制的,在超時(shí)的范圍內(nèi)如果沒(méi)有再進(jìn)行數(shù)據(jù)傳輸,這個(gè)會(huì)話(huà)狀態(tài)就會(huì)被丟棄。狀態(tài)監(jiān)視可以對(duì)包內(nèi)容進(jìn)行分析,從而擺脫了傳統(tǒng)防火墻僅局限于幾個(gè)包頭部信息的檢測(cè)弱點(diǎn),而且這種防火墻不必開(kāi)放過(guò)多端口,進(jìn)一步杜絕了可能因?yàn)殚_(kāi)放端口過(guò)多而帶來(lái)的安全隱患。
由于狀態(tài)監(jiān)視技術(shù)相當(dāng)于結(jié)合了包過(guò)濾技術(shù)和應(yīng)用代理技術(shù),因此是最先進(jìn)的,但是由于實(shí)現(xiàn)技術(shù)復(fù)雜,在實(shí)際應(yīng)用中還不能做到真正的完全有效的數(shù)據(jù)安全檢測(cè),而且在一般的計(jì)算機(jī)硬件系統(tǒng)上很難設(shè)計(jì)出基于此技術(shù)的完善防御措施。
四、對(duì)防火墻技術(shù)的展望
防火墻作為維護(hù)網(wǎng)絡(luò)安全的關(guān)鍵設(shè)備,在目前采用的網(wǎng)絡(luò)安全的防范體系中,占據(jù)著舉足輕重的位置。伴隨計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)應(yīng)用的普及,越來(lái)越多的企業(yè)與個(gè)體都遭遇到不同程度的安全難題,因此市場(chǎng)對(duì)防火墻的設(shè)備需求和技術(shù)要求都在不斷提升,多功能、高安全性的防火墻可以讓用戶(hù)網(wǎng)絡(luò)更加無(wú)憂(yōu),但前提是要確保網(wǎng)絡(luò)的運(yùn)行效率。一款完善的防火墻產(chǎn)品,應(yīng)該包含有訪問(wèn)控制、網(wǎng)絡(luò)地址轉(zhuǎn)換、代理、認(rèn)證、日志審計(jì)等基礎(chǔ)功能,并擁有自己特色的安全相關(guān)技術(shù),如規(guī)則簡(jiǎn)化方案等。