網路規劃與管理技術第九章 防火牆規劃與管理 上一頁    下一頁

9-4 IP 封包過濾

內容:

9-4-1 封包過濾原則

『封包過濾』(Packet Filtering是防火牆最基本的功能,是最不可或缺的工具。在 Internet 網路上,訊息跨越網路之間傳輸的最基本資料單元為 IP 封包,當 IP 封包經過某一路由器時,路由器將會拆解它,再由封包標頭上的目的位址決定如何轉送(或是否給予轉送)。如果路由器除了判斷目的位址之外,還增加判斷其他訊息(如來源位址或協定型態),再決定是否給予轉送,便成為『封包過濾器』。基本上,由一般路由器改變成為封包過濾器並不困難,所以一般路由器都兼具有封包過濾功能。

(A) 封包過濾路由器

如將封包過濾功能安裝於路由器上,便稱之為『封包過濾路由器』(Packet Filtering Router,它與一般路由器有很大的不同,以下是封包過濾路由器應該注意的事項:

1.    關閉路由功能:封包過濾路由器必須完全關閉路徑選擇的功能,封包是否給予通過完全由過濾訊息判斷。

2.    關閉閒置的埠口:必須完全關閉閒置的傳輸埠口,因為入侵者會隨時去搜尋過濾路由器上有那些傳輸埠口接受服務,並由這些埠口進入系統。

3.    關閉不需要的服務:許多過濾路由器是利用 Unix/Linux Windows 2003 主機來裝置,這些主機系統會預設執行許多應用服務,管理者應該刪除掉與過濾功能無關的應用程式,甚至對於不了解其功能的程式,最好也關閉。

4.    內定值為拒絕:將所有過濾條件的內定值都預設為拒絕,除了經過設定允許的條件才給予通過,這對防火牆而言較為安全。如將內定值預設為允許,要找出不允許通過的條件必定非常繁雜,徒增系統的不安全性。

5.    協定是雙向的:一般通訊協定都是必須經過雙方溝通,即一方送出詢問,另一方收到後便會自動給予回應。因此,在制定過濾原則時,必須弄清楚雙方通訊的內容,有時候不同協定之間的通訊內容可能會互相牴觸。

至於 IP 封包內有那些訊息可以作為過濾判斷的條件,這並沒有一定的規範可循。基本上,若依照封包上的訊息來判斷過濾的條件,就封包被拆解程度,以及封包種類,可區分為:IP 封包過濾、IP/TCP 封包過濾、IP/UDP 封包過濾、以及 IP/ICMP 封包過濾等四種型態,下一節將會說明這些封包過濾的設定原則。

 (B) 服務方向與封包方向

防火牆是介於公眾網路和私有網路(或稱內部網路、受保護的網路)之間,是所有對內/對外通訊的『咽喉點』。封包經過有兩個方向:

l  『進入』(Inbound):當外部網路使用者欲傳送訊息進入內部網路的封包;

l  『外出』(Outbound):由內部使用者送往外部網路的訊息的封包。

防火牆功能就是管制『進入』與『外出』封包的進出,以達到安全防護的目的。但產生這兩種封包有兩種『服務方向』

l  『進入』(In):外部主機向內部伺服器要求服務。可能會產生 Inbound Outbound 封包。

l  『出去』(Out):內部主機向外部伺服器要求服務。也會產生 Inbound Outbound 封包。

由此可見,吾人僅管制 Inbound Outbound 封包並無法完全達到目的,還須注意到外出服務或進入服務所產生的封包,如此一來,防火牆的管制就變成非常複雜。

9-4-2 IP 封包過濾

所謂 IP 封包過濾係路由器(或防禦主機)只拆解到 IP 協定標頭,其中可供過濾判斷的條件如下:(如圖 9-12 所示)

1.    來源位址(Source Address, SA:表示此封包的來源位址,由此位址可以判斷出該封包是來自外部網路或內部網路(受保護的網路)。

2.    目的位址(Destination Address, DA:表示此封包所欲連結的位址。由此位址可以知曉該封包欲前往外部網路或內部網路。

3.    協定(Protocol, Pro:表示此封包所承載的訊息是何種通訊協定,可能是承載 TCPUDPICMP 等協定。

 

9-12 IP 封包過濾訊息

9-4-3 IP/TCP 封包過濾

對一般應用而言,僅利用 IP 封包標頭從事過濾條件是不夠的,若能拆解到上一層協定(如TCPUDP)標頭,了解該封包功能之後,再判斷是否允許通過防火牆,這樣可能比較實際一點。圖 9-13 IP 封包中包裝 TCP 訊息,一般防火牆所採用的判斷訊息如下:

1.    來源位址(SA:由 IP 標頭取得,表示該封包的來源 IP 位址。

2.    目的位址(DA:由 IP 標頭取得,表示該封包的目的 IP 位址。

3.    協定型態(Pro:由 IP 標頭取得,表示該封包所承載的協定,如 TCP 協定。

4.    來源埠口(Source Port, SP:此封包的來源傳輸埠口(TCP Port)。

5.    目的埠口(Destination Port, DP:此封包之目的傳輸埠口(TCP Port)。

6.    位元碼(Code bits:此為 TCP 標頭欄位,包含有 URGACKPSHRSTSYS FIN 等位元控制訊息。至於應該取用那些控制訊息,作為封包過濾的判斷條件,管理者可依照防火牆的安全條件決定,但較常取用的訊息有:

²  ACKAcknowledge:表示回應確認給原發送端。此旗號是判斷條件的關鍵性因素,但它必須配合三向握手式連絡法的運作程序,容後說明。

²  SYNSynchronous):表示通知對方要求連線的控制訊息。

 

9-13 IP/TCP 過濾封包訊息

TCP 協定是屬於連接導向的傳輸方式,通訊雙方必須先建立連線,才可以傳輸資料。因此,如欲限制 TCP 連線是否可通過防火牆的話,只要限制其連線與否即可。也就是說,只要過濾 TCP 建立連線的封包,即可決定是否允許該訊息通過防火牆。

TCP 連線是採用三向握手式連絡法,如圖 9-8 所示。它是利用封包標頭上的兩個旗號:SYNSynchronous,要求連線)與 ACKAcknowledge,確認),達到雙方溝通的目的,其運作程序如下:發起者發送要求連線封包(SYN = 1ACK = 0,訊號 (1)),回應者發送同意連線封包(SYN = 0ACK = 1,訊號 (2)),發起者再確認同意連線(SYN = 0ACK = 1,訊號 (3))。由此可以發現一個重要現象,除了要求連線封包的 ACK 旗號為零外(ACK=0),其它封包的 ACK 旗號都為 1ACK=1),因此只要從 ACK 的內容即可判斷是否為連線要求封包,其中:

²  ACK = 0表示連線要求訊號。

²  ACK = 1表示回應同意連線訊號。

如此一來,再由 ACK 旗號、目的位址、以及來源位址,便可判斷出是外出或進入的連線要求,或是回應連線要求的訊號;如果再增加傳輸埠口號碼,更可以瞭解該連線所欲連接的應用系統(如 Telnet FTP),一般只要利用這些參數來過濾封包,皆可達到防火牆的功能。

 

9-14 TCP 三向握手式連絡法

9-4-4 IP/UDP 封包過濾

UDP 協定是屬於非連接方式,每一個封包都是獨立的,因此,決定 IP/UDP封包是否給予通過的判斷訊息如圖 9-15 所示:

 

9-15 IP/UDP 封包過濾訊息

1.    來源位址(SA:封包的來源位址。

2.    目的位址(DA:封包的目的位址。

3.    協定型態(Protocol, ProUDP 型態。

4.    來源埠口(Source Port, SP:封包的來源 UDP 埠口。

5.    目的埠口(Destination Port, DP:封包的目的 UDP 埠口。

雖然 UDP 封包只有來源和目的埠口可作為過濾條件的判斷,但 UDP 協定並沒有交談式的建立連線(三向握手式連絡法),每一個封包的進出都是獨立的,因此,只要針對封包的目的埠口做過濾判斷即可。

9-4-5 IP/ICMP 封包過濾

攻擊者最喜歡利用 ICMP 封包來探測網路的狀態;相對的,防火牆必須針對ICMP 封包做特殊處理,才可達到隱藏內部網路狀態的目的。一般來講,ICMP 訊息並不一定要通過防火牆,只要由防火牆回應 ICMP 的訊息中,也可以瞭解內部網路的狀態。因此,封包過濾器收到 ICMP 封包後,除了必須判斷是否給予通過之外,還必須考慮是否可以給予回覆 ICMP 訊息。IP/ICMP 封包過濾可供判斷的訊息如下:(如圖 9-16 所示)

 

9-16 IP/ICMP 封包過濾訊息

1.    來源位址(SA:封包的來源位址。

2.    目的位址(DA:封包的目的位址。

3.    協定型態(Protocol, ProICMP 型態。

4.    訊息型態(Message Type, MT:表示此 ICMP 訊息的控制型態,如表 9-1 所示。

5.    編碼(Code:各種訊息型態中的次型態。

9-1 ICMP 訊息型態

Message Type

ICMP 訊息功能

0

Echo Reply(回應答覆)

3

Destination Unreachable(目的地無法到達)

4

Source Quench(來源抑制)

5

Redirect(改變傳輸路徑)

8

Echo Request(回應要求)

9

Router Advertisement(路由器宣傳)

10

Router Solicitation(路由器懇請)

11

Time Exceeded for a Datagram(溢時傳輸)

12

Parameter Problem on a Datagram(參數問題)

13

Timestamp Request(時間標籤要求)

14

Timestamp Reply(時間標籤回覆)

17

Address Mask Request(位址遮罩要求)

18

Address Mask Reply(位址遮罩回覆)

翻轉工作室:粘添壽

 

網路規劃與管理技術:

 

 

翻轉電子書系列: