包過濾防火牆工作原理
1. 防火牆的工作原理是什麼
防火牆的原理是指設置在不同網路(如可信任的企業內部網和不可信的公共網)或網路安全域之間的一系列部件的組合。
它是不同網路或網路安全域之間信息的唯一出入口,通過監測、限制、更改跨越防火牆的數據流,盡可能地對外部屏蔽網路內部的信息、結構和運行狀況,有選擇地接受外部訪問。
對內部強化設備監管、控制對伺服器與外部網路的訪問,在被保護網路和外部網路之間架起一道屏障,以防止發生不可預測的、潛在的破壞性侵入。
防火牆有兩種,硬體防火牆和軟體防火牆,都能起到保護作用並篩選出網路上的攻擊者。
防火牆通常使用的安全控制手段主要有包過濾、狀態檢測、代理服務,包過濾技術是一種簡單、有效的安全控制技術。
它通過在網路間相互連接的設備上載入允許、禁止來自某些特定的源地址、目的地址、TCP埠號等規則,對通過設備的數據包進行檢查,限制數據包進出內部網路。
包過濾的最大優點是對用戶透明,傳輸性能高。
但由於安全控制層次在網路層、傳輸層,安全控制的力度也只限於源地址。
目的地址和埠號,因而只能進行較為初步的安全控制,對於惡意的擁塞攻擊、內存覆蓋攻擊或病毒等高層次的攻擊手段,則無能為力。
(1)包過濾防火牆工作原理擴展閱讀
防火牆基本特性
1、內部網路和外部網路之間的所有網路數據流都必須經過防火牆
這是防火牆所處網路位置特性,同時也是一個前提。
因為只有當防火牆是內、外部網路之間通信的唯一通道,才可以全面、有效地保護企業網內部網路不受侵害。
根據美國國家安全局制定的《信息保障技術框架》,防火牆適用於用戶網路系統的邊界,屬於用戶網路邊界的安全保護設備。
所謂網路邊界即是採用不同安全策略的兩個網路連接處,比如用戶網路和互聯網之間連接、和其它業務往來單位的網路連接、用戶內部網路不同部門之間的連接等。
防火牆的目的就是在網路連接之間建立一個安全控制點,通過允許、拒絕或重新定向經過防火牆的數據流,實現對進、出內部網路的服務和訪問的審計和控制。
所有的內、外部網路之間的通信都要經過防火牆。
2、只有符合安全策略的數據流才能通過防火牆
防火牆最基本的功能是確保網路流量的合法性,並在此前提下將網路的流量快速的從一條鏈路轉發到另外的鏈路上去。
從最早的防火牆模型開始談起,原始的防火牆是一台「雙穴主機」,即具備兩個網路介面,同時擁有兩個網路層地址。
防火牆將網路上的流量通過相應的網路介面接收上來,按照OSI協議棧的七層結構順序上傳。
在適當的協議層進行訪問規則和安全審查,然後將符合通過條件的報文從相應的網路介面送出,而對於那些不符合通過條件的報文則予以阻斷。
因此,從這個角度上來說,防火牆是一個類似於橋接或路由器的、多埠的(網路介面>=2)轉發設備,它跨接於多個分離的物理網段之間,並在報文轉發過程之中完成對報文的審查工作。
2. 簡述包過濾和伺服器兩類防火牆的工作原理
包過濾和伺服器兩類防火牆的工作原理就是,XXOO
3. 包過濾防火牆的工作原理是什麼 代理伺服器防火牆的工作原理是什麼
過濾,過濾關鍵詞之類的
4. 包過濾防火牆的基本過程
下面做個簡單的敘述:
(1)包過濾規則必須被包過濾設備埠存儲起來內。
(2)當包到達埠時,對包報頭容進行語法分析。大多數包過濾設備只檢查IP、TCP、或UDP報頭中的欄位。
(3)包過濾規則以特殊的方式存儲。應用於包的規則的順序與包過濾器規則存儲順序必須相同。
(4)若一條規則阻止包傳輸或接收,則此包便不被允許。
(5)若一條規則允許包傳輸或接收,則此包便可以被繼續處理。
(6)若包不滿足任何一條規則,則此包便被阻塞。
5. 包過濾的基本特點和工作原理是什麼
包過濾
防火牆的一類。傳統的包過濾功能在路由器上常可看到,而專門的回防火牆系統一般在答此之上加了功能的擴展,如狀態檢測等。它通過檢查單個包的地址,協議,埠等信息來決定是否允許此數據包通過。
包過濾防火牆是最簡單的一種防火牆,它在網路層截獲網路數據包,根據防火牆的規則表,來檢測攻擊行為。包過濾防火牆一般作用在網路層(IP層),故也稱網路層防火牆(Network Lev Firewall)或IP過濾器(IP filters)。數據包過濾(Packet Filtering)是指在網路層對數據包進行分析、選擇。通過檢查數據流中每一個數據包的源IP地址、目的IP地址、源埠號、目的埠號、協議類型等因素或它們的組合來確定是否允許該數據包通過。在網路層提供較低級別的安全防護和控制。
6. 基於包過濾防火牆的原理和實現技術是怎樣的
推薦看一看 朱雁冰 寫的《Windows防火牆與網路封包截獲技術》,上面介紹了三種分別基於用戶態和核心態下的防火牆編譯,雖然他提到的三種技術現在看來都有不足,但是是一本講解詳細的好書~~~!!
防火牆就是一種過濾塞(目前你這么理解不算錯),你可以讓你喜歡的東西通過這個塞子,別的玩意都統統過濾掉。在網路的世界裡,要由防火牆過濾的就是承載通信數據的通信包。
天下的防火牆至少都會說兩個詞:Yes或者No。直接說就是接受或者拒絕。最簡單的防火牆是乙太網橋。但幾乎沒有人會認為這種原始防火牆能管多大用。大多數防火牆採用的技術和標准可謂五花八門。這些防火牆的形式多種多樣:有的取代系統上已經裝備的TCP/IP協議棧;有的在已有的協議棧上建立自己的軟體模塊;有的乾脆就是獨立的一套操作系統。還有一些應用型的防火牆只對特定類型的網路連接提供保護(比如SMTP或者HTTP協議等)。還有一些基於硬體的防火牆產品其實應該歸入安全路由器一類。以上的產品都可以叫做防火牆,因為他們的工作方式都是一樣的:分析出入防火牆的數據包,決定放行還是把他們扔到一邊。
所有的防火牆都具有IP地址過濾功能。這項任務要檢查IP包頭,根據其IP源地址和目標地址作出放行/丟棄決定。看看下面這張圖,兩個網段之間隔了一個防火牆,防火牆的一端有台UNIX計算機,另一邊的網段則擺了台PC客戶機。
當PC客戶機向UNIX計算機發起telnet請求時,PC的telnet客戶程序就產生一個TCP包並把它傳給本地的協議棧准備發送。接下來,協議棧將這個TCP包「塞」到一個IP包里,然後通過PC機的TCP/IP棧所定義的路徑將它發送給UNIX計算機。在這個例子里,這個IP包必須經過橫在PC和UNIX計算機中的防火牆才能到達UNIX計算機。
現在我們「命令」(用專業術語來說就是配製)防火牆把所有發給UNIX計算機的數據包都給拒了,完成這項工作以後,「心腸」比較好的防火牆還會通知客戶程序一聲呢!既然發向目標的IP數據沒法轉發,那麼只有和UNIX計算機同在一個網段的用戶才能訪問UNIX計算機了。
還有一種情況,你可以命令防火牆專給那台可憐的PC機找茬,別人的數據包都讓過就它不行。這正是防火牆最基本的功能:根據IP地址做轉發判斷。但要上了大場面這種小伎倆就玩不轉了,由於黑客們可以採用IP地址欺騙技術,偽裝成合法地址的計算機就可以穿越信任這個地址的防火牆了。不過根據地址的轉發決策機制還是最基本和必需的。另外要注意的一點是,不要用DNS主機名建立過濾表,對DNS的偽造比IP地址欺騙要容易多了。
伺服器TCP/UDP 埠過濾
僅僅依靠地址進行數據過濾在實際運用中是不可行的,還有個原因就是目標主機上往往運行著多種通信服務,比方說,我們不想讓用戶採用 telnet的方式連到系統,但這絕不等於我們非得同時禁止他們使用SMTP/POP郵件伺服器吧?所以說,在地址之外我們還要對伺服器的TCP/ UDP埠進行過濾。
比如,默認的telnet服務連接埠號是23。假如我們不許PC客戶機建立對UNIX計算機(在這時我們當它是伺服器)的telnet連接,那麼我們只需命令防火牆檢查發送目標是UNIX伺服器的數據包,把其中具有23目標埠號的包過濾就行了。這樣,我們把IP地址和目標伺服器TCP/UDP埠結合起來不就可以作為過濾標准來實現相當可靠的防火牆了嗎?不,沒這么簡單。
客戶機也有TCP/UDP埠
TCP/IP是一種端對端協議,每個網路節點都具有唯一的地址。網路節點的應用層也是這樣,處於應用層的每個應用程序和服務都具有自己的對應「地址」,也就是埠號。地址和埠都具備了才能建立客戶機和伺服器的各種應用之間的有效通信聯系。比如,telnet伺服器在埠23偵聽入站連接。同時telnet客戶機也有一個埠號,否則客戶機的IP棧怎麼知道某個數據包是屬於哪個應用程序的呢?
由於歷史的原因,幾乎所有的TCP/IP客戶程序都使用大於1023的隨機分配埠號。只有UNIX計算機上的root用戶才可以訪問1024以下的埠,而這些埠還保留為伺服器上的服務所用。所以,除非我們讓所有具有大於1023埠號的數據包進入網路,否則各種網路連接都沒法正常工作。
這對防火牆而言可就麻煩了,如果阻塞入站的全部埠,那麼所有的客戶機都沒法使用網路資源。因為伺服器發出響應外部連接請求的入站(就是進入防火牆的意思)數據包都沒法經過防火牆的入站過濾。反過來,打開所有高於1023的埠就可行了嗎?也不盡然。由於很多服務使用的埠都大於1023,比如X client、基於RPC的NFS服務以及為數眾多的非UNIX IP產品等(NetWare/IP)就是這樣的。那麼讓達到1023埠標準的數據包都進入網路的話網路還能說是安全的嗎?連這些客戶程序都不敢說自己是足夠安全的。
雙向過濾
OK,咱們換個思路。我們給防火牆這樣下命令:已知服務的數據包可以進來,其他的全部擋在防火牆之外。比如,如果你知道用戶要訪問Web伺服器,那就只讓具有源埠號80的數據包進入網路:
不過新問題又出現了。首先,你怎麼知道你要訪問的伺服器具有哪些正在運行的埠號呢? 象HTTP這樣的伺服器本來就是可以任意配置的,所採用的埠也可以隨意配置。如果你這樣設置防火牆,你就沒法訪問哪些沒採用標准埠號的的網路站點了!反過來,你也沒法保證進入網路的數據包中具有埠號80的就一定來自Web伺服器。有些黑客就是利用這一點製作自己的入侵工具,並讓其運行在本機的80埠!
檢查ACK位
源地址我們不相信,源埠也信不得了,這個不得不與黑客共舞的瘋狂世界上還有什麼值得我們信任呢?還好,事情還沒到走投無路的地步。對策還是有的,不過這個辦法只能用於TCP協議。
TCP是一種可靠的通信協議,「可靠」這個詞意味著協議具有包括糾錯機制在內的一些特殊性質。為了實現其可靠性,每個TCP連接都要先經過一個「握手」過程來交換連接參數。還有,每個發送出去的包在後續的其他包被發送出去之前必須獲得一個確認響應。但並不是對每個TCP包都非要採用專門的ACK包來響應,實際上僅僅在TCP包頭上設置一個專門的位就可以完成這個功能了。所以,只要產生了響應包就要設置ACK位。連接會話的第一個包不用於確認,所以它就沒有設置ACK位,後續會話交換的TCP包就要設置ACK位了。
舉個例子,PC向遠端的Web伺服器發起一個連接,它生成一個沒有設置ACK位的連接請求包。當伺服器響應該請求時,伺服器就發回一個設置了ACK位的數據包,同時在包里標記從客戶機所收到的位元組數。然後客戶機就用自己的響應包再響應該數據包,這個數據包也設置了ACK位並標記了從伺服器收到的位元組數。通過監視ACK位,我們就可以將進入網路的數據限制在響應包的范圍之內。於是,遠程系統根本無法發起TCP連接但卻能響應收到的數據包了。
這套機制還不能算是無懈可擊,簡單地舉個例子,假設我們有台內部Web伺服器,那麼埠80就不得不被打開以便外部請求可以進入網路。還有,對UDP包而言就沒法監視ACK位了,因為UDP包壓根就沒有ACK位。還有一些TCP應用程序,比如FTP,連接就必須由這些伺服器程序自己發起。
FTP帶來的困難
一般的Internet服務對所有的通信都只使用一對埠號,FTP程序在連接期間則使用兩對埠號。第一對埠號用於FTP的「命令通道」提供登錄和執行命令的通信鏈路,而另一對埠號則用於FTP的「數據通道」提供客戶機和伺服器之間的文件傳送。
在通常的FTP會話過程中,客戶機首先向伺服器的埠21(命令通道)發送一個TCP連接請求,然後執行LOGIN、DIR等各種命令。一旦用戶請求伺服器發送數據,FTP伺服器就用其20埠 (數據通道)向客戶的數據埠發起連接。問題來了,如果伺服器向客戶機發起傳送數據的連接,那麼它就會發送沒有設置ACK位的數據包,防火牆則按照剛才的規則拒絕該數據包同時也就意味著數據傳送沒戲了。通常只有高級的、也就是夠聰明的防火牆才能看出客戶機剛才告訴伺服器的埠,然後才許可對該埠的入站連接。
UDP埠過濾
好了,現在我們回過頭來看看怎麼解決UDP問題。剛才說了,UDP包沒有ACK位所以不能進行ACK位過濾。UDP 是發出去不管的「不可靠」通信,這種類型的服務通常用於廣播、路由、多媒體等廣播形式的通信任務。NFS、DNS、WINS、NetBIOS-over-TCP/IP和 NetWare/IP都使用UDP。
看來最簡單的可行辦法就是不允許建立入站UDP連接。防火牆設置為只許轉發來自內部介面的UDP包,來自外部介面的UDP包則不轉發。現在的問題是,比方說,DNS名稱解析請求就使用UDP,如果你提供DNS服務,至少得允許一些內部請求穿越防火牆。還有IRC這樣的客戶程序也使用UDP,如果要讓你的用戶使用它,就同樣要讓他們的UDP包進入網路。我們能做的就是對那些從本地到可信任站點之間的連接進行限制。但是,什麼叫可信任!如果黑客採取地址欺騙的方法不又回到老路上去了嗎?
有些新型路由器可以通過「記憶」出站UDP包來解決這個問題:如果入站UDP包匹配最近出站UDP包的目標地址和埠號就讓它進來。如果在內存中找不到匹配的UDP包就只好拒絕它了!但是,我們如何確信產生數據包的外部主機就是內部客戶機希望通信的伺服器呢?如果黑客詐稱DNS伺服器的地址,那麼他在理論上當然可以從附著DNS的UDP埠發起攻擊。只要你允許DNS查詢和反饋包進入網路這個問題就必然存在。辦法是採用代理伺服器。
所謂代理伺服器,顧名思義就是代表你的網路和外界打交道的伺服器。代理伺服器不允許存在任何網路內外的直接連接。它本身就提供公共和專用的DNS、郵件伺服器等多種功能。代理伺服器重寫數據包而不是簡單地將其轉發了事。給人的感覺就是網路內部的主機都站在了網路的邊緣,但實際上他們都躲在代理的後面,露面的不過是代理這個假面具。
小結
IP地址可能是假的,這是由於IP協議的源路有機制所帶來的,這種機制告訴路由器不要為數據包採用正常的路徑,而是按照包頭內的路徑傳送數據包。於是黑客就可以使用系統的IP地址獲得返回的數據包。有些高級防火牆可以讓用戶禁止源路由。通常我們的網路都通過一條路徑連接ISP,然後再進入Internet。這時禁用源路由就會迫使數據包必須沿著正常的路徑返回。
還有,我們需要了解防火牆在拒絕數據包的時候還做了哪些其他工作。比如,防火牆是否向連接發起系統發回了「主機不可到達」的ICMP消息?或者防火牆真沒再做其他事?這些問題都可能存在安全隱患。ICMP「主機不可達」消息會告訴黑客「防火牆專門阻塞了某些埠」,黑客立即就可以從這個消息中聞到一點什麼氣味。如果ICMP「主機不可達」是通信中發生的錯誤,那麼老實的系統可能就真的什麼也不發送了。反過來,什麼響應都沒有卻會使發起通信的系統不斷地嘗試建立連接直到應用程序或者協議棧超時,結果最終用戶只能得到一個錯誤信息。當然這種方式會讓黑客無法判斷某埠到底是關閉了還是沒有使用。
7. 包過濾防火牆的基本原理分析屏蔽主機防火牆,屏蔽子網防火牆,多宿主主機防火牆的特點以及之間的區別
同學,你是湖南大學的吧,選修了計算機網路安全吧。。。其實。。。你去看老師的PPT,備注裡面基本都有的,都不用你上網去找了。
8. 簡述包過濾路由器防火牆的基本工作原理。
包過濾路由器防抄火牆是將過濾器安裝在襲路由器上或包過濾軟體安裝在PC機上的防火牆。它工作在網路層(IP),並對每個進入的IP分組使用一個規則集合。包過濾規則是基於所收到的數據包的源地址、目的地址、TCP/UDP、源埠號及目的埠號、分組出入介面、協議類型和數據包中的各種標志位等參數,與管理者預定的訪問控製表(擬定一個提供接收和服務對象的清單,一個不接受訪問或服務對象的清單)進行比較,按所定安全政策允許或拒絕訪問,決定數據是否符合預先制定的安全策略,決定數據分組的轉發或丟棄,即實施信息過濾。
9. 簡述包過濾防火牆的工作原理
包過濾防火牆是最簡單的一種防火牆,它在網路層截獲網路數據包,根據防火牆的版規則表,來檢測攻擊行為。權包過濾防火牆一般作用在網路層(IP層),故也稱網路層防火牆(Network Lev Firewall)或IP過濾器(IP filters)。數據包過濾(Packet Filtering)是指在網路層對數據包進行分析、選擇。通過檢查數據流中每一個數據包的源IP地址、目的IP地址、源埠號、目的埠號、協議類型等因素或它們的組合來確定是否允許該數據包通過。在網路層提供較低級別的安全防護和控制。
10. 包過濾防火牆的工作原理
防火牆只是能夠使包往哪個埠走,就像一間房子的作用。。。他子開放幾個通道,不會對包內容(比如是否有病毒)進行檢查的。。。。除非你用超好的