「緯育 2026-0420.2」修訂間的差異

出自頂極製作所
 
行 126: 行 126:
* 驗證:以兩台 Clone 的內部主機開機取得租約、修改主機名、確認 IP 範圍並對外 ping 測試。
* 驗證:以兩台 Clone 的內部主機開機取得租約、修改主機名、確認 IP 範圍並對外 ping 測試。
* 動態 DNS:示範 No-IP,填入主機名、帳號、密碼,於 WAN IP 變動時自動更新。
* 動態 DNS:示範 No-IP,填入主機名、帳號、密碼,於 WAN IP 變動時自動更新。
=== 克隆 Linux 客戶端重複租約的故障排除 ===
=== Clone Linux 客戶端重複租約的故障排除 ===
* 問題描述:兩台克隆 Linux 雖已更改 hostname 與 MAC,仍因相同 /etc/machine-id 推導出相同 DHCP client identifier,導致取得相同 IP,出現一台可通、一台不通的交替現象。
* 問題描述:兩台克隆 Linux 雖已更改 hostname 與 MAC,仍因相同 /etc/machine-id 推導出相同 DHCP client identifier,導致取得相同 IP,出現一台可通、一台不通的交替現象。
* 診斷要點:檢視 /etc/machine-id 尾碼相同;在 pfSense 的 DHCP leases 觀察租約;必要時抓包確認相同 identifier。
* 診斷要點:檢視 /etc/machine-id 尾碼相同;在 pfSense 的 DHCP leases 觀察租約;必要時抓包確認相同 identifier。
行 132: 行 132:
* 實務提醒:至少確保一台客戶端可上網以進行後續安裝與操作;可在課後自我檢查並預留時間處理。
* 實務提醒:至少確保一台客戶端可上網以進行後續安裝與操作;可在課後自我檢查並預留時間處理。
[[檔案:2026-0420-04.png|800px]]
[[檔案:2026-0420-04.png|800px]]
=== 伺服器開機順序與 DHCP 靜態 IP 綁定 ===
* 正確的開機順序與檢查
** 順序: 在本次環境中,應先開啟作為閘道器(Gateway)的設備,再開啟客戶端主機(Knight),以避免客戶端因無法獲取網路資訊而卡住。
** 檢查: 開機後應依序檢查閘道器對外連線、客戶端主機是否獲取 IP、以及客戶端主機對外連線是否皆正常。
* DHCP 靜態 IP 綁定 (Static Mapping)
** 目的: 為了方便管理與識別,為公司重要設備設定固定的 IP 位址,而不是使用動態分配的浮動 IP。
** 實務操作: 網管人員通常會利用設備外箱貼紙上的 MAC 位址資訊,在 DHCP 伺服器上預先設定 IP 綁定規則。
** 在 PFSense 中設定:
*** 路徑: Services -> DHCP Server -> DHCP Static Mappings。
*** 操作: 新增一條映射規則,填入從 DHCP 租約列表 (DHCP Leases) 中複製的設備 MAC 位址,並指定一個固定的 IP 位址(如 192.168.100.201)。
*** 其他設定: 可自訂主機名稱(Hostname)、描述(Description),並可為該設備指定特定的 DNS 伺服器或閘道器。
** 驗證與故障排除:
*** 驗證: 重啟設備網路服務後,檢查其是否獲取到指定的 IP。
*** 故障排除: 若無法上網,需檢查是 DNS 問題(ping IP 通,ping 域名不通)還是閘道器設定錯誤(ping IP 也不通)。
** Client Identifier: 除了 MAC 位址,DHCP 伺服器也可根據客戶端發送的 Client Identifier(用戶端識別碼)來分配 IP。
=== 通訊埠轉發(Port Forwarding)===
* 概念與目的
** 通訊埠轉發是一種 NAT 功能,允許外部網路使用者透過防火牆的公開 IP 和指定埠號,連線到內部網路的特定主機。
** 範例: 將外部對防火牆 WAN 介面 2201 埠的連線請求,轉發至內部主機 192.168.102.201 的 SSH 22 埠。選擇不常見的埠號可增加安全性。
* 在 pfSense 中設定
** 路徑: Firewall > NAT > Port Forward 頁籤。
** 新增規則:
*** Interface: 選擇 WAN (封包進入的介面)。
*** Protocol: 選擇服務所需協定,如 SSH 使用 TCP。
*** Destination: 選擇 WAN address。
*** Destination port range: 設定外部連線使用的埠號(如 2201)。
*** Redirect target IP: 輸入內部目標主機的 IP(如 192.168.102.201)。
*** Redirect target port: 設定轉發至內部主機的埠號(如 SSH (22))。
* 問題排查與解決方案
** 現象: 設定後外部連線逾時(timeout)。
** 偵錯: 使用防火牆的封包擷取(Packet Capture)功能,發現外部 SYN 封包到達防火牆後被丟棄。
** 根本原因: pfSense 的 WAN 介面預設會勾選 Block private networks and loopback addresses 選項,阻擋來自私有 IP 網段(RFC1918)的傳入流量。由於本次練習的外部客戶端 IP 屬於私有網段,因此連線被阻擋。
** 解決方案: 進入 Interfaces > WAN 設定頁面,取消勾選上述選項,儲存並套用設定後即可成功連線。
* 應用: 可用於遠端桌面連線、管理內部設備(作為跳板機)等場景。
=== 使用 pfSense 封鎖特定網站 ===
* 封鎖邏輯 (別名 Alias)
** 相較於傳統逐一封鎖 IP 的低效率方法,pfSense 提供了更高效的管理方式。
** 步驟一:建立群組 (Alias): 在 Firewall > Aliases 中建立一個 Hosts 類型的別名群組(如 GameBlocker),並將所有要封鎖的網站域名(FQDN,如 gamer.com.tw)加入其中。
** 步驟二:封鎖群組: 在 Firewall > Rules > LAN 介面上建立一條防火牆規則,直接封鎖整個 Alias 群組。
* 建立防火牆封鎖規則
** 路徑: Firewall > Rules > LAN。
** 新增規則:
*** Action: 選擇 Block (建議)。
*** Protocol: 選擇 Any 以徹底封鎖所有協定,包含 ping (ICMP)。
*** Source: 保持 any。
*** Destination: 類型選擇 Single host or alias,並在下方欄位選取先前建立的 Alias 名稱 (GameBlocker)。
* 規則順序的重要性
** 防火牆規則由上至下依序比對,一旦符合即停止。
** 新增的 Block 規則必須放置在允許所有流量通過的預設 Allow 規則之前,否則封鎖將無效。可以透過拖動來調整規則順序。
* 其他相關功能
** 流量管制 (Traffic Shaper): 可設定流量優先級。
** 時間排程: 可搭配規則,實現在特定時間段自動開啟或關閉封鎖。
[[檔案:2026-0421-01.png|800px]]

於 2026年4月21日 (二) 09:32 的最新修訂

防火牆概念、類型與pfSense實作

本次講座旨在提供防火牆的全面知識,從基本概念、類型差異、核心運作原理,到具體的管理方式與實作教學。講師首先強調了理解防火牆通用概念的重要性,解釋了其如何透過「比對規則、採取動作」的核心原則來抵禦外部攻擊(如DDoS、漏洞攻擊)、保護內部網路區隔及限制資料外傳。接著,講座深入比較了軟體式與硬體式防火牆在架構、效能、成本等方面的優劣,並分析了Linux系統中四種不同的防火牆管理方法。實作部分則聚焦於開源軟體式防火牆pfSense,詳細介紹其豐富功能(如NAT、DHCP、VPN、DDNS等)、安裝設定流程及硬體需求。學員將透過虛擬機環境,架設一台pfSense主機,並設定內部與外部網路,最終目標是讓用戶端電腦能透過pfSense順利上網,並為後續的通訊埠轉發、網站過濾等進階實作打下基礎。

防火牆課程介紹與核心概念

  • 課程核心目標
    • 讓學員理解防火牆的核心概念,因為概念通用於所有防火牆產品,理解後操作便不成問題。
    • 培養學員管理防火牆的能力,以便在發生資安事件(如軟體漏洞)時,能透過防火牆規則快速應對。
  • 透過新聞事件學習
    • 當軟體出現漏洞且無法即時更新時,最快的方式是利用防火牆阻擋特定通訊埠(Port)或IP來源。
    • 例如,若攻擊主要來自特定國家(如俄羅斯),且公司業務與其無關,可直接在防火牆設定阻擋該國的整段IP。
  • 防火牆類型比較
    • 硬體式防火牆:唯一推薦,主要優勢在於封包過濾的效率極高。
    • 軟體式防火牆:本課程將教學員架設軟體式防火牆,逐步講解建置、使用到管理的過程。

防火牆的功能與作用

  • 基本定義
    • 防火牆是網路的基本安全防護設備,主要用於網路隔離。
  • 抵禦外部攻擊
    • 阻斷服務攻擊(DoS/DDoS):DoS是單點攻擊,現已少見;DDoS則是透過控制大量電腦(肉雞)同時發動攻擊,是現今主流。
    • 漏洞攻擊:駭客利用伺服器或軟體的漏洞進行掃描或入侵。
    • 跳板攻擊:駭客透過釣魚郵件誘騙員工點擊,使員工電腦中毒成為跳板,再藉此進行內部攻擊。
  • 保護內部網路
    • 內部隔離:可依部門劃分不同網段(VLAN),並用防火牆規則阻斷部門間的非必要連線,保護重要部門(如會計部)的資料安全。
    • 限制資料外傳:設定規則禁止內部特定網段的電腦對外傳送資料,即使電腦中毒,機密資料也無法外洩。
  • 降低維運成本與風險
    • 有效的防火牆能減少資安問題,降低重灌系統的頻率,並防止機密資料外洩造成的經濟損失。

防火牆的運作原理與管理

  • 核心運作原則
    • 比對規則、採取動作:防火牆會針對通過的封包,比對預設規則,並根據符合的規則執行相應動作。
  • 規則(Rules)
    • 規則設定越精細,防火牆通常越昂貴。
    • 常見規則比對條件:
 ** MAC Address:硬體位址。
 ** IP Address / 網段 (Subnet):最基本的條件,可針對單一IP或整個IP段(如 192.168.100.0/24)進行設定。
 ** Port:通訊埠號碼。
 ** 封包表頭狀態:如TCP/UDP協定的旗標(SYN, ACK)。
 ** 封包流向:輸入(Inbound)或輸出(Outbound)。
 ** 流量大小:當累積流量超過設定值時觸發動作。
 ** 時間:設定規則在特定時間段生效或失效。
  • 動作(Actions)
    • 通過(Pass):允許封包通過。
    • 拒絕(Reject):阻擋封包,並回傳「拒絕」訊號給來源端。
    • 丟棄(Drop):直接丟棄封包,不回傳任何訊息。
    • 轉送(Forward):將封包轉送到指定區域或閘道。
    • 更改或替換:更改封包內容,對CPU效能要求較高。
  • 防火牆的管理方式
    • 指令列介面 (CLI):效率高但需記憶指令,如Cisco設備。
    • 網頁圖形化介面 (Web GUI):主流方式,直覺易用。
    • 近端與遠端管理:近端管理只能在內網操作,安全性較高;遠端管理允許從外網操作,方便但風險較高。

防火牆類型比較:軟體式 vs. 硬體式

  • 架構:軟體式多基於PC架構;硬體式為專門設計的工業級電腦,穩定性更高。
  • 作業系統:軟體式使用通用OS(如Windows/Linux);硬體式使用廠商專屬OS。
  • 儲存與記憶體:軟體式易於擴充;硬體式通常較小,因其系統精簡。
  • 操作方式:軟體式較直覺(PC操作);硬體式常需學習專屬指令。
  • 安裝與升級:軟體式較繁瑣(需先裝OS);硬體式通常透過韌體更新,非常簡單。
  • 整體效能:硬體式效能遠優於軟體式,每秒可處理的封包數差異巨大。
  • 花費:軟體式成本較低;硬體式價格昂貴。
  • 選用建議:若預算允許,公司環境應優先選擇「硬體式防火牆」。家用IP分享器可視為一種整合多功能的硬體式防火牆。

Linux 防火牆管理方式

  • 介紹了四種在Linux系統中修改防火牆規則的方法,難度與效率各不相同:
 1. 核心層級指令 (iptables/nftables):最難但效率最好。
 2. 系統服務 (firewalld/ufw service):難度與效率次之。
 3. 服務自帶的管理工具 (firewall-cmd/ufw command):比方法2簡單但效率更差。
 4. 整合性圖形介面系統 (如 Webmin):最簡單但效率最差。

pfSense 介紹與功能

  • pfSense 的本質與背景
    • 是一個基於FreeBSD的開源作業系統式防火牆,定位為商業等級,具備高效能與高穩定性。
    • 從M0n0wall專案分支而來,整合了豐富的網路套件。
    • 安裝後所有管理皆在全Web UI介面進行,支援正體中文。
    • 適合中小企業使用;大企業建議選用硬體式防火牆。
  • pfSense 的核心功能與特色
    • 網路基礎:支援IPv4/IPv6、無線網路AP、802.1Q VLAN。
    • 位址與使用者管理:NAT、DHCP伺服器/中繼、網頁認證 (Captive Portal)。
    • 伺服器與服務:NTP伺服器、PPPoE伺服器、DNS解析器/轉發器。
    • 遠端與監控:網路喚醒 (Wake-on-LAN)、動態DNS (Dynamic DNS)、SNMP服務。
    • 安全與VPN:支援IPsec和OpenVPN、入侵偵測系統 (IDS) 套件 (如Snort)、代理伺服器 (Proxy) 套件 (如Squid)。
  • 擴充套件
    • 提供超過70種網路相關套件,可透過Web UI輕鬆安裝,如Bind、HAProxy、iperf3等。

pfSense 安裝與實作規劃

  • 硬體需求與相容性
    • 硬體需求極低(CPU 500MHz, RAM 1GB),但安裝前務必查詢官方的硬體相容性列表 (HCL)。
    • 可安裝在SD卡、USB隨身碟或硬碟上,建議安裝於硬碟以保存設定。
  • 課程實作架構
    • 環境:在VMware虛擬機中進行。
    • 主機:1台全新安裝的pfSense主機、2台由Ubuntu複製的用戶端電腦。
    • 網路設定:
      • WAN (外部網路):pfSense網卡1連接VMnet8 (NAT),由DHCP取得IP。
      • LAN (內部網路):pfSense網卡2設定固定IP 192.168.100.254,作為內部閘道。
      • 用戶端:連接至內部網路,透過pfSense的DHCP服務取得IP上網。
  • 課程目標
    • 完成pfSense安裝與基本設定,讓內部用戶端能透過pfSense連上網際網路。
    • 為後續實作通訊埠轉發 (Port Forwarding) 與網站存取控制等功能做準備。

2026-0420-03.png

虛擬機建立與基礎資源配置

  • 硬體模板:以 BST 平台為例,選擇接近的模板(如 BST4、624),可降低後續在 CM25 驗證時的參數差異。
  • CPU/記憶體/磁碟:CPU 示範 2 顆;記憶體 2GB(可後續由監控服務評估是否足夠);新建 20G 硬碟,進階 IO/磁碟選項維持預設。
  • 網卡:兩張 NIC 架構—NIC1 對外用 NAT,NIC2 作為內部網段(示例 192.168.0.3,實務依需求規劃)。
  • 顯示:依實際環境調整解析度以確保操作介面清晰。
  • ISO 處理:課程提供之 ISO 多為 .iso.gz/.ge 壓縮,Windows 需以 7-Zip/WinRAR 等工具解壓後再掛載。

pfSense 安裝與 Console 初始設定

  • 安裝流程:同意授權後選擇 Install,檔案系統建議 UFS;磁碟分割可選 MBR/GPT,示範以 MBR,自動整碟安裝。
  • 首次開機:進入 Console 選單(數字鍵操作),不同版本畫面略有差異屬正常。
  • 介面指派與 IP 設定:
    • 選單 1 指派實體介面為 WAN/LAN(例:em0/igb0、em1/igb1),建議手動指定,VLAN 本示範不使用。
    • 選單 2 設定 IP:示例以 WAN 固定 IPv4 192.168.10.150/24、閘道 192.168.10.1;可選擇是否重啟 Web UI;IPv6 本示範停用。
  • 連通性檢查與維護:選單 7 ping 8.8.8.8 驗證外網;選單 11 重啟 webConfigurator;選單 14 啟用 SSH;選單 4 還原初始(刪除 config.xml)以快速復原;選單 15 從外部媒體還原 config.xml。

config.xml 的核心地位與備援

  • config.xml 為唯一主設定檔;完成設定後應立即備份。
  • 任一新硬體上重裝 pfSense 並匯入 config.xml 可快速恢復環境。

進入 Web GUI 與安裝精靈

  • LAN 靜態 IP:以 Console 設定 LAN IPv4(示例 192.168.100.254/24),停用 DHCP 取得與 IPv6;變更 LAN 位址後需以新 IP 重新登入。
  • 登入 Web GUI:以瀏覽器連線至 LAN IP;預設帳密依實際發行版為準(口述示例 pfceng)。
  • 精靈設定:
    • 一般資訊:Hostname(例 DeepSense)、Domain 先占位;DNS 主/次建議選擇可靠來源。
    • 時間同步:建議設 time.stdtime.gov.tw 類 NTP,時區 Asia/Taipei 或 UTC+8。
    • 檢視介面設定:檢查 Gateway/LAN IP,可視需要調整。
    • 管理者密碼:設置強密碼,避免使用弱密碼。
  • Dashboard:自訂小工具,監看系統/連線/VPN 等資訊。若無法進入 Web 介面,後續設定無法進行,需優先排除。

系統進階設定、存取安全與套件

  • 使用 HTTPS/TLS 管理,避免 HTTP 明文;可調整 Web 埠與啟用 SSH(預設 22),並管控來源。
  • 介面語言與地區可切換繁中,操作不影響功能。
  • 套件管理:安裝後功能入口出現在相應功能列;診斷工具(ping、traceroute、ARP table、nslookup)集中在 Diagnostics。
  • 狀態監控:DHCP 租約、流量圖、服務狀態與日誌可視化。

DHCP Server 與動態 DNS

  • DHCP 啟用與設定:Services > DHCP Server 勾選 Enable,設定發放範圍(例 192.168.1.100–192.168.1.200)、Router/Gateway 與 DNS,儲存後按 Apply Changes。
  • 驗證:以兩台 Clone 的內部主機開機取得租約、修改主機名、確認 IP 範圍並對外 ping 測試。
  • 動態 DNS:示範 No-IP,填入主機名、帳號、密碼,於 WAN IP 變動時自動更新。

Clone Linux 客戶端重複租約的故障排除

  • 問題描述:兩台克隆 Linux 雖已更改 hostname 與 MAC,仍因相同 /etc/machine-id 推導出相同 DHCP client identifier,導致取得相同 IP,出現一台可通、一台不通的交替現象。
  • 診斷要點:檢視 /etc/machine-id 尾碼相同;在 pfSense 的 DHCP leases 觀察租約;必要時抓包確認相同 identifier。
  • 解法(建議):刪除並重生 /etc/machine-id,重啟或重啟網路以重新取得租約,兩台將分配不同 IP。亦可改變客戶端 DHCP 識別方式為 hostname 或 MAC(屬進階作法)。
  • 實務提醒:至少確保一台客戶端可上網以進行後續安裝與操作;可在課後自我檢查並預留時間處理。

2026-0420-04.png

伺服器開機順序與 DHCP 靜態 IP 綁定

  • 正確的開機順序與檢查
    • 順序: 在本次環境中,應先開啟作為閘道器(Gateway)的設備,再開啟客戶端主機(Knight),以避免客戶端因無法獲取網路資訊而卡住。
    • 檢查: 開機後應依序檢查閘道器對外連線、客戶端主機是否獲取 IP、以及客戶端主機對外連線是否皆正常。
  • DHCP 靜態 IP 綁定 (Static Mapping)
    • 目的: 為了方便管理與識別,為公司重要設備設定固定的 IP 位址,而不是使用動態分配的浮動 IP。
    • 實務操作: 網管人員通常會利用設備外箱貼紙上的 MAC 位址資訊,在 DHCP 伺服器上預先設定 IP 綁定規則。
    • 在 PFSense 中設定:
      • 路徑: Services -> DHCP Server -> DHCP Static Mappings。
      • 操作: 新增一條映射規則,填入從 DHCP 租約列表 (DHCP Leases) 中複製的設備 MAC 位址,並指定一個固定的 IP 位址(如 192.168.100.201)。
      • 其他設定: 可自訂主機名稱(Hostname)、描述(Description),並可為該設備指定特定的 DNS 伺服器或閘道器。
    • 驗證與故障排除:
      • 驗證: 重啟設備網路服務後,檢查其是否獲取到指定的 IP。
      • 故障排除: 若無法上網,需檢查是 DNS 問題(ping IP 通,ping 域名不通)還是閘道器設定錯誤(ping IP 也不通)。
    • Client Identifier: 除了 MAC 位址,DHCP 伺服器也可根據客戶端發送的 Client Identifier(用戶端識別碼)來分配 IP。

通訊埠轉發(Port Forwarding)

  • 概念與目的
    • 通訊埠轉發是一種 NAT 功能,允許外部網路使用者透過防火牆的公開 IP 和指定埠號,連線到內部網路的特定主機。
    • 範例: 將外部對防火牆 WAN 介面 2201 埠的連線請求,轉發至內部主機 192.168.102.201 的 SSH 22 埠。選擇不常見的埠號可增加安全性。
  • 在 pfSense 中設定
    • 路徑: Firewall > NAT > Port Forward 頁籤。
    • 新增規則:
      • Interface: 選擇 WAN (封包進入的介面)。
      • Protocol: 選擇服務所需協定,如 SSH 使用 TCP。
      • Destination: 選擇 WAN address。
      • Destination port range: 設定外部連線使用的埠號(如 2201)。
      • Redirect target IP: 輸入內部目標主機的 IP(如 192.168.102.201)。
      • Redirect target port: 設定轉發至內部主機的埠號(如 SSH (22))。
  • 問題排查與解決方案
    • 現象: 設定後外部連線逾時(timeout)。
    • 偵錯: 使用防火牆的封包擷取(Packet Capture)功能,發現外部 SYN 封包到達防火牆後被丟棄。
    • 根本原因: pfSense 的 WAN 介面預設會勾選 Block private networks and loopback addresses 選項,阻擋來自私有 IP 網段(RFC1918)的傳入流量。由於本次練習的外部客戶端 IP 屬於私有網段,因此連線被阻擋。
    • 解決方案: 進入 Interfaces > WAN 設定頁面,取消勾選上述選項,儲存並套用設定後即可成功連線。
  • 應用: 可用於遠端桌面連線、管理內部設備(作為跳板機)等場景。

使用 pfSense 封鎖特定網站

  • 封鎖邏輯 (別名 Alias)
    • 相較於傳統逐一封鎖 IP 的低效率方法,pfSense 提供了更高效的管理方式。
    • 步驟一:建立群組 (Alias): 在 Firewall > Aliases 中建立一個 Hosts 類型的別名群組(如 GameBlocker),並將所有要封鎖的網站域名(FQDN,如 gamer.com.tw)加入其中。
    • 步驟二:封鎖群組: 在 Firewall > Rules > LAN 介面上建立一條防火牆規則,直接封鎖整個 Alias 群組。
  • 建立防火牆封鎖規則
    • 路徑: Firewall > Rules > LAN。
    • 新增規則:
      • Action: 選擇 Block (建議)。
      • Protocol: 選擇 Any 以徹底封鎖所有協定,包含 ping (ICMP)。
      • Source: 保持 any。
      • Destination: 類型選擇 Single host or alias,並在下方欄位選取先前建立的 Alias 名稱 (GameBlocker)。
  • 規則順序的重要性
    • 防火牆規則由上至下依序比對,一旦符合即停止。
    • 新增的 Block 規則必須放置在允許所有流量通過的預設 Allow 規則之前,否則封鎖將無效。可以透過拖動來調整規則順序。
  • 其他相關功能
    • 流量管制 (Traffic Shaper): 可設定流量優先級。
    • 時間排程: 可搭配規則,實現在特定時間段自動開啟或關閉封鎖。

2026-0421-01.png