「緯育 2026-0420.2」修訂間的差異
出自頂極製作所
| 行 126: | 行 126: | ||
* 驗證:以兩台 Clone 的內部主機開機取得租約、修改主機名、確認 IP 範圍並對外 ping 測試。 | * 驗證:以兩台 Clone 的內部主機開機取得租約、修改主機名、確認 IP 範圍並對外 ping 測試。 | ||
* 動態 DNS:示範 No-IP,填入主機名、帳號、密碼,於 WAN IP 變動時自動更新。 | * 動態 DNS:示範 No-IP,填入主機名、帳號、密碼,於 WAN IP 變動時自動更新。 | ||
=== | === 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) 與網站存取控制等功能做準備。
虛擬機建立與基礎資源配置
- 硬體模板:以 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(屬進階作法)。
- 實務提醒:至少確保一台客戶端可上網以進行後續安裝與操作;可在課後自我檢查並預留時間處理。
伺服器開機順序與 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): 可設定流量優先級。
- 時間排程: 可搭配規則,實現在特定時間段自動開啟或關閉封鎖。