Sunday, April 22, 2007

FON: Prevent Clients to Access Unauthorized Zone

若您的網路架構較複雜,使用FON的FON_AP信號的使用者,將有機會使用區域網路內原先不應使用的資源,這會是個嚴重的安全性問題。原先筆者在PTT的FON板提到更改Subnet Mask的方法,雖然可以解決此問題,但卻會影響正常的網路連線,顯然這並非好的解決方案。

FON的iptables內預設的規則,是依照您Ethernet介面取得或設定的IP位址和Subnet Mask,來決定禁止FON_AP信號的使用者存取哪個網段。但如果今天有著像下圖一樣複雜的架構,則無法有效禁止FON_AP使用者存取其它網段。


Fig 1: An example of network infrastructure (Click to enlarge)


以上圖為例,FON內建規則保護的範圍為192.168.116.0/24(圖上的亮綠色範圍),從FON_AP來的連線,想存取這網段的都會被過濾掉。而存取橘色網段內的電腦則是可行的,它們不在預設規則的保護範圍內。也就是說,只要能修改預設的規則,就能增加保護的範圍,進而提升區域網路的安全性。

瞭解原理之後,接下來開始修改FON裡面的檔案,步驟相當的簡單!

1. 您必須能存取FON的Terminal。若您尚無法存取,請先參考FON: Unbrick your La Fonera!

2. 透過SSH登入您的FON之後,若您熟悉vi編輯器的操作,請跳至3a,其它的請跳至3b

3a. 會操作vi的就省事囉!執行vi /etc/hotplug.d/iface/20-firewall。在最後大括號的的前一行加上這一行:iptables -A WAN_HOOK -o $wan_ifname -d 192.168.0.0/16 -j DROP。修改完成後會像下圖一樣,最後請存檔離開。這裡假設您要阻擋的網段為192.168.0.0/16,請依實際需求自行做調整。


Fig 2: Modify default firewall settings (Click to enlarge)


3b. 先貼上rm /etc/hotplug.d/iface/20-firewall後按Enter,然後再貼上wget -O /etc/hotplug.d/iface/20-firewall http://lookfree.info/blogger/2007/04/FON_hotplug_firewall並按Enter,務必整串綠色字一起複製。下載完成後即可進入下一步驟。本設定檔假設您要阻擋的網段為192.168.0.0/16,請依實際需求自行做調整。

4. 輸入reboot並按Enter,FON會重新啟動。重新啟動完成後,您可以連線至FON_AP,測試您的設定是否生效。

註:若您無法確定要設定多大的網段,您可以在此篇文章留言,並附上您的網路架構,將會幫您解答。設定錯誤的網段,會影響網路的運作。

No comments: