防火墻工作的方式基本分類優(yōu)缺點(diǎn)簡(jiǎn)介
防火墻工作的方式基本分類優(yōu)缺點(diǎn)簡(jiǎn)介
網(wǎng)絡(luò)安全成為當(dāng)今最熱門的話題之一,很多企業(yè)為了保障自身服務(wù)器或數(shù)據(jù)安全都采用了防火墻。隨著科技的發(fā)展,防火墻也逐漸被大眾所接受。但是,由于防火墻是屬于高科技產(chǎn)物,許多的人對(duì)此還并不是了解的十分透徹。而這篇文章就是給大家講述了防火墻工作的方式,以及防火墻的基本分類,并且討論了每一種防火墻的優(yōu)缺點(diǎn)。
一、防火墻的基本分類
1.包過(guò)濾防火墻
第一代防火墻和最基本形式防火墻檢查每一個(gè)通過(guò)的網(wǎng)絡(luò)包,或者丟棄,或者放行,取決于所建立的一套規(guī)則。這稱為包過(guò)濾防火墻。
本質(zhì)上,包過(guò)濾防火墻是多址的,表明它有兩個(gè)或兩個(gè)以上網(wǎng)絡(luò)適配器或接口。例如,作為防火墻的設(shè)備可能有兩塊網(wǎng)卡(NIC),一塊連到內(nèi)部網(wǎng)絡(luò),一塊連到公共的Internet。防火墻的任務(wù),就是作為“通信警察”,指引包和截住那些有危害的包。
包過(guò)濾防火墻檢查每一個(gè)傳入包,查看包中可用的基本信息(源地址和目的地址、端口號(hào)、協(xié)議等)。然后,將這些信息與設(shè)立的規(guī)則相比較。如果已經(jīng)設(shè)立了阻斷telnet連接,而包的目的端口是23的話,那么該包就會(huì)被丟棄。如果允許傳入Web連接,而目的端口為80,則包就會(huì)被放行。
多個(gè)復(fù)雜規(guī)則的組合也是可行的。如果允許Web連接,但只針對(duì)特定的服務(wù)器,目的端口和目的地址二者必須與規(guī)則相匹配,才可以讓該包通過(guò)。
最后,可以確定當(dāng)一個(gè)包到達(dá)時(shí),如果對(duì)該包沒(méi)有規(guī)則被定義,接下來(lái)將會(huì)發(fā)生什么事情了。通常,為了安全起見(jiàn),與傳入規(guī)則不匹配的包就被丟棄了。如果有理由讓該包通過(guò),就要建立規(guī)則來(lái)處理它。
建立包過(guò)濾防火墻規(guī)則的例子如下:
對(duì)來(lái)自專用網(wǎng)絡(luò)的包,只允許來(lái)自內(nèi)部地址的包通過(guò),因?yàn)槠渌徽_的包頭部信息。這條規(guī)則可以防止網(wǎng)絡(luò)內(nèi)部的任何人通過(guò)欺騙性的源地址發(fā)起攻擊。而且,如果黑客對(duì)專用網(wǎng)絡(luò)內(nèi)部的機(jī)器具有了不知從何得來(lái)的訪問(wèn)權(quán),這種過(guò)濾方式可以阻止黑客從網(wǎng)絡(luò)內(nèi)部發(fā)起攻擊。
在公共網(wǎng)絡(luò),只允許目的地址為80端口的包通過(guò)。這條規(guī)則只允許傳入的連接為Web連接。這條規(guī)則也允許與Web連接使用相同端口的連接,所以它并不是十分安全。
丟棄從公共網(wǎng)絡(luò)傳入的包,而這些包都有你的網(wǎng)絡(luò)內(nèi)的源地址,從而減少IP欺騙性的攻擊。
丟棄包含源路由信息的包,以減少源路由攻擊。要記住,在源路由攻擊中,傳入的包包含路由信息,它覆蓋了包通過(guò)網(wǎng)絡(luò)應(yīng)采取得正常路由,可能會(huì)繞過(guò)已有的安全程序。通過(guò)忽略源路2.狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻
狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻,試圖跟蹤通過(guò)防火墻的網(wǎng)絡(luò)連接和包,這樣防火墻就可以使用一組附加的標(biāo)準(zhǔn),以確定是否允許和拒絕通信。它是在使用了基本包過(guò)濾防火墻的通信上應(yīng)用一些技術(shù)來(lái)做到這點(diǎn)的。
當(dāng)包過(guò)濾防火墻見(jiàn)到一個(gè)網(wǎng)絡(luò)包,包是孤立存在的。它沒(méi)有防火墻所關(guān)心的歷史或未來(lái)。允許和拒絕包的決定完全取決于包自身所包含的信息,如源地址、目的地址、端口號(hào)等。包中沒(méi)有包含任何描述它在信息流中的位置的信息,則該包被認(rèn)為是無(wú)狀態(tài)的;它僅是存在而已。
一個(gè)有狀態(tài)包檢查防火墻跟蹤的不僅是包中包含的信息。為了跟蹤包的狀態(tài),防火墻還記錄有用的信息以幫助識(shí)別包,例如已有的網(wǎng)絡(luò)連接、數(shù)據(jù)的傳出請(qǐng)求等。
例如,如果傳入的包包含視頻數(shù)據(jù)流,而防火墻可能已經(jīng)記錄了有關(guān)信息,是關(guān)于位于特定IP地址的應(yīng)用程序最近向發(fā)出包的源地址請(qǐng)求視頻信號(hào)的信息。如果傳入的包是要傳給發(fā)出請(qǐng)求的相同系統(tǒng),防火墻進(jìn)行匹配,包就可以被允許通過(guò)。
一個(gè)狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻可截?cái)嗨袀魅氲耐ㄐ?,而允許所有傳出的通信。因?yàn)榉阑饓Ω檭?nèi)部出去的請(qǐng)求,所有按要求傳入的數(shù)據(jù)被允許通過(guò),直到連接被關(guān)閉為止。只有未被請(qǐng)求的傳入通信被截?cái)唷?/p>
如果在防火墻內(nèi)正運(yùn)行一臺(tái)服務(wù)器,配置就會(huì)變得稍微復(fù)雜一些,但狀態(tài)包檢查是很有力和適應(yīng)性的技術(shù)。例如,可以將防火墻配置成只允許從特定端口進(jìn)入的通信,只可傳到特定服務(wù)器。如果正在運(yùn)行Web服務(wù)器,防火墻只將80端口傳入的通信發(fā)到指定的Web服務(wù)器。
狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻可提供的其他一些額外的服務(wù)有:
將某些類型的連接重定向到審核服務(wù)中去。例如,到專用Web服務(wù)器的連接,在Web服務(wù)器連接被允許之前,可能被發(fā)到SecutID服務(wù)器(用一次性口令來(lái)使用)。
拒絕攜帶某些數(shù)據(jù)的網(wǎng)絡(luò)通信,如帶有附加可執(zhí)行程序的傳入電子消息,或包含ActiveX程序的Web頁(yè)面。
跟蹤連接狀態(tài)的方式取決于包通過(guò)防火墻的類型:
TCP包。當(dāng)建立起一個(gè)TCP連接時(shí),通過(guò)的第一個(gè)包被標(biāo)有包的SYN標(biāo)志。通常情況下,防火墻丟棄所有外部的連接企圖,除非已經(jīng)建立起某條特定規(guī)則來(lái)處理它們。對(duì)內(nèi)部的連接試圖連到外部主機(jī),防火墻注明連接包,允許響應(yīng)及隨后再兩個(gè)系統(tǒng)之間的包,直到連接結(jié)束為止。在這種方式下,傳入的包只有在它是響應(yīng)一個(gè)已建立的連接時(shí),才會(huì)被允許通過(guò)。
UDP包。UDP包比TCP包簡(jiǎn)單,因?yàn)樗鼈儾话魏芜B接或序列信息。它們只包含源地址、目的地址、校驗(yàn)和攜帶的數(shù)據(jù)。這種信息的缺乏使得防火墻確定包的合法性很困難,因?yàn)闆](méi)有打開(kāi)的連接可利用,以測(cè)試傳入的包是否應(yīng)被允許通過(guò)。可是,如果防火墻跟蹤包的狀態(tài),就可以確定。對(duì)傳入的包,若它所使用的地址和UDP包攜帶的協(xié)議與傳出的連接請(qǐng)求匹配,該包就被允許通過(guò)。和TCP包一樣,沒(méi)有傳入的UDP包會(huì)被允許通過(guò),除非它是響應(yīng)傳出的請(qǐng)求或已經(jīng)建立了指定的規(guī)則來(lái)處理它。對(duì)其他種類的包,情況和UDP包類似。防火墻仔細(xì)地跟蹤傳出的請(qǐng)求,記錄下所使用的地址、協(xié)議和包的類型,然后對(duì)照保存過(guò)的信息核對(duì)傳入的包,以確保這些包是被請(qǐng)求的。
由信息,防火墻可以減少這種方式的攻擊。
3.應(yīng)用程序代理防火墻
應(yīng)用程序代理防火墻實(shí)際上并不允許在它連接的網(wǎng)絡(luò)之間直接通信。相反,它是接受來(lái)自內(nèi)部網(wǎng)絡(luò)特定用戶應(yīng)用程序的通信,然后建立于公共網(wǎng)絡(luò)服務(wù)器單獨(dú)的連接。網(wǎng)絡(luò)內(nèi)部的用戶不直接與外部的服務(wù)器通信,所以服務(wù)器不能直接訪問(wèn)內(nèi)部網(wǎng)的任何一部分。
另外,如果不為特定的應(yīng)用程序安裝代理程序代碼,這種服務(wù)是不會(huì)被支持的,不能建立任何連接。這種建立方式拒絕任何沒(méi)有明確配置的連接,從而提供了額外的安全性和控制性。
例如,一個(gè)用戶的Web瀏覽器可能在80端口,但也經(jīng)常可能是在1080端口,連接到了內(nèi)部網(wǎng)絡(luò)的HTTP代理防火墻。防火墻然后會(huì)接受這個(gè)連接請(qǐng)求,并把它轉(zhuǎn)到所請(qǐng)求的Web服務(wù)器。
這種連接和轉(zhuǎn)移對(duì)該用戶來(lái)說(shuō)是透明的,因?yàn)樗耆怯纱矸阑饓ψ詣?dòng)處理的。
代理防火墻通常支持的一些常見(jiàn)的應(yīng)用程序有:
HTTP
HTTPS/SSL
SMTP
POP3
IMAP
NNTP
TELNET
FTP
IRC
應(yīng)用程序代理防火墻可以配置成允許來(lái)自內(nèi)部網(wǎng)絡(luò)的任何連接,它也可以配置成要求用戶認(rèn)證后才建立連接。要求認(rèn)證的方式由只為已知的用戶建立連接的這種限制,為安全性提供了額外的保證。如果網(wǎng)絡(luò)受到危害,這個(gè)特征使得從內(nèi)部發(fā)動(dòng)攻擊的可能性大大減少。
4.NAT
討論到防火墻的主題,就一定要提到有一種路由器,盡管從技術(shù)上講它根本不是防火墻。網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)協(xié)議將內(nèi)部網(wǎng)絡(luò)的多個(gè)IP地址轉(zhuǎn)換到一個(gè)公共地址發(fā)到Internet上。
NAT經(jīng)常用于小型辦公室、家庭等網(wǎng)絡(luò),多個(gè)用戶分享單一的IP地址,并為Internet連接提供一些安全機(jī)制。
當(dāng)內(nèi)部用戶與一個(gè)公共主機(jī)通信時(shí),NAT追蹤是哪一個(gè)用戶作的請(qǐng)求,修改傳出的包,這樣包就像是來(lái)自單一的公共IP地址,然后再打開(kāi)連接。一旦建立了連接,在內(nèi)部計(jì)算機(jī)和Web站點(diǎn)之間來(lái)回流動(dòng)的通信就都是透明的了。
當(dāng)從公共網(wǎng)絡(luò)傳來(lái)一個(gè)未經(jīng)請(qǐng)求的傳入連接時(shí),NAT有一套規(guī)則來(lái)決定如何處理它。如果沒(méi)有事先定義好的規(guī)則,NAT只是簡(jiǎn)單的丟棄所有未經(jīng)請(qǐng)求的傳入連接,就像包過(guò)濾防火墻所做的那樣。
可是,就像對(duì)包過(guò)濾防火墻一樣,你可以將NAT配置為接受某些特定端口傳來(lái)的傳入連接,并將它們送到一個(gè)特定的主機(jī)地址。
5.個(gè)人防火墻
現(xiàn)在網(wǎng)絡(luò)上流傳著很多的個(gè)人防火墻軟件,它是應(yīng)用程序級(jí)的。個(gè)人防火墻是一種能夠保護(hù)個(gè)人計(jì)算機(jī)系統(tǒng)安全的軟件,它可以直接在用戶的計(jì)算機(jī)上運(yùn)行,使用與狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻相同的方式,保護(hù)一臺(tái)計(jì)算機(jī)免受攻擊。通常,這些防火墻是安裝在計(jì)算機(jī)網(wǎng)絡(luò)接口的較低級(jí)別上,使得它們可以監(jiān)視傳入傳出網(wǎng)卡的所有網(wǎng)絡(luò)通信。
一旦安裝上個(gè)人防火墻,就可以把它設(shè)置成“學(xué)習(xí)模式”,這樣的話,對(duì)遇到的每一種新的網(wǎng)絡(luò)通信,個(gè)人防火墻都會(huì)提示用戶一次,詢問(wèn)如何處理那種通信。然后個(gè)人防火墻便記住響應(yīng)方式,并應(yīng)用于以后遇到的相同那種網(wǎng)絡(luò)通信。
例如,如果用戶已經(jīng)安裝了一臺(tái)個(gè)人Web服務(wù)器,個(gè)人防火墻可能將第一個(gè)傳入的Web連接作上標(biāo)志,并詢問(wèn)用戶是否允許它通過(guò)。用戶可能允許所有的Web連接、來(lái)自某些特定IP地址范圍的連接等,個(gè)人防火墻然后把這條規(guī)則應(yīng)用于所有傳入的Web連接。
基本上,你可以將個(gè)人防火墻想象成在用戶計(jì)算機(jī)上建立了一個(gè)虛擬網(wǎng)絡(luò)接口。不再是計(jì)算機(jī)的操作系統(tǒng)直接通過(guò)網(wǎng)卡進(jìn)行通信,而是以操作系統(tǒng)通過(guò)和個(gè)人防火墻對(duì)話,仔細(xì)檢查網(wǎng)絡(luò)通信,然后再通過(guò)網(wǎng)卡通信。
二、各類防火墻的優(yōu)缺點(diǎn)
1.包過(guò)濾防火墻
使用包過(guò)濾防火墻的優(yōu)點(diǎn)包括:
防火墻對(duì)每條傳入和傳出網(wǎng)絡(luò)的包實(shí)行低水平控制。
每個(gè)IP包的字段都被檢查,例如源地址、目的地址、協(xié)議、端口等。防火墻將基于這些信息應(yīng)用過(guò)濾規(guī)則。
防火墻可以識(shí)別和丟棄帶欺騙性源IP地址的包。
包過(guò)濾防火墻是兩個(gè)網(wǎng)絡(luò)之間訪問(wèn)的唯一來(lái)源。因?yàn)樗械耐ㄐ疟仨毻ㄟ^(guò)防火墻,繞過(guò)是困難的。
包過(guò)濾通常被包含在路由器數(shù)據(jù)包中,所以不必額外的系統(tǒng)來(lái)處理這個(gè)特征。
使用包過(guò)濾防火墻的缺點(diǎn)包括:
配置困難。因?yàn)榘^(guò)濾防火墻很復(fù)雜,人們經(jīng)常會(huì)忽略建立一些必要的規(guī)則,或者錯(cuò)誤配置了已有的規(guī)則,在防火墻上留下漏洞。然而,在市場(chǎng)上,許多新版本的防火墻對(duì)這個(gè)缺點(diǎn)正在作改進(jìn),如開(kāi)發(fā)者實(shí)現(xiàn)了基于圖形化用戶界面(GUI)的配置和更直接的規(guī)則定義。
為特定服務(wù)開(kāi)放的端口存在著危險(xiǎn),可能會(huì)被用于其他傳輸。例如,Web服務(wù)器默認(rèn)端口為80,而計(jì)算機(jī)上又安裝了RealPlayer,那么它會(huì)搜尋可以允許連接到RealAudio服務(wù)器的端口,而不管這個(gè)端口是否被其他協(xié)議所使用,RealPlayer正好是使用80端口而搜尋的。就這樣無(wú)意中,RealPlayer就利用了Web服務(wù)器的端口。
可能還有其他方法繞過(guò)防火墻進(jìn)入網(wǎng)絡(luò),例如撥入連接。但這個(gè)并不是防火墻自身的缺點(diǎn),而是不應(yīng)該在網(wǎng)絡(luò)安全上單純依賴防火墻的原因。
2.狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻
狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻的優(yōu)點(diǎn)有:
檢查IP包的每個(gè)字段的能力,并遵從基于包中信息的過(guò)濾規(guī)則。
識(shí)別帶有欺騙性源IP地址包的能力。
包過(guò)濾防火墻是兩個(gè)網(wǎng)絡(luò)之間訪問(wèn)的唯一來(lái)源。因?yàn)樗械耐ㄐ疟仨毻ㄟ^(guò)防火墻,繞過(guò)是困難的。
基于應(yīng)用程序信息驗(yàn)證一個(gè)包的狀態(tài)的能力, 例如基于一個(gè)已經(jīng)建立的FTP連接,允許返回的FTP包通過(guò)。
基于應(yīng)用程序信息驗(yàn)證一個(gè)包狀態(tài)的能力,例如允許一個(gè)先前認(rèn)證過(guò)的連接繼續(xù)與被授予的服務(wù)通信。
記錄有關(guān)通過(guò)的每個(gè)包的詳細(xì)信息的能力。基本上,防火墻用來(lái)確定包狀態(tài)的所有信息都可以被記錄,包括應(yīng)用程序?qū)Π恼?qǐng)求,連接的持續(xù)時(shí)間,內(nèi)部和外部系統(tǒng)所做的連接請(qǐng)求等。
狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻的缺點(diǎn):
狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻唯一的缺點(diǎn)就是所有這些記錄、測(cè)試和分析工作可能會(huì)造成網(wǎng)絡(luò)連接的某種遲滯,特別是在同時(shí)有許多連接激活的時(shí)候,或者是有大量的過(guò)濾網(wǎng)絡(luò)通信的規(guī)則存在時(shí)??墒?,硬件速度越快,這個(gè)問(wèn)題就越不易察覺(jué),而且防火墻的制造商一直致力于提高他們產(chǎn)品的速度。
3.應(yīng)用程序代理防火墻
使用應(yīng)用程序代理防火墻的優(yōu)點(diǎn)有:
指定對(duì)連接的控制,例如允許或拒絕基于服務(wù)器IP地址的訪問(wèn),或者是允許或拒絕基于用戶所請(qǐng)求連接的IP地址的訪問(wèn)。
通過(guò)限制某些協(xié)議的傳出請(qǐng)求,來(lái)減少網(wǎng)絡(luò)中不必要的服務(wù)。
大多數(shù)代理防火墻能夠記錄所有的連接,包括地址和持續(xù)時(shí)間。這些信息對(duì)追蹤攻擊和發(fā)生的未授權(quán)訪問(wèn)的事件事很有用的。
使用應(yīng)用程序代理防火墻的缺點(diǎn)有:
必須在一定范圍內(nèi)定制用戶的系統(tǒng),這取決于所用的應(yīng)用程序。
一些應(yīng)用程序可能根本不支持代理連接。
4.NAT
使用NAT的優(yōu)點(diǎn)有:
所有內(nèi)部的IP地址對(duì)外面的人來(lái)說(shuō)是隱蔽的。因?yàn)檫@個(gè)原因,網(wǎng)絡(luò)之外沒(méi)有人可以通過(guò)指定IP地址的方式直接對(duì)網(wǎng)絡(luò)內(nèi)的任何一臺(tái)特定的計(jì)算機(jī)發(fā)起攻擊。
如果因?yàn)槟撤N原因公共IP地址資源比較短缺的話,NAT可以使整個(gè)內(nèi)部網(wǎng)絡(luò)共享一個(gè)IP地址。
可以啟用基本的包過(guò)濾防火墻安全機(jī)制,因?yàn)樗袀魅氲陌绻麤](méi)有專門指定配置到NAT,那么就會(huì)被丟棄。內(nèi)部網(wǎng)絡(luò)的計(jì)算機(jī)就不可能直接訪問(wèn)外部網(wǎng)絡(luò)。
使用NAT的缺點(diǎn):
NAT的缺點(diǎn)和包過(guò)濾防火墻的缺點(diǎn)是一樣的。雖然可以保障內(nèi)部網(wǎng)絡(luò)的安全,但它也是一些類似的局限。而且內(nèi)網(wǎng)可以利用現(xiàn)流傳比較廣泛的木馬程序可以通過(guò)NAT做外部連接,就像它可以穿過(guò)包過(guò)濾防火墻一樣的容易。
注意:現(xiàn)在有很多廠商開(kāi)發(fā)的防火墻,特別是狀態(tài)/動(dòng)態(tài)檢測(cè)防火墻,除了它們應(yīng)該具有的功能之外也提供了NAT的功能。
5.個(gè)人防火墻
個(gè)人防火墻的優(yōu)點(diǎn)有:
增加了保護(hù)級(jí)別,不需要額外的硬件資源。
個(gè)人防火墻除了可以抵擋外來(lái)攻擊的同時(shí),還可以抵擋內(nèi)部的攻擊。
個(gè)人防火墻是對(duì)公共網(wǎng)絡(luò)中的單個(gè)系統(tǒng)提供了保護(hù)。例如一個(gè)家庭用戶使用的是Modem或ISDN/ADSL上網(wǎng),可能一個(gè)硬件防火墻對(duì)于他來(lái)說(shuō)實(shí)在是太昂貴了,或者說(shuō)是太麻煩了。而個(gè)人防火墻已經(jīng)能夠?yàn)橛脩綦[蔽暴露在網(wǎng)絡(luò)上的信息,比如IP地址之類的信息等。
個(gè)人防火墻的缺點(diǎn):
個(gè)人防火墻主要的缺點(diǎn)就是對(duì)公共網(wǎng)絡(luò)只有一個(gè)物理接口。要記住,真正的防火墻應(yīng)當(dāng)監(jiān)視并控制兩
個(gè)或更多的網(wǎng)絡(luò)接口之間的通信。這樣一來(lái)的話,個(gè)人防火墻本身可能會(huì)容易受到威脅,或者說(shuō)是具有這樣一個(gè)弱點(diǎn),網(wǎng)絡(luò)通信可以繞過(guò)防火墻的規(guī)則。
好了,在上面我們已經(jīng)介紹了幾類防火墻,并討論了每種防火墻的優(yōu)缺點(diǎn)。要記住,任何一種防火墻只是為網(wǎng)絡(luò)通信或者是數(shù)據(jù)傳輸提供了更有保障的安全性,但是我們也不能完全依賴于防火墻。除了靠防火墻來(lái)保障安全的同時(shí),我們也要加固系統(tǒng)的安全性,提高自身的安全意識(shí)。這樣一來(lái),數(shù)據(jù)和通信以及Web站點(diǎn)就會(huì)更有安全保障。