精 彩 推 介
Windows 2000 Server 路由及遠端存取服務的 IP 封包篩選器應用

 

隨著網路的普及與上網費用的大幅降低,現今企業及機構大量運用 Internet 及區域網路以達成資訊快速流通與提高整體生產力的目的。而 Microsoft Windows 2000 Server 系列產品,適時的提供企業方便而有效的建立 InternetIntranet Extranet 等各種規模的網路服務,更大大的降低企業資訊網路建置與維護成本。

  然而,企業在應用網路便利性的同時,應重視網路資源的適當使用與資訊安全的問題。Windows 2000 Server 系列產品在網路流量管制提供 IP 封包篩選器(IP Packet Filtering) QoS 等功能可供利用,而對網路資訊與資源的安全管制除了使用者身份驗證、共用資源存取控制、檔案加密與存取控制及各種稽核外,並提供 IP 封包篩選器、IP Security 與虛擬私有網路(VPN) 來對 IP 封包驗證及加密所傳輸的資料。我們就對如何使用 Windows 2000 Server 路由及遠端存取服務的 IP 封包篩選器來管制 IP 網路封包的進出,並降低重要資料與共用資源被駭客與網路蠕蟲危害的程度,提供您參考。

IP 封包篩選器的功能

  無論您使用 Windows 2000 Server 做為 IP 網路路由器或遠端存取伺服器,您都可以使用 IP 封包篩選器功能,針對每一個 IP 界面獨立指定特定的篩選條件。當然,您也可以配合網路位址轉譯(NAT)與指定撥號路由(DDR)的功能來使用它。在您每一個 IP 網路界面上的輸入篩選器與輸出篩選器的預設規則為接收(或傳輸)所有的封包。您可以重新設定篩選的規則為接收(或傳輸)所有的封包,除非它符合您所特別指定的條件才丟棄它;或是變更篩選規則為丟棄所有的封包,除非它符合您所特別指定的條件才接收(或傳輸)它。而您可以指定的篩選條件包括來源網路、目的地網路、通訊協定、來源連接埠與目的連接埠。

  例如,我們可以設定 RRAS Server 界面 A 的輸入篩選為接收除了 ICMP 協定以外的所有的封包,來禁止由界面 A 所連接的 IP 網路將 ICMP 封包傳輸給界面 B 與界面 C 所連接的 IP 網路;並設定界面 B 的輸出篩選為傳輸除了 SNMP 協定以外的所有的封包,來禁止界面 B 所連接的 IP 網路接收到由界面 A 或界面 C 連接的 IP 網路所傳來的 SNMP 封包。

1. IP 封包篩選應用範例

IP 封包傳輸

 在每一個 IP 封包中,皆有 IP Header 標示著這個封包透過 IP 網路傳送到目的地電腦(或設備)所需要的資訊,其中含有來源端的 IP Address、目的地的 IP Address、上層協定的編號與 TTL 等。在 IP 協定上層有 TCP UDP 等協定,而 TCP UDP 協定皆有 Port Number 用以與應用層的各種協定及服務連接,而 IP 網路上常用的應用服務大多採用 Client/Server 架構,在同一部電腦可能同時安裝 Client Server 軟體,並且或許會同時開啟多個同種類的 Client 與不同部電腦上的 Server 服務通訊。例如:在同一部 Windows 2000 Professional 工作站上同時開啟 2 Internet Explorer,其中一個連接 Microsoft Web Server ,而另一個連接 Intranet Web Server。所以,通常 Client Server 所使用的 Port 並不相同。在 Internet 上給公眾所使用的 Server 服務,它們的 Port Number 通常是固定的,並且使用 1024 以前的號碼;而 Client 通常使用 1024 以後的 Port Number,並且是動態決定的。

  讓我們以使用 Internet Explorer 瀏覽 Web 網頁為例,來檢視封包傳輸與 Packet Filtering 的運作。依圖 2 所示,我們有一部 Windows 2000 Professional 工作站(Client)IP 192.168.42.71,使用者在這部工作站上使用 Internet Explorer 瀏覽 192.168.143.234 Web Server。此時,Client Server 送出的 HTTP Request 封包中的 IP Header 中標示著來源 IP 192.168.42.71、目的地為 192.168.143.234TCP Header 標示著來源 Port 1057(動態取得,並非固定)、目的地 Port 80,當這個封包經由 IP 網路轉送至 RRAS Server 的界面 A 時,我們為界面 A 所設定的封包篩選條件的輸入篩選即運作,若符合所設定的規則 RRAS 就接收這個封包,並經 IP 路由機制決定由界面 B 傳出(若規則不符,則丟棄),在由界面 B 傳出之前,我們為界面 B 所設定的封包篩選條件的輸出篩選即運作,若符合所設定的規則 RRAS 就將這個封包透過界面 B 192.168.143.0 網段傳輸(若規則不符,則丟棄)。當 192.168.143.234 Web Server 接收到 Client 所傳來的瀏覽要求後,Web Server 送出 HTTP Response 封包,該封包的 IP Header 中標示著來源 IP 192.168.143.234、目的地為 192.168.42.71TCP Header 標示著來源 Port 80、目的地 Port 1057( Client Port Number),當這個封包經由 IP 網路轉送至 RRAS Server 的界面 B 時,我們為界面 B 所設定的封包篩選條件的輸入篩選即運作,若符合所設定的規則 RRAS 就接收這個封包,並經 IP 路由機制決定由界面 A 傳出(若規則不符,則丟棄),在由界面 A 傳出之前,我們為界面 A 所設定的封包篩選條件的輸出篩選即運作,若符合所設定的規則 RRAS 就將這個封包透過界面 A 192.168.42.0 網段傳輸(若規則不符,則丟棄)

2. IP 封包傳輸

開啟您所選擇的網路界面後,您可以看到 [輸入篩選器] [輸入篩選器] 的設定按鈕(如圖 4)。點選篩選器按鈕後,您即可看到該界面的輸出或輸入篩選規則。

4. 篩選器

禁止不必要的存取以控制網路的流量

   如果貴公司希望禁止員工使用 FTP 直接由 Internet 下載大量非必要的檔案,您可以對連接公司區域網路的界面設定輸入篩選,並對連接 Internet 的界面也設定對應的輸入篩選:

1. 開啟「連接公司區域網路的界面」。
2.
點選 [輸入篩選器]
3.
點選 [新增],將 [通訊協定] 指定為 [TCP],並在目的連接埠輸入 21 後按 [確定](如圖 5)
4.
再次點選 [新增],將 [通訊協定] 指定為 [TCP],並在目的連接埠輸入 20 後按 [確定]


5. 篩選 FTP 封包

6. 開啟「連接 Internet 網路的界面」。

6. 接收所有非 FTP 的封包

6. 開啟「連接 Internet 網路的界面」。
7.
點選 [輸入篩選器]
8.
點選 [新增],將 [通訊協定] 指定為 [TCP],並在來源連接埠輸入 21 後按 [確定]
9.
再次點選 [新增],將 [通訊協定] 指定為 [TCP],並在來源連接埠輸入 20 後按 [確定]
10.
確定規則為 [接收所有封包(除了那些符合下列條件的封包以外)] 後,按 [確定]

   說明:

1. FTP 使用 TCP/21 傳送命令並使用 TCP/20 傳送資料。
2. [
步驟 6] [步驟 10] 若沒有設定,公司內部同仁仍無法存取 Internet FTP Server,這是因為使用 FTP 時封包需傳出並傳入,封包傳不出去當然就存取不到。
3.
依照上述的設定,若[步驟 6] [步驟 10] 沒有設定,您的 RRAS Server 仍可以存取 Internet FTP Server,因為在 RRAS Server 上使用 FTP 時,封包並未由連接公司區域網路的界面傳入,所以該界面的輸入篩選器規則並沒有使用,若要讓 RRAS Server 也無法存取 Internet FTP Server 則可改由對 RRAS 「連接 Internet 網路的界面」設定[輸出篩選器]即可(設定方法同 [步驟 3] [步驟 5])

假設貴公司內部有 203.66.136.0 這一個 IP 子網路,希望禁止 IP Address 203.66.136.16 203.66.136.31 這個範圍的電腦直接存取 Internet 的資源, 您可以參考上述的步驟,而將 [連接公司區域網路界面] [輸入篩選器] 條件設為:勾選 [來源網路] 並指定 IP 位址為 203.66.136.16 子網路遮罩為 255.255.255.240 即可(如圖 7)
 

7. 禁止 一段 IP Address 的電腦存取 Internet

使用 Packet Filtering 來降低駭客與網路蠕蟲的威脅

  降低來自網路的威脅應管制封包的進出,只允許絕對必要的協定及電腦透過您的 RRAS Server 進行溝通。所以,您應該先查出您網路中有哪些電腦的哪些服務需要讓 Internet 大眾存取,以及您企業內的使用者需要使用 Internet 的哪些服務。表 1 列出企業常用的協定編號與 Port Number,您可再參考相關的 RFC 文件得到更詳細的資料。請特別注意,如果您已設定好您的篩選器讓企業內同仁能夠使用 Client 軟體存取 Internet Server,並不代表 Internet Client 可以存取您企業內的 Server!因為 Client Server Port Number 通常不相同,且封包傳輸的方向也不同。我們曾經遇到少數的客戶在啟用篩選器後,造成 Mail Server( RRAS 後端,DMZ) 只能對 Internet 發信或只能收信的狀況。

1. 常用的網路服務所使用的協定與 Port

服務

連接埠 / 通訊協定

DNS

53/tcp53/udp

SMTP

25/tcp

POP3

110/tcp

NNTP

119/tcp

FTP

21/tcp,20/tcp

Telnet

23/tcp

Gopher

70/tcp

HTTP

80/tcp

HTTPS

443/tcp

PPTP 的建立

1723/tcp

GRE,一般路由壓縮 (使用 PPTP)

IP 通訊協定 47

Kerberos

88/tcp88/udp

IKE, Internet Key Exchange

500/udp

IPSec ESP,壓縮式的安全性有效負荷

IP 通訊協定 50

IPSec AH,驗證標頭

IP 通訊協定 51

RPC 終點對應程式

135/tcp135/udp

網路基本輸入 / 輸出系統 (NetBIOS) 名稱服務

137/tcp137/udp

NetBIOS 資料流服務

138/udp

NetBIOS 工作階段服務

139/tcp

RPC 動態指派

1024-65535/tcp

透過 IP 的伺服器訊息區 (SMB) (Microsoft-DS)

445/tcp445/udp

輕型目錄存取通訊協定 (LDAP)

389/tcp

SSL 上的 LDAP

636/tcp

通用類別目錄 LDAP

3268/tcp

SSL 上的通用類別目錄 LDAP

3269/tcp

Windows 網際網路名稱服務 (WINS) 解析

1512/tcp1512/udp

WINS 複寫

42/tcp42/udp

Terminal Service

3389/tcp

MSN Messenger Service (instant messaging)

1863/tcp

設定 Internet 用戶可以存取在 RRAS Server 後端(DMZ)的網路服務

    在這類的應用狀況下,Internet Client(動態連接埠) 將封包送往位於您 RRAS 後端的 Server(固定連接埠),並由您的 Server 將回應資料傳給 Internet Client。因此,我們必需在「連接 Internet 網路的界面」的輸出篩選器中允許[來源連接埠]為「您允許被 Internet 存取的 Service 所用的連接埠」、目的連接埠為[任一]的封包傳輸,而輸入篩選器中允許接收[來源連接埠][任一]、目的連接埠為「您允許被 Internet 存取的 Service 所用的連接埠」的封包。且對「連接 Internet 網路的界面」設定[輸入篩選器],並調整規則為 [丟棄所有封包(除了那些符合下列條件的封包以外)];同時將[輸出篩選器]規則也調整為 [丟棄所有封包(除了那些符合下列條件的封包以外)] ,來禁止所有未被允許的封包傳輸。

   
我們舉 SMTP 協定為範例進行設定:

1. 在「連接 Internet 網路界面」的 [輸出篩選器] 新增 IP 篩選器,通訊協定為 TCP [來源連接埠] 25,目的連接埠保持空白 (即任一)
2.
在「連接 Internet 網路界面」的 [輸入篩選器] 新增 IP 篩選器,通訊協定為 TCP [目的連接埠] 25,來源連接埠保持空白(即任一)

   對於要讓 PPTP 協定的 VPN 通過 RRAS IP 封包篩選,除了要設定 TCP Port 1723 外,尚需設定允許通訊協定編號 47 通過,請在[通訊協定]選擇[其他]並在 [通訊協定編號] 輸入 47(如圖 10)

10. 允許 PPTP 協定通過 RRAS

設定企業內用戶可以存取 Internet 的網路服務

 在這類的應用狀況下,企業內電腦的 Client (動態連接埠)將封包送往 Internet Server(固定連接埠,見表 1),並由 Internet Server 將回應資料傳回企業內的電腦。因此,我們必需在「連接 Internet 網路的界面」的輸出篩選器中允許[來源連接埠][任一]、目的連接埠為「所允許存取的 Internet Service 所用的連接埠」的封包傳輸,而輸入篩選器中允許接收[來源連接埠]為「所允許存取的 Internet Service 所用的連接埠」、目的連接埠為[任一]的封包。我們可對「連接 Internet 網路的界面」設定[輸入篩選器],並調整規則為 [丟棄所有封包(除了那些符合下列條件的封包以外)];且將[輸出篩選器]規則也調整為 [丟棄所有封包(除了那些符合下列條件的封包以外)] ,來禁止所有未被允許的封包傳輸。通常需要設定的篩選器之篩選條件包括:DNS(53/udp)HTTP(80/tcp)HTTPS(443/tcp)SMTP(25/tcp) 服務等(如圖 8)

  開啟您所選擇的網路界面後,您可以看到 [輸入篩選器] [輸入篩選器] 的設定按鈕(如圖 4)。點選篩選器按鈕後,您即可看到該界面的輸出或輸入篩選規則。

8. 設定企業內用戶可以存取 Internet 的網路服務(連接 Internet 網路界面)

我們舉 HTTP 協定為範例進行設定:

1. 在「連接 Internet 網路界面」的 [輸出篩選器] 新增