pfsense

Page history last edited by PBworks 2 yrs ago

 

pfSense

 


簡介

  • pfSense 是一個用於建構區域網路的強大的防火牆工具。
  • pfSense 的系統需求很小,只需要有一台簡陋的 PC ,加上2張網路卡 (或再多加一張無線網路卡) ,即可運行。
  • 官方提供有安裝 CD 及 LiveCD ,因此也可先以 LiveCD 試用,再透過 LiveCD 的一個安裝至硬碟的選項直接安裝。
  • pfSense 除了內建功能外,亦提供許多額外的 packages 可以安裝,當然所需的硬碟空間相對要求就比較多。

 

安裝

  1. 安裝方式可參考 打造家用防火牆的需求 by pfSense (一) 簡介篇
  2. 安裝好,並設定好 WAN, LAN IP 之後,若要由外部 IP 連線至 pfSense 的 webGUI ,必須開啓防火牆設定。
    1. 首先進入 Firewall:Rules
    2. 按下 + 的按鈕新增一個 rule ,並在 "Source" 中選擇要連線的外部 IP 。

 

 

內建功能的簡介

備份 pfSense 設定

  • 安裝及基本設定後,可使用 Diagnostics:Backup/Restore 所提供的備份及還原功能︰
  1. Backup configuration : 備份目前的設定,若點選 "Do not backup package information." 則不備份 packages 的相關設定。
  2. Restore configuration : 將備份的設定檔匯入,以回覆先前的設定檔。若原備份檔不含 packages 的相關設定,則 packages 都必須透過 pfSense 的 webGUI 重新安裝一次。(其檔案都還在 server 中,因此安裝過程較快速)

 

SNMP - Simple Net work Management Protocol

  • SNMP 可監看你的網路卡進出流量,並透過網路提供具有 MTRG 的機器來描繪流量圖,不過 pfSense 本身不提供 MTRG 的作圖。
  • 要開啓 SNMP,只要進入 Services: SNMP ,在 SNMP Daemon 中選取 Enable (打勾)即可。

 

DHCP Server

  • 除了一般DHCP伺服器的動態IP範圍設定之外,pfSense也提供靜態IP租用的設定。其方式是將要指定的MAC Address及IP Address設定於列表中,則當該MAC Address的電腦嘗試使用DHCP來取得IP時,則pfSense會直接指定已設定的IP Address給該電腦。
  • 有時候,我們會希望指定於 MAC/IP 列表中的 IP,不可以被其他電腦佔用。目前似乎只有開啟"靜態ARP"才可以達到此目的,但是開啟靜態ARP之後,則只有已經出現在列表中的電腦可以連線,使用時必須注意這個問題。

 

Traffic Shaper - 提供詳細限速的功能

  • Traffic Shaper 主要分成兩個部份 : Rules 及 Queues
    1. Rules : 主要定義對外 (LAN->WAN) 或對內 (WAN->LAN) 各個 port ,所使用的資料流 Queue 。
    2. Queues : 定義多種資料流,設定各個資料流所可以使用的頻寬上下限以及優先權。
    3. 不同的 Rule 可以使用相同的 Queue ,因此可以單純設定一個 Queue 而限制住所有使用此 Queue 的應用程式所可以使用的總頻寬,詳細的設定說明於後。

 

  • Traffic Shaper 的各個分頁功能分別敘述於下

 

  1. EZ Shaper Wizard
    1. EZ Shaper Wizard 是一個設定精靈,可快速設定主機整體的上、下傳限制,亦包含一些常見的應用程式的優先權設定(例:VOIP, P2P, Game play等),可幫助管理者快速建立常用的 Rules/Queues 。
    2. Wizard 的詳細設定方式可參考此篇︰打造家用防火牆的需求 by pfSense (四) 限流限速篇
    3. 透過 EZ Shaper Wizard 目前主機的設定如下
      1. 限定主機整體的上下傳流速 - Setup network speeds : Inside : LAN, Outside : WAN, Download : 20480 (2M), Upload : 512 (512K)
      2. 提高 VOIP 的優先權設定 - Voice over IP : 未設定
      3. 降低 P2P 傳輸的優先權設定 - Peer to Peer networking : BitTorrent, eDonkey2000, Napster
      4. 提高 Games 的優先權設定 - Network Games : 未設定
      5. 提高或降低其他應用程式的優先權設定 - Raise or lower other Applications : 提高 DNS 及 WWW 的優先權
  2. Queues
    1. 這個 Tab 是設定各種對外或對內的資料流(Queue),比較重要的是其最大及最小的頻寬。經過 Wizard 的設定後,已經有多個內建的 Queue,點選特定 Queue 後方的 "e" 按鈕,可以進入設定頁面。
    2. 以 qP2PUp 為例,這是提供各項 P2P 傳輸的 Queue,進入設定頁面後,有幾個參數要注意︰
      1. Bandwidth : 這是用來指定所有使用 P2P 連線的程式,其可以使用的總頻寬大小,預設值為1%。
      2. Priority : 這是用來指定這個水管的優先權,由於在 Wizard 中指定降低 P2P 的傳輸優先權,因此這個值被 Wizard 設定為 1。
      3. Service Curve (sc) - Upperlimit : 這是用來指定這個水管容許的最大頻寬,即使用 P2P 連線的程式可使用的最大頻寬。然仍應受限於第1點之"Bandwidth"指定之大小。
    3. 從 Status:Queue 中,可以即時觀察目前所有的 Queue 使用的頻寬大小。
  3. Rules
    1. 這個 Tab 是設定對外及對內各種通訊協定(protocol)、各個通訊埠(port)的連線規則,主要是必須設定各個規則所要使用的 Queue ,並在 Queue 中設定優先權及頻寬。點選特定 Rule 後方的 "e" 按鈕,可以進入設定頁面。
    2. 以 LAN->WAN , protocol: TCP, port: 80 為例,目前是設定使用 qOthersUpH/qOthersDownH 這兩個 Queues 為其上、下傳的資料流,可參考 qOthersUpH/qOthersDownH 的設定來了解其優先權及頻寬設定。

 

RRD Graph - 最近一定時間內之統計圖

  1. 記錄最近 2h(hour), 6h, 48h, 14d(day), 2m(month), 18m(month) 的統計圖
  2. 分別記錄了 WAN 及 LAN 兩個介面
  3. 其統計圖包括
    1. Traffic : 記錄整體流量 (bits/sec)
    2. Quality : 記錄回應時間 (ms) 及封包遺失率 (%)
    3. Queues : 記錄各個 Queue 的流量 (bits/sec)
    4. Packets : 記錄單位時間的封包數 (packets/sec, pps)
    5. Spamd : 目前無作用。

  

Traffic Graph - 即時流量觀察

  • 透過 Status:Traffic Graph 可觀察目前主機對內及對外的即時流量。

 

Wake on LAN - 透過 pfSense 喚醒區網內的客戶端電腦 :

  1. 可從 Services: Wake on LAN 進入,設定以下兩個參數之後,按下 "Send" 按鈕即可送出遠端喚醒的訊號。
    1. Interface : 設定區域網路所在的介面 - LAN。
    2. MAC address : 要喚醒的電腦的網路卡卡號。
  2. 在下方的列表中可以輸入多台客戶端電腦的 Interface 及 MAC address ,並可以在按下 MAC address 後送出喚醒訊號。
  3. 若要一次喚醒列表中所有的客戶端電腦,可使用位於 "You also can wake all clients at once:" 字串之後的小按鈕。

 

Captive portal - 控管內部客戶端電腦對外連線的工具 (目前主機並未啓用)

  1. Captive portal 是用來控管內部客戶端電腦對外連線的工具。在啓用之後,當內部的客戶端電腦要連上網際網路時,會先被重新引導至一個登入頁面,在經過登入之後才可進入網際網路。可參考 Wikipedia 上的解說
  2. 在 Services:Captive portal 內的各個分頁(Tab)其功能分別說明如下︰
    1. Captive portal : 這個分頁主要是設定其登入系統網頁的 web server ,以及可在此上傳登入頁面的 html 檔。
    2. Pass-through MAC : 這是一個以實體網路卡號為篩選原則的 whitelist ,設定哪些網路卡號的機器,可以不需要透過登入頁面而直接進入網際網路。
    3. Allowed IP addresses : 這是一個以 IP 為篩選原則的 whitelist 。
    4. Users : 設定可用於登入的使用者帳號。
    5. File Manager : 欲使用於登入頁面的圖檔,可於此分頁中上傳。

 

額外安裝的 Packages

 

NTOP - 強大的流量監控工具

  • NTOP 是一套用來分析及統計通過這台主機的流量,其分析的單位可小至特定IP位置。
  • 安裝後可從 Diagnostics:ntop setting 進入設定,然而此處僅僅是設定 ntop 的管理者密碼及可用來連線的介面,ntop 本身的詳細設定則需進入 ntop 的 webGUI 。
  1. ntop Admin Password : 進入 ntop 自己的 webGUI 時,進行 admin 設定時該使用的密碼。
  2. Interface : 設定可使用 WAN 或 LAN 連線 ntop 的 webGUI 。若要從外部 IP 連線 ntop ,必須選到 WAN 。
  • ntop 使用一個獨立的 webGUI ,其連接埠(port)設在 3000 ,因此若 pfSense 機器前方若還有一個防火牆,記得開啓此一連接埠。
  • ntop 的相關功能尚待補齊

 

 

BandwidthD - 簡單的各個IP流量監控

  1. BandwidthD 的範例如下︰http://bandwidthd.sourceforge.net/demo/
  2. BandwidthD 可記錄各內部 IP 的上下傳總流量,以及 FTP 、 HTTP 、 P2P 、 TCP 、 UDP 、 ICMP 等通訊協定的使用量,同時也會有各 IP 隨著時間變化的流量圖。
  3. 目前 pfSense 提供的 BandwidthD package 似乎有嚴重的 bug,導致輸出的網頁並不完全。目前如果要安裝新版的 BandwidthD ,必須抓取新版 BandwidthD 的原始碼來編譯,然而由於編譯過程需要相關工具,因此安裝的 pfSense 又必須是 Developers Edition 版本。

 

Snort - 防範及偵測網路入侵系統

  • Snort 是透過許多的偵測規則 (Rules) 進行入侵偵測及防堵,安裝此 package 之後,可從 Services:Snort 進入設定,其各分頁的功能分別說明如下︰
  1. Settings : 此分頁為 Snort 的主要設定頁面
    1. Interface : WAN (必須設定為 WAN)
    2. Performance : 由於本機的記憶體使用量已經很多,因此採用 "lowmem" 。
    3. Oinkmaster code : Snort 支援直接從 Snort.org 抓取最新的偵測規則 (Rules) ,要啓用此功能,必須申請一個 Oinkmaster code 。首先必須在 Snort.org 中註冊一個帳號,使用帳號登入後,可在登入後的頁面最下方直接申請 code 。將申請到的 code 複製於此即可。
    4. Snort.org subscriber : 設定是否為 Snort.org 的讚助者,新的 Rules 剛推出時,只有讚助者可取得該 Rules ,30天後才會提供給有註冊的使用者,未註冊者則只能在每次 Snort 釋出新版時才能取得新的 Rules。
    5. Block offenders : 設定是否自動將出現 Alert 的 IP 封鎖。
    6. Update rules automatically : 是否每個星期自動檢查更新。
    7. Whitelist VPNs automatically : 我們並未使用 VPN ,因此不設定。
    8. Convert Snort alerts urls to clickable links : 打勾。
    9. Associate events on Blocked tab : 打勾。
    10. Sync Snort configuration to secondary cluster members : 不打勾。(暫時不清楚此功能的用途)
  2. Update Rules : 按下此分頁立刻進行 Rules 的線上更新。(必須已經在 Settings 中設定 Oinkmaster code)
  3. Categories : Snort 將偵測規則分成許多的類別,管理者可以根據需求選擇要使用的類別。目前不清楚選擇所有類別是否會有不良的影響,因此僅選擇一些主要是駭客攻擊相關的類別。
  4. Rules : 在此分頁中,可觀察各個類別(Categories)所設定的規則(Rules)。
  5. Blocked : 被 Snort 自動封鎖的 IP ,每次封鎖只持續 60 分鐘。
  6. Whitelist : 設定哪些 IP 進入白名單。
  7. Alert : 顯示最近觸發的警告。
  8. Advanced : 此頁暫不設定。

 

  • 目前 Snort 的問題是,不清楚其 False Positive 的可能性有多少,因此暫時把 Block offenders (自動封鎖產生 alert 的 IP) 關掉。

 

NMAP - port scan 工具

  • NMAP 是一個 port scan 的工具,安裝後可從 Diagnostics:NMAP 進入,並進行 port scan 的工作。

 

MiniUPnPd - 提供 UPnP 的功能 :

  • MiniUPnPd 提供簡單的 UPnP 的功能,安裝後可從 Services:MiniUPnPd 進入,其分頁之功能分述如下 :
  1. UPnP Status : 顯示目前有哪些 IP 建立 UPnP 的連線。
  2. MiniUPnPd Settings : MiniUPnPd 的設定頁面。
    1. Enable MiniUPnPd : 打勾此選項以啓用 UPnP 的功能
    2. Interfaces : 設定哪些介面要提供此功能,一般設為 LAN
    3. Override WAN address : 不設定
    4. Log packets handled by miniupnpd rules? : 打勾。
    5. Use system uptime instead of miniupnpd uptime? : 打勾。
    6. By default deny access to miniupnpd? : 不打勾。
    7. User specified permissions 1,2,3,4 : 目前不設定。

 

Views :

Comments (0)

You don't have permission to comment on this page.