資訊與網路安全技術 第 十章 防火牆  上一頁      下一頁

 

10-4 封包過濾器

內容:

  • 10-4-1 封包過濾器的種類

  • 10-4-2 封包過濾器的設定規則

10-4-1 封包過濾器的種類

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

再說,Internet 網路上各種通訊協定(如 TCPUDPICMP),都是利用 IP 封包傳輸,因此,只要針對 IP 封包來過濾,便能達到防火牆的功能。但封包過濾並不只拆解到 IP 封包標頭,隨著防火牆的安全考量,或許會拆解到上一層的協定封包,所以有所謂 IP/TCPIP/UDP、以及 IP/ICMP 等封包過濾功能。但無論封包拆解到何種程度,都是由該協定標頭上的訊息決定是否給予過濾。

但話說回來,限制何種封包可以進出防火牆,看似非常容易,其實這些規則設定時可說是漏洞百出,而且有些漏洞不易被發現,於是便成為被攻擊的目標,這對網路管理者而言不失為一大挑戰。

10-4-2 封包過濾器的設定規則

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

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

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

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

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

  • 進入(Inbound)和出去(Outbound)的方向性:既然通訊協定是雙向的,對於訊號的外出或進入,設定過濾規則時不可搞混,否則將失去過濾的功能。

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

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

封包過濾器必須依照安全措施,設定某些過濾規則。然而在建立規則時必須考慮到該通訊協定(如 IPTCP)的運作方式,如此說來,設定過濾規則恐非易事,一般可依照下列步驟設定:

  • 步驟 1關閉所有封包過濾,一般封包過濾器的內定值都是『拒絕』轉送的,所以未經開放的封包是無法通過的。

  • 步驟 2選擇欲開放的應用協定,如 TelnetFTPPing 等等。

  • 步驟 3選擇拆解封包標頭的訊息,如 IPIP/TCPIP/ICMPIP/UDP 等等

  • 步驟 4列出該應用協定運作時可能產生的訊息,並製作一個『封包訊息表』。

  • 步驟 5由上述表格中尋找可供開放的規則,並建立『過濾規則表』。

  • 步驟 6將上述規則設定於封包過濾器上,一般封包過濾器都有提供輸入命令(如 iptable)或圖形介面(如 ISA Server),讓管理者輸入過濾規則。

並非所有應用都需要依照這些規則來設定,可視管理者自己如何變通。

主講人:粘添壽博士

 

資訊與網路安全技術