鳥哥的 Linux ADSL 私房菜


簡易 Firewall 架設
本文已不再維護,更新文章請參考此處
最近更新日期:2003/08/25
 
在談完了基本的網路安全觀念之後,這個章節主要就要針對『防火牆』來進行介紹了!目前的防火牆機制主要是以 Linux Kernel 2.4 版的 iptables 為主的,而 iptables 可以使用指令來下達,也可以透過編寫 shell script 來進行指令的整合。鳥哥本人比較習慣使用 scripts 來進行 iptables 的機制規劃呢!除了 iptables 之外,事實上,比較簡單的還有 TCP Wrappers 這個玩意兒,他則主要是針對某些服務來進行管理的吶!本章的內容主要就是在介紹這兩個重要的防火牆軟體了!
 
防火牆
  :為何需要防火牆
  :防火牆的主要類別
  :防火牆的一般線路佈線與抵擋技巧
  :防火牆的使用限制
Linux 的封包過濾機制
  :Linux 核心版本與防火牆機制
  :iptables 的表格與封包進入的流程
  :iptables 的語法清除規則, 定義政策, 增加與插入規則, 紀錄與回復防火牆規則
一個簡單的防火牆設定
  :我的防火牆規則的草擬
  :規則設定
TCP Wrappers
  :什麼是 TCP Wrappers 與他的抵擋機制
  :TCP Wrapperes 的規則說明
其他的相關測試
進階:防火牆後端伺服器的架設
重點回顧
參考資料
課後練習

防火牆:
Linux 的封包過濾機制
一個簡單的防火牆設定:
TCP_Wrappers:
其他相關測試:
雖然這樣一來就稍微建置好了您的防火牆了!但是誰都不知道到底這樣的防火牆效果如何?所以,您需要花費更多的時間來進行測試呢!測試的步驟可以是:
  1. 先由主機向外面主動連線試看看;
  2. 再由私有網域內的 PC 向外面主動連線試看看;
  3. 最後,由 Internet 上面的主機,主動連線到您的 Linux 主機試看看;
一步一步作下來,看看問題出在哪裡,然後多多的去改進、改良!!基本上,網路上目前很多的資料可以提供您不錯的參考了!這一篇的設定寫的是很簡單,大部分都還在介紹階段而已!希望對大家有幫助!我在參考資料當中列出幾個有用的防火牆網頁,希望大家有空真的要多多的去看看!會很有幫助的!

進階:防火牆後端伺服器的架設
我們來考慮一個比較有趣的問題,那就是如同圖四的情況,事實上,主機是架設在防火牆後端的!在這樣的情況下,我們要怎麼將來自 Internet 的封包,經由 firewall 轉遞到後端的主機上面呢?!我們可以參考一下封包的流程,如同上面圖九的說明,因為來自 Internet 的封包要丟給防火牆後端的主機,所以在『路由之前就需要先設定好轉換路由』的狀態了!因此在 nat table 的 PREROUTING 的鏈上面來進行所謂的『 Destination NAT, DNAT 』的動作才行啦!您需要在防火牆的 iptables 機制上面,在 nat table 上面新增一條規則才行!語法如下:
 
iptables 的其他相關參數說明:
 
-j <動作>:除了比較常見的 ACCEPT 與 DROP 之外,還有哪些動作?
 DNAT --to IP[:port]
   常用在防火牆後端的主機之封包轉遞上面!
 
範例:將來自 Internet 的 port 80 連線的封包轉遞到 192.168.10.10 這個主機上
[root@test root]# iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 \
> -j DNAT --to 192.168.10.10:80
 
上面的範例是很簡單的一個例子,在比較簡易的環境下是可以成功的幫您進行 WWW 或者是 Mail 的服務的!不過,如果用在 FTP 上面可就很麻煩了∼因為 FTP 除了正規的 21 這個命令通道埠口外,還有資料傳送的主動性與被動性!設定上很是困擾∼有興趣的話,可以參考底下列出的幾個 iptables 的網站喔!這裡不再說明了!

重點回顧
參考資料
課後練習
2002/08/20:第一次完成日期!
2003/08/25:重新設計內容,改寫一些指令介紹,與前一篇『認識網路安全』分的比較完整一點!


Designed by VBird during 2001-2004.  Aerosol Lab.