許多使用者可能不知道Ubuntu包含一個功能強大的防火牆,但可能由於設定防火牆需要一定程度的網路技術和知識,或是Linux系統相對之下比較安全,所以Ubuntu預設為不啟用防火牆。
不啟用防火牆的原因之一是Ubuntu沒有對外開門的服務,意思是不允許網際網路向內連接,除非已得到使用者的許可,例如:Firefox和Evolution,向內的連接都已獲邀請。Ubuntu就像是一個沒有窗戶和門的房子,不需要再架設一套防入侵機置。
但是防火牆仍可提供另一種簡單防護手段,防止間諜程式偷偷的邀請大野狼穿堂入室。它還會關閉某些網路診察工具,駭客常利用這些工具的漏洞四處滲透。
首先由Synaptic套件管理程式搜尋及安裝Firestarter套件,它不是真正的防火牆,而是一個圖形介面程式,讓使用者可以方便設定Ubuntu防火牆的各項功能。例如:由外進入或由內送出的封包、連線準則及規則等等。連線準則是許多連線規則的集合,例如:哪些程式可以向外連線或不可向外連線、允許外部電腦存取自己電腦的條件集、自己電腦存取網際網路的條件集。
安裝Firestarter
由Synaptic套件管理程式搜尋及安裝Firestarter套件之後,可由Applications (正體中文環境稱為「應用程式」) → Internet (正體中文環境稱為「網際網路」)選單中啟動。第一次運行Firestarter時會出現設定精靈,大部份情況下只要接受其預設配置即可。如果電腦使用了Wifi無線網路,則需要自Detected device(s) (正體中文環境稱為「偵測到的裝置」)下拉式選單中挑選需要Firestarter保護的正確連線。如果不知道裝置名稱,可以由滑鼠右鍵點擊螢幕右上方通知區域內的NetworkManager圖示,在右鍵選單中選擇Connection Information (正體中文環境稱為「連線資訊」),於出現的對話框中檢視Interface (正體中文環境稱為「介面」)一行的內容。
精靈設定完成之後,儲存退出。
設定向內連線
Firestarter的預設設定是阻擋所有不請自來的連線,但允許使用者主動邀請的連線(例如:Firefox瀏覽器載入某一篇網頁,或是Evolution自伺服器下載電子郵件)。這提供相當高的安全性,但有時候可能太嚴格了,例如:使用BitTorrent連線軟體,別的使用者就無法由自己的電腦中分享檔案片斷;或是某些網路文件分享服務,別的使用者也不能由自己的分享文件夾上傳或下載檔案。
為了這些特殊情況,使用者可以自行設定向內連線的規則:
- 開啟Firestarter,點選切換至Policy (正體中文環境稱為「準則」)分頁,確認在Editing (正體中文環境稱為「編輯」)下拉式選單中已勾選Inbound traffic policy (正體中文環境稱為「對外流量準則」)。然後以滑鼠右鍵點擊Allow service (正體中文環境稱為「允許的服務」)下方的視窗空白處,於右鍵選單中選擇Add Rule (正體中文環境稱為「增加規則」)。
- 在新的對話框出現後,在Name (正體中文環境稱為「名稱」)下拉式選框中選擇向內連線的類型,例如:使用者希望使用分享文件夾,則選擇Samba (SMB)。Firestarter會自動填寫常見服務的Port (正體中文環境稱為「埠號」)欄位,通常無需修改。
- 若在When the source (正體中文環境稱為「當來源地是」)欄位選擇Anyone (正體中文環境稱為「任何人」),則會允許網際網路人所有人建立向內連線,這適合BitTorrent或類似的分享軟體。若手動填入IP, host or network (正體中文環境稱為「IP,主機或網路」),則只有特定的電腦或群組才能建立向內連線。例如:若只允許自己電腦所在的私人網路上的電腦建立連線,則可輸入192.168.1.1-255,既可建立分享資料夾,又多了一層保護。
- 最後,點擊Add (正體中文環境稱為「新增」)按鈕,再點擊主工具列上的Apply Policy (正體中文環境稱為「套用準則」)按鈕。設定立即生效,無須關機重開。設定完成後即可關閉Firestarter,之前曾提過它只是一個圖形介面,不是防火牆本尊,而Ubuntu的防火牆不需要Firestarter即可正確運行。
設定向外連線
Firestarter預設允許所有向外的連線。例如:Firefox或Evolution試圖連上某一個網站或郵件伺服器,它們不會被封鎖,通常這稱為permissive policy (允許準則)。若要封鎖所有向外的連線,只有得到許可的才放行,Firestarter必須將防火牆改為restrictive policy (限制準則),也就是要設定一張白名單。其方式如下:
- 開啟Firestarter,點選切換至Policy (正體中文環境稱為「準則」)分頁,確認在Editing (正體中文環境稱為「編輯」)下拉式選單中已勾選Inbound traffic policy (正體中文環境稱為「對內流量準則」),然後點選Restrictive by default, whitelist traffic (正體中文環境稱為「預設為限制,並配合白名單」)。
- 然後以滑鼠右鍵點擊Allow service (正體中文環境稱為「允許的服務」)下方的視窗空白處,於右鍵選單中選擇Add Rule (正體中文環境稱為「增加規則」)。
- 在新的對話框出現後,在Name (正體中文環境稱為「名稱」)下拉式選框中選擇向外連線的類型,例如:使用者希望使用Firefox,則選擇HTTP,幾乎所有的網站都使用HTTP通訊協定服務。Firestarter會自動填寫常見服務的Port (正體中文環境稱為「埠號」)欄位,通常無需修改。
- 無論是使用預設規則或自訂規則,不要更改When the source (正體中文環境稱為「當來源地是」)欄位的內容。只要點擊Add (正體中文環境稱為「新增」)按鈕,再點擊主工具列上的Apply Policy (正體中文環境稱為「套用準則」)按鈕。
對於「小心駛得萬年船」的使用者而言,採取restrictive policy (限制準則)最能令自己睡得安穩。不過,至少要設定HTTP、HTTPS、POP3(或IMAP)和SMTP的連線準則。前兩者是Firefox瀏覽器檢視網頁所需,後兩者是Evolution下載及上傳電子郵件所需。
restrictive policy (限制準則)很難維護,因為某些網站會要求Firefox瀏覽器以非HTTP或HTTPS通訊協定來下載資料,尤其是那些為數眾多的附加元件。因此使用者必須針對每一個被使用的連接埠設定個別的規則,這還需要具備一定程度的網路技術知識。而且,每次新增軟體時,就要不厭其煩的為其設定一套連線規則。
停用網路診斷工具
Firestarter還可以停止自己的電腦回應某些網路診斷工具。網路診斷工具在診斷網路問題時十分有用,不過它們也可以被駭客利用為惡意攻擊工具。設定的方法是由程式的Edit (正體中文環境稱為「編輯」) → Preferences (正體中文環境稱為「偏好設定」)選單,於左欄選擇ICMP Filtering (正體中文環境稱為「ICMP篩選規則」),於右欄中只勾選Enable ICMP filtering (正體中文環境稱為「啟用ICMP篩選規則」)。除非要允許回應某個特定的要求,千萬不要勾選下方任何一項工具。然後點擊Accept (正體中文環境稱為「接受」),即可關閉Firestarter。
密技以Ubuntu 8.04長期支援版本(Hardy Heron)測試,有可能不適用於新版本,或需做配合微調。
0 留言:
張貼留言