開始前先了解

操作本篇前, 請先確認具備可用且獨立於 Web 管理入口的復原主控台, 例如機房遠端主控台. 同一個 Web 頁面內的命令列不能當作入口被封鎖後的獨立救援方式. 本次截圖中的自動回復計時器是示範環境另外準備並演練的保護, 讀者仍應先確認自己的獨立主控台可用.

記錄資料中心與節點的原始防火牆設定, 備份 /etc/pve/firewall/cluster.fw 與 /etc/pve/nodes/<節點名稱>/host.fw. 原本不存在的檔案也要記錄, 以便還原. 保留既有管理連線, 但驗證時一定另外建立新連線.

本篇示範為單一節點, Web 使用 TCP 8006, SSH 使用 TCP 1208. 端口與來源必須依自己的環境替換. 多節點叢集, 儲存, 備份及遷移還需要各自的通訊規劃, 不應直接套用整機預設拒絕.

本次已實際啟用並完成 IPv4 允許與拒絕測試, 隨後恢復示範主機原本的停用狀態. IPv6 規則已核對, 尚未進行 IPv6 外部連線實測. 本篇只限制列出的兩個管理端口, 不是整台主機所有服務的安全設定清單.

本系列使用 Proxmox VE 9 繁體中文介面的真實截圖. 節點, 儲存名稱與示範數值請換成自己的環境; 作業系統安裝程式可能維持其原有語言.

01確認真正使用的管理端口與復原安排

選取節點並開啟 命令列, 核對正在監聽的端口. 畫面顯示 Web 管理為 8006, SSH 為 1208. SSH 若已換成其他端口, 白名單也必須跟著調整, 不能只新增預設 22.

核對目前防火牆狀態. disabled/running 表示服務正在執行, 但全域過濾尚未啟用. 在修改前完成設定備份與復原演練. 本次使用主機上的自動回復計時器, 確認可恢復原始設定後才開始短時間測試.

ss -lntp '( sport = :8006 or sport = :1208 )'
pve-firewall status
systemctl is-active pve-firewall
節點命令列顯示 Web 8006, SSH 1208 與防火牆原始停用狀態 放大圖片
先核對實際端口. 防火牆服務正在執行, 不代表過濾已啟用.

02建立只包含可信來源的獨立白名單

在 資料中心 展開 防火牆, 選 IPSet, 按 建立, 名稱填 trusted-admin. 選取這個 IPSet 後, 在右側 IP/CIDR 按 增加, 逐一填入允許管理的來源. 單一 IPv4 使用 /32, 單一 IPv6 使用 /128. 儲存後畫面可能省略單一主機的遮罩.

填的是主機實際看到的連線來源, 不是筆電的區域網路位址. 使用分享器時通常是對外固定 IP. 圖中的兩個位址屬於示範環境, 不要直接照填. 動態 IP 更換前, 先透過既有可信來源或獨立主控台更新白名單.

本篇刻意使用獨立名稱. 預設 management 群組可能自動加入本地或叢集網段, 不一定只有畫面上手動輸入的來源. 需要精確限制時, 不要直接把它當作只包含數個 IP 的自訂白名單.

資料中心自訂 trusted-admin IPSet 與兩個可信管理來源 放大圖片
使用獨立 trusted-admin 白名單, 非示範管理來源已遮蔽. 請填自己的實際來源.

03先放行可信來源的 Web 與 SSH

選取要保護的節點, 進入 防火牆 並按 增加. 方向 選 in, 動作 選 ACCEPT, 勾選 啟用, 協定 選 tcp, 來源位址 選 +trusted-admin, 目標連接埠 填 8006, 然後儲存.

再建立一筆相同來源的 SSH 允許規則, 只把目標連接埠改為實際 SSH 端口. 本篇是 1208. 圖中開啟已儲存規則的 編輯 視窗核對欄位. 來源連接埠 保持空白, 不要把服務端口填到用戶端的來源端口.

節點規則編輯視窗, 允許 trusted-admin 透過 TCP 1208 使用 SSH 放大圖片
自訂 SSH 端口需要自己的允許規則. 此圖是已儲存規則的核對畫面.

04在允許規則後拒絕其他管理來源

再新增兩筆 in / DROP / tcp 規則, 目標連接埠分別為 8006 與本篇的 1208, 來源位址留空以涵蓋其他來源. 四筆規則都要啟用, 並依下表排序. 用左側拖曳位置調整時, 再次核對允許規則在拒絕規則之前.

在啟用全域過濾前, 先到 節點 > 防火牆 > 選項, 選取 防火牆 並按 編輯, 勾選後按 完成, 確認清單為 是. 本篇先準備好節點開關, 下一步才啟用資料中心的全域過濾.

本篇不變更其他服務的預設策略, 也不切換防火牆後端. 先核對既有 VM/CT 設定. 全域啟用可能讓其他已設定的規則一併生效, 需要先盤點影響範圍. 若全域原本已啟用, 改節點開關就可能立即生效, 必須先完成管理白名單, 規則順序與復原安排.

順序方向動作來源位址協定目標連接埠
0inACCEPT+trusted-admintcp8006
1inACCEPT+trusted-admintcp1208
2inDROP留空tcp8006
3inDROP留空tcp1208
節點依序排列兩筆管理來源 ACCEPT 與兩筆管理端口 DROP 規則 放大圖片
先允許可信來源, 再拒絕其他來源. 本篇只限制 Web 與指定 SSH 端口.

05核對預設策略並啟用資料中心防火牆

確認備份, 節點開關, 規則順序與復原安排都已就緒後, 進入 資料中心 > 防火牆 > 選項. 本篇示範環境的 輸入原則 與 輸出原則 均為 ACCEPT, 由前一步的明確規則限制管理端口. 既有環境若已有不同策略, 應先評估, 不要為了照圖操作而放寬.

選取 防火牆, 按 編輯, 勾選後按 完成. 回到清單確認變為 是. 不要同時更動管理 IP, Bridge, 全部連入策略或防火牆後端, 讓每次驗證的影響範圍保持明確.

資料中心防火牆已啟用, 輸入與輸出原則為 ACCEPT 放大圖片
此實測保留其他流量策略, 以明確規則保護管理端口.

06確認節點過濾啟用且保留原有後端

回到 節點 > 防火牆 > 選項, 確認 防火牆 為 是. 資料中心與節點的設定要一起核對, 只看到規則清單仍不足以證明正在過濾. 本篇節點開關已在啟用全域設定前準備好, 此步再次確認實際狀態.

圖中的 nftables (技術預覽版) 保持 否, 沿用示範主機的既有後端. 不要把改用另一個後端當成啟用白名單的必要步驟. 使用不同後端的既有環境, 應依自己的版本文件核對規則效果.

pve-firewall status
節點防火牆為是, nftables 技術預覽版保持否 放大圖片
節點防火牆已啟用. 本篇沒有切換防火牆後端.

07用兩個來源驗證全新的管理連線

先從白名單來源另外開啟 Web 頁面與新的 SSH 連線, 確認可以正常使用. 再從未列入白名單的來源, 測試同一個目標 IP 與相同端口. 啟用前也要確認這個來源原本能連線, 避免把錯誤位址或其他網路故障當成防火牆生效.

本次可信來源 103.158.228.70 的 Web 回應 HTTP 200, SSH 收到服務識別; 未允許來源 103.158.228.67 連入兩個端口均逾時, 並核對拒絕規則命中計數. 畫面中的探測工具每次都建立新 TCP 連線. 舊 SSH 或已連線的 WebSocket 可能繼續通行, 不能拿來判定新來源規則是否正確.

IPv6 若也是管理來源, 必須先建立相應允許條目再測試. 本次已核對 IPv6 管理端口拒絕規則, 但沒有對外 IPv6 連線的成功或拒絕實測. 此外, 測試 Web 回應不等於已核對 HTTPS 憑證; 日常使用仍需確認憑證身分, 不應忽略所有憑證警告.

啟用防火牆後可信來源成功, 其他來源的 Web 與 SSH 均逾時, 自動回復計時器仍有效 放大圖片
實際新連線測試: 可信來源可達, 其他來源被阻擋. 本次驗證範圍為 IPv4.

08完成復原驗證並加強登入帳號

正式環境只有在新連線驗證通過, 獨立復原管道可用且管理來源維護方式明確後, 才保留新策略並取消測試用回復計時器. 若結果不符, 優先透過預先安排的復原方式還原原設定, 不要一邊失去連線一邊改更多項目.

本次是短時間示範, 測試後已主動恢復原始設定與 disabled/running 狀態, 再確認兩個來源重新可建立連線, 最後取消回復計時器. 因此不能把示範主機描述為目前仍持續受此白名單保護. 圖片保留了還原後的真實結果.

網路來源限制以外, 日常管理應使用各自的帳號, 依需要分配權限, 設定強密碼與雙因素驗證, 並保存復原資訊. SSH 換端口只能降低部分掃描雜訊, 不能取代白名單或登入驗證. 其他管理服務端口若有使用需求, 也應另行盤點並驗證.

還原原始停用狀態後兩個來源重新可使用 Web 與 SSH 的實際命令列結果 放大圖片
本次示範已還原原始設定. 正式環境保留策略前, 仍需完成自己的復原與連線驗證.

完成後如何確認

可以辨識實際管理端口, 建立獨立來源白名單, 並依序設定允許與拒絕規則.

知道如何區分設定存在與實際生效, 並從可信及未允許來源驗證新連線.

本次已完成 IPv4 允許, 拒絕與還原實測, 最終恢復示範主機原始停用狀態. 未宣稱已完成 IPv6 外部實測或整機所有服務的防護.

常見問題

把 SSH 換成其他端口, 就不用來源白名單了嗎?

換端口只能減少部分常見掃描, 服務仍可被發現. 應同時核對來源限制, 帳號權限與登入驗證, 並為實際端口建立允許規則.

原本的 SSH 還能操作, 是否表示白名單設定成功?

既有連線可能由連線狀態規則繼續放行. 必須從指定來源重新建立 TCP 連線, 並同時驗證可信來源成功及其他來源失敗.

只有兩個管理端口設 DROP, 是否等於所有服務都已封鎖?

不等於. 本篇保留其他流量策略, 只限制 Web 與指定 SSH 入口. 遠端主控台, 遷移, 儲存或其他服務需依實際需求另行評估.

操作時需要協助?

告訴我們您停在哪個步驟, 由客服協助您確認.

聯絡客服