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