ZyXEL 642R 的 Packet Filter 設置與管理



贊助商連結


boobee2
2001-05-22, 03:37 PM
大家好,

自從裝了ADSL後, 在這討論區上受益匪淺, 因此我寫了篇文章作為回饋, 提一些 642R 比較冷門的功能,包括了 syslog, SUA, filter, 以及簡易防火牆的設置, 全文在 http://www.boobee.idv.tw/pub/zyxel/zyxel_syslog.htm, 歡迎大家一起研究討論.

---
ZyXEL 642R 的 Packet Filter 設置與管理
Last Updated: May 22, 2001 3:16 PM

簡介

642R 這台ADSL Router 功能相當多, 本文將說明其 Packet Filter 的設定方式, Syslog 的接收, 以及如何使用 SUA 完成簡易防火牆.

開啟 642R 的 Packet Filter

Filter 有兩個常見的用處, 一是可以監視網路 (配合Syslog) , 二是設立簡單的防火牆. 開啟 Filter 並不難,只是如何設置有效的 Filter Rule 來抵擋入侵, 又不損害上網的方便就需要好好設計一下了.

ZyXEL中一共可以設立 12 組 Filter Set, 每一組包含了 6個 Filter Rule. 設定完成後, 還要把 Filter Set 套用到介面上, 可用的介面包括了 WAN(ADSL) 或 LAN(區域網路)等等, 在本文中, 我們一律把 Filter Set 套用在 WAN 的 Input 端, 為 Protocol Filter.

設定 Filter Set
設定 Filter Rules
套用 Filter Set

開啟 642R 的 syslog

開啟syslog

syslog 是 UNIX 內建的 log 機制, 功能類似於 Windows 的事件檢視器, 642R 會將不少重要的 log 以 syslog 的方式送出來, 我們只要指定接收者的 ip address 就可以了, 如下圖:

接收syslog

執行 UNIX 的電腦可以直接接收 syslog. 但如果是跑 Windows 的電腦, 就要再安裝了, 網路上有幾套 syslog 軟體可以下載, 我個人是用 WinSyslog, 裝起來後再設定一下就可把 syslog 收起來放到事件檢視器中. 另外也可以用 WinSyslog Client , 即時的看到 642R 送出來的紀錄.

開啟 642R 的 SUA 功能

SUA 的原理
SUA (Single User Account) 是一種 NAT (Network Address Translation), Menu 4 中可以將功能打開. 注意開啟 SUA 後, 內部區域網路的 IP, Netmask, Gateway 都要改成 private ip (比如說192.168.10.X). 此外, 也可以開啟DHCP Server, 簡化一台台電腦設定 private ip 的功夫.

SUA 的設定
SUA會自動處理往 Internet 的連線, 因此只要在開 Server , 要讓別人連進來時, 會需要進一步設定.

1. 把 Default 設成 0.0.0.0

2. 把你要開站的 Port 設好, 比如說 FTP (21) 設到你的電腦(192.168.10.5)上

3. 注意 111 113 137 138 139 等 Port 最好不要開, 否則很容易成為駭者 "選定目標" 的對象

基本上 SUA (NAT) 本身就是一種相當好用的防火牆機制, 可以擋掉大部分的入侵攻擊, 但是要注意, 盡量不要把 SUA 的 Default 指到某一機器, 否則就失去了 SUA (NAT) 的安全性了.

讓 642R 具備簡單的防火牆功能

禁止從Internet連到 642R

642R 本身有跑一些服務, 可供入侵者來攻擊 642R, 比如說 SNMP 可提供你的網路組態, FTP 可以更新 rom image:

使用 CI 命令(MENU 24-8)下達 ip udp status

UDP Port 說明
53 DNS proxy
67 dhcp server
68 dhcp client
69 tftp
161 snmp
263 ?
520 ?

使用 CI 命令(MENU 24-8)下達 ip tcp status

TCP Port 說明
23 telnet
21 ftp

由於筆者本身使用ADSL固定制, 不需要 642R 的 dhcp client 功能, 也有架設 DNS server, 不需要 642R 的 DNS proxy, 因此我把上面所有 Port 都關掉, 防止Internet上任何人連到 642R任何 Port.

設置 Filter Set

以下是筆者的 Filter Rules, 因為每個人環境不同, 所以 Filter Rules 很難共用, 但其精神可供大家參考:

Filter Rule1 : 檔掉所有連到 642R 的封包, 除了 ICMP 之外

這規則是專門讓 ICMP 封包通過的, 因為筆者習慣讓人 ping 的到機器, 比較有安全感 ^_^ 只不過不曉得會不會遭到 ICMP DoS 攻擊 ~~

Filter Rule2 : 只允許封包送到內部網路的網段上

由於 WAN Input 的 Filter 是在 SUA 後才進行的, 因此, 我們可以假定封包的目的地應該在內部網路的網段上, 所以經過 SUA 後目的地還無法轉成內部 IP 的封包一律丟棄, 我們可以分成三種狀況來看:

1. 該封包是某個連往 Internet 連線的回傳封包, 因為在 SUA table 已經有記載了, 所以 SUA 會封包目的地轉回內部 IP, 可以過關!

2. 該封包是某個連往 Server Port 的封包, 由於我們已經在 SUA table 手動設定過目的地, 所以 SUA 會封包目的地轉回內部 IP, 可以過關!

3. 該封包企圖連往 ZyXel 642R 的某個服務, 所以 SUA 轉換後目的地位址不變, 仍為 ADSL 的 public ip, 拒絕過關 !! 請注意筆者把這類封包直接丟棄, 而不傳回 RST, 這可以進一步抵擋 Port Scanner, 讓它無法即時回應.

Filter Rule3 : 確定封包的來源位址不在內部網路的網段上

其實 Filter Rule3 不大可能發生, 除非有人破了 ISP 機房, 又知曉你內部網路的網址, 才能偽造出這樣的封包~~~

聯絡方式: hwchen@boobee.idv.tw