將遠端的攻擊者隔除在區域網路之外是網路安全性的一個相當重要的要素,要透過嚴厲的防火牆規則來保護區域 網路的完整性免受惡意遠端使用者的攻擊。 然而如果使用預設的政策來阻隔所有的流入、流出以及轉送的封包, 將使得防火牆閘道器與內部的區網使用者無法彼此或與外部通訊。 如要允許使用者執行網路相關的功能,並且 使用網路連線的應用程式,系統管理員必須開啟某些連接埠以供通訊使用。
例如,要允許防火牆上的連接埠 80,請增加下列的規則:
iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT |
這個規則將會允許來自透過連接埠號 80 的網站進行一般的網頁瀏覽,如要允許存取安全的網站(如 https://www.example.com/), 您必須也開啟埠號 443。
iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT |
您或許有機會需從區域網路外遠端存取區網,您可以使用例如 SSH 與 CIPE 等安全的服務來進行加密的遠端 連線到區網的服務。 對於使用 PPP 為主資源(例如數據機庫或大量的 ISP 帳號)的系統管理員,可以使用 撥接存取來安全地繞行防火牆障礙,因為數據機連線的直接連線基本上都是在防火牆/閘道器以內的。 然而, 對於擁有寬頻連線的遠端使用者,您可以設定 IPTables 接受來自遠端 SSH 與 CIPE 用戶端的連線。 舉例 來說,如要允許遠端的 SSH 存取,可以使用下列的規則:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p udp --sport 22 -j ACCEPT |
可以藉由下列的指令來接受外來的 CIPE 連線(請以您的裝置號碼取代 x):
iptables -A INPUT -p udp -i cipcbx -j ACCEPT iptables -A OUTPUT -p udp -o cipcbx -j ACCEPT |
因為 CIPE 使用它自己的虛擬裝置來傳輸數據包(UDP)封包,這個規則將允許 cipcb 介面的外來連線,而不是根據來源或目的連接埠(雖然也可以使用它們來取代裝置選項)。 如需關於使用 CIPE 的資訊,請參考 第6章。
尚有其他您或許需要用來定義規則的服務,請參考 Red Hat Enterprise Linux 參考手冊 一書以取得關於 IPTables 較廣泛的資訊以及它的許多種選項。
這些規則允許存取防火牆上一般與安全的服務,然而,它們並不允許在防火牆內的節點 存取這些服務。 如要允許區網存取這些服務,您可以使用含有 IPTables 過濾規則的 NAT 設定。