使用Firewall Builder來設置您的防火墻
譯文【51CTO.com獨家翻譯】Firewall Builder(fwbuilder)是一個可以幫助您配置IP數據包過濾的圖形化應用程序。它可以編譯你定義的多種規格的過濾政策,包括iptables和使用的各種語言的思科和Linksys路由器。這種讓你定義的實際策略和以這種策略具體實現相分離的方法,可以讓你當改變運行硬件時,不必重新定義該平臺的防火墻政策,
Fwbuilder的軟件安裝包可以在Ubuntu Hardy和Fedora 9的軟件倉庫找到。 此外用于openSUSE 10.3的Fwbuilder版本已經被打包成一鍵安裝文件,但是它還不支持openSUSE 11版本。在這篇文章中,我將搭建一個64位機器的試驗平臺,操作系統選擇的是Fedora 9,安裝fwbuilder的版本是2.1.19版。fwbuilder是被分成兩個壓縮文檔進行安裝:libfwbuilder和fwbuilder,你必須首先安裝libfwbuilder這個文件,安裝兩個文件時采用普通文件的安裝方式,即依次輸入如下命令:
./configure; make; sudo make install |
當進行配置時,有時會遇到這樣的警告:
Running qmake: /usr/lib64/qt-3.3/bin/qmake WARNING: icns.path is not defined: install target not created |
如果你也遇到了,我建議你不用理睬。
當您啟動fwbuilder時,你會看到如下面的截圖所示,新防火墻窗口。通過右鍵單擊防火墻樹狀視圖中某個條目,您就可以創建一個新的防火墻。如果您選擇啟用防火墻模板和創建一個iptables防火墻,您會看到顯示的一個新的對話框窗口。由于fwbuilder有一系列防火墻供您選擇,而這些防火墻模板也能基本滿足許多用戶的使用需求,因此fwbuilder的入門顯得非常簡單。
如屏幕截圖所示,模板一,它提供由你ISP支持的動態IP地址分布(DHCP)和您在服務器的第二個網絡接口上的本地固定私人子網。模板二和模板一類似,但是它是為您的本地網絡DHCP服務器所專門設計的。模板三是為一個的非軍事區域(DMZ)子網絡所設計,它的服務器上擁有三個接口其中一個擁有靜態IP地址連接互聯網,另外一個連接本地私人子網,***一個網絡接口連接一個可以從互聯網登陸DMZ子網絡,
名單上的第四個項目,host fw template 1,只能提供一臺主機的保護,并且只允許傳入的SSH訪問。雖然這種類型的防火墻策略非常簡單,但是它可以為筆記本電腦用戶迅速安裝一個防火墻。 Linksys的防火墻模板是專為Linksys路由器上運行的防火墻,c36xx模板則是思科路由器上的一個防火墻模板。而網絡服務器防火墻模板則允許安裝此類防火墻的網絡服務器通過HTTP和SSH方式進行通信。
模板一的防火墻規則如下面的截圖所示。您可以在每個窗口上方的服務網格單元點擊某個單元格,相應的底部窗格中顯示會隨之發生變化,以便您可以在此編輯該單元格中服務的設置。眾所周知ssh服務可以用來規定哪些連接可以接受,非常的重要,此防火墻模板在左側樹視圖中則把SSH服務作為了一個選項。而不像傳統防火墻那樣僅僅是簡單的輸入一個tcp連接類型和一個端口號。模板中所引用的服務只是系統定義的一部分,它是只讀的,讓你只能在窗格中看到細節,但不能編輯它們。如果您正在運行一個自定義端口的SSH,你不僅可以在SSH的目錄中編輯它,或者在左邊的樹形圖中右擊它并在彈出目錄中選擇"Duplicate/Place in library User",可以建立復制個人服務。此外下拉略高于左側的樹視圖列表可以讓您選擇標準(系統)目錄或是用戶目錄。
當你擁有你自己的SSH服務端口定義的副本,你就可以對它進行自由的編輯。若您要使用自己定義的SSH服務,你可以將它從左側的樹形視圖中拖放到你的防火墻規則窗格中。雖然這一切運作良好,但是可能產生一個用戶界面的問題是,如果是在標準的定義(系統)目錄和用戶目錄的SSH服務具有相同的名稱,當您拖動到您的自定義SSH服務到防火墻規則窗格中,您將看到兩個窗格的SSH項目,而且沒有絲毫跡象表明一個是你的個人目錄版本,而另一個是標準的(系統)目錄版本。當然這個問題這很容易解決,你只需重命名你的用戶目錄中SSH服務即可。
![]() |
圖1 |
當你在左側的樹形圖點擊防火墻本身或是任何顯示在窗口頂部的防火墻策略網格時,您可以編輯主機和防火墻設置。在主機設置選項中你會發現選擇在計算機上設置具體工具路徑的選項,包括重寫各種TCP設置,如FIN和保持活動超時,以及更改顯式擁塞通知(ECN)和時間戳的,還有SYN cookies。此外主機選項包括開啟內核antispoofing支持,源路由是否應該被忽視,如何對待不同的ICMP數據包等等,在模板一中防火墻默認配置并沒有明確更改這些設置。
![]() |
圖2 |
單擊左側的樹形圖或是窗口左邊的防火墻具體選項中的"Firewall settings..."按鈕。您就可以進行全局規則的設定,比如限制在給定的時間間隔記錄數據包的數量,為方便的調整產生的防火墻規則添加一個序言和結語,并指定自定義安裝時可能需要更改的系統路徑。您可以指定如何拒絕數據包(即不接受何種ICMP包),如默認拋棄未知連接的相關的數據包,并指定防火墻規則***次執行時是否顯示應該被接受的已經建立或相關的連接。
NAT的選項卡允許您設置源和目地IP地址通過服務器轉換后如何變化。為了使服務器修改這些地址您可以設置一系列規則和拖動左窗格中目錄樹中的網卡到源或目的規則網格的所在。 NAT規則也可以對源,目的,服務器進行有效配置,或是可以修改連接的源和目標地址或是更改該連接***被發送的端口。
如下面的截圖所示,在左窗格中顯示了網卡在當前的防火墻下的描述性名稱(在這里生成模板一)。當然你也可以修改它的名稱和與他相關的服務。并且可以按需增加新的網卡。在屏幕截圖中也可以看到網絡上任何嘗試連接到myssh服務的機器源地址將被記錄,這樣就可以在安裝防火墻的機器上看到發起連接的源地址了。
![]() |
圖3 |
Fwbuilder的一個特別有用的功能就是可以看到您所有NAT和防火墻策略所使用的服務。當您在左側的樹狀視圖或在窗口頂部的窗格右鍵單擊這些服務時,在彈出菜單中選擇"Where used",這時窗口底部會彈出一個子窗口,讓您快速查看哪些NAT或防火墻規則引用了這些服務。這也可以讓您審查是什么能夠連接到這些服務,判斷是否是NAT的執行,才使該服務得以使用。
直接使用某些單獨服務這種定義規則的方法往往很不方便,因為許多服務可以共同工作來提供所需的功能。 fwbuilder允許定義“groups”,它許多單獨的服務的定義為一個單一的邏輯單元考慮。例如,Useful_ICMP groups包括ICMP的消息超時,ping數據包,以及所有不可到達的ICMP數據包等服務。“groups”的使用允許服務器的特定功能模塊作為一個單一的單元。該單元利用更多的可讓您編輯的邏輯上的功能單位,而不必記清楚你每次想要允許某些組合時所用到的每個服務。
能在一個單獨的主機上定義NAT和路由規則非常的方便。它可以讓你設置數據傳輸方式,因為有時數據的流動會使數據發生錯位,在某臺機器上甚至發生數據丟失。利用服務拖放和復制網址或服務的功能配置防火墻,同時使用fwbuilder提供的各種分類的模板,使的fwbuilder成為快速創建數據包過濾政策的一個非常有用的工具。在左邊的樹形標準庫視圖還提供了192.168和172等10個不錯的專用子網選擇,此外還有一些服務和服務組,以及例如在本周一段時間內改變防火墻規則的時間選項。
一些愿望
當鼠標移動到顯示的系統目錄或用戶目錄上時,如果左側的樹形視圖顏色發生改變,這時你應該不加思索的檢查你正在看的目錄。不幸的是, fwbuilder在一些方面用戶界面還不是很友好。例如,當您編譯一個防火墻,如果它的策略不是100%正確的,錯誤報告需要你記住造成錯誤規則,這時你需要關閉編譯錯誤對話框,并手動選擇剛才記住的規則。如果fwbuilder能夠嘗試解析輸出,在窗口底部增加窗格顯示錯誤信息,同時保留錯誤的上下文信息讓你雙擊錯誤信息時直接跳到錯誤的規則上面,我想這將非常的不錯。還有,如果當你只打算將一條規則的少數幾行進行修改,你可以用鼠標右鍵單擊此規則,然后選擇移動此規則,然后重新拖放規則,而無需手動輸入新的規則數目,這也將會很棒。***,當您從fwbuilder安裝防火墻時,會提示您輸入用戶名和連接服務器進行安裝,然后通過一個基于SSH到該機器的連接安裝防火墻策略。如果可以只輸出iptables文件來進行手工安裝,我想這也會非常爽的。
【51CTO.COM 獨家翻譯,轉載請注明出處及作者!】