Proxmox Home Lab 安全防護:逐步指南
為了更深入了解 Proxmox 的特點與特性,新使用者通常會選擇使用 Proxmox 主機建立一個稱為”Proxmox 家庭實驗室”的測試環境。在設定 Proxmox 家庭實驗室時,務必採取適當的安全措施。這篇部落格文章將介紹您應實施的 Proxmox 安全最佳實踐,以防止資料遺失並抵禦網路威脅。
為何確保 Proxmox 家庭實驗室的安全至關重要
若未採取適當的安全措施,您的 Proxmox 環境將可能面臨網路威脅、資料外洩及未經授權存取的風險。無論是個人或專業用途,Proxmox 家庭實驗室的安全性都至關重要。未經授權的使用者若存取 Proxmox 主機,將可能威脅該主機、虛擬機器、 NAS設備 以及連線至該網路的其他主機。 未經授權的存取可能導致惡意軟體和勒索軟體感染,進而造成資料外洩與損失。由於 Proxmox 主機通常運行於實體硬體上,攻擊者可利用這些硬體資源進行加密貨幣挖礦、從事其他網路犯罪活動、將 Proxmox 主機納入殭屍網路,或執行惡意腳本等。這些因素都可能大幅降低主機與虛擬機器的效能。
Proxmox 的基本安全措施
為降低 Proxmox 家庭實驗室遭未經授權存取的風險,您應了解如何保障 Proxmox 環境的安全,並實施基本的安全措施。
設定強密碼並啟用雙因素驗證 (2FA)
為管理帳戶設定強密碼是第一道防線。請使用 8 個字元或以上的獨特密碼。密碼應包含小寫字母、大寫字母、數字及特殊字元。 您可使用符合這些需求的密碼短語,以便於記憶。符合複雜度需求的強密碼能有效阻擋攻擊者,因為暴力破解攻擊難以攻破。為增強安全性,您可以設定雙因素驗證(多因素驗證、MFA 或 2FA)。 Proxmox 支援多種雙因素驗證配置方式,例如使用基於時間的一次性密碼 (TOTP) 或 YubiKey OTP。您可以在 Proxmox VE 網頁介面中,透過 → 權限 (Permissions) > → 雙因素 (Two Factor) 來編輯設定。
強化 SSH 存取安全性
Proxmox 的管理雖是透過圖形化網頁使用者介面進行,但最詳細的設定可透過 SSH 連線在命令列中完成。Proxmox 主機上提供 SSH 伺服器,其運作方式類似於 Linux 機器上用於主機管理的 SSH 伺服器。若攻擊者能取得主機的 SSH 存取權限,便能獲得完全控制權並執行惡意軟體。您可以實施額外的安全措施,以降低未經授權存取的風險。例如,您可以將標準 SSH 埠(22)變更為自訂埠(9522)。停用 root 登入,並使用 sudo 來取得管理員權限。 透過 SSH 登入時,使用公鑰取代密碼雖然需要更複雜的設定,但能提供更高的安全性。
實施 VLAN 以進行網路分段
若您欲將任何可能存在安全漏洞的裝置連接到 Proxmox 主機或虛擬機器所屬的網路中,應考慮設定 VLAN 。 VLAN 用於在 OSI 模型的第二層進行網路分段,讓您能夠在同一物理網路中邏輯性地分離裝置。Proxmox VE 中用於家庭實驗室的 VLAN 範例包括:
- 管理 VLAN: 僅供 Proxmox GUI、SSH 及管理工具使用。
- 虛擬機器 VLAN: 適用於特定工作負載,例如網頁伺服器、資料庫或開發環境。
- 儲存 VLAN: 專用於 NAS、NFS、iSCSI 或 Proxmox 備份伺服器。
- 物聯網 VLAN: 將智慧家庭裝置與關鍵基礎設施隔離。
使用 VLAN 可將攻擊面降至最低,並提供以下優勢:
- 限制惡意軟體在不同 VLAN 間的傳播。
- 防止遭入侵的虛擬機器存取 Proxmox 管理介面。
- 在服務之間實施嚴格的存取控制。
舉例來說,若惡意軟體感染了連接至 VLAN 20 的虛擬機器並在網路上擴散,它將無法存取連接至 VLAN 10 的 Proxmox 主機管理介面。建議您除了在 OSI 模型的第二層配置 VLAN 之外,還應在第三層配置 Proxmox 防火牆及防火牆規則。
- 僅允許從管理 VLAN 10(192.168.10.0/24)存取 Proxmox 的 SSH 服務。
- 拒絕所有發生在客體 VLAN 30(192.168.30.0/24)與 Proxmox 管理 VLAN 之間的通訊。
- 僅允許需要 NAS 存取的虛擬機器存取 NAS,而非整個網路。
下表展示了一個 Proxmox 家庭實驗室的 VLAN 架構範例。
| VLAN ID | 用途 | 子網 | 存取權限 |
| 10 | 管理 | 192.168.10.0/24 | Proxmox GUI、SSH、 虛擬化管理 |
| 20 | 伺服器/虛擬機器網路 | 192.168.20.0/24 | 網頁伺服器、應用程式伺服器、資料庫虛擬機器 |
| 30 | 來賓 VLAN | 192.168.30.0/24 | 信任等級最低的裝置(來賓筆記型電腦、物聯網) |
| 40 | 儲存 VLAN | 192.168.40.0/24 | NFS、iSCSI、NAS、Proxmox 備份伺服器 |
| 50 | DMZ (公開式) | 192.168.50.0/24 | 公開網路伺服器,反向代理 |
使用管理交換機建立VLAN及標籤與Proxmox連接的連接埠。可透過編輯Proxmox網路組態於/etc/network/interfaces 中建立VLAN。以下為在橋接介面上建立VLAN的組態檔案內容示例: auto vmbr0 iface vmbr0 inet manual bridge-ports eno1 bridge-stp 關閉 bridge-fd 0 # 管理VLAN (ID 10) auto vmbr0.10 iface vmbr0.10 inet static 地址 192.168.10.2/24 vlan-未加工-裝置 vmbr0 # 虛擬機器VLAN (ID 20) auto vmbr0.20 iface vmbr0.20 inet static 地址 192.168.20.2/24 vlan-未加工-裝置 vmbr0
限制不必要的埠存取
攻擊者可能利用各類服務的開放埠,透過現有漏洞存取 Proxmox 主機。請透過防火牆關閉不必要埠的存取權限,或將存取範圍限制在 Proxmox IP 位址及特定埠上,僅允許手動定義的可信賴 IP 位址存取。由於 Proxmox 是一個 基於 Linux 的 系統,Proxmox VE 採用基於 iptables 的強大防火牆。 若您使用的是 Proxmox 叢集,防火牆會將設定儲存並在每個叢集節點上運行。要在 Proxmox VE 網頁介面中存取 Proxmox 防火牆設定,請依序前往 資料中心 > 防火牆 > 安全規則 並新增一個包含自訂防火牆規則的群組。
設定防火牆或路由器虛擬機器
在 Proxmox 主機或叢集上運行防火牆,不僅能保護 Proxmox 家庭實驗室中的 Proxmox 主機,還能提供更廣泛的防護。 您可以設定一台專門用於防火牆任務的虛擬機器,以保護整個網路及所有連線裝置。此種設定通常被稱為”虛擬防火牆”或”防火牆虛擬機器”架構。像 pfSense、OPNsense 這樣的熱門防火牆解決方案,或是基於 Linux 的防火牆(例如 iptables),皆可透過此方式部署。請注意,若 Proxmox 主機持續運行,這種採用防火牆虛擬機的 Proxmox 家庭實驗室配置會相當便利。但若主機會定期關機,用於保護整個網路的防火牆虛擬機也會隨之關機。若該防火牆虛擬機是作為網路中所有裝置的網際網路存取中樞,此情況可能會引發問題(在此情況下,使用配置為防火牆的實體裝置可能更為便利)。 在決定是否使用防火牆虛擬機器之前,您應先評估此配置在您環境中的優缺點。
加密 ZFS 磁碟以保護資料
若您在 Proxmox 主機上使用 ZFS 檔案系統且需要最高安全等級,請考慮為 Proxmox 啟用 ZFS 加密功能,以加密儲存池並防止未經授權存取含有資料的磁碟機。 在對磁碟和檔案系統執行任何操作前請務必謹慎。變更儲存配置前,請先備份重要資料。以下是在 Proxmox 主機上加密 ZFS 儲存池的範例: zfs create pool-name/safe -o encryption=on -o keyformat=passphrase
切勿將 Proxmox 暴露於公共網際網路
請勿允許從網際網路對 Proxmox 主機進行公開存取。 若需從外部位置存取 Proxmox 主機,請透過明確指定 IP 位址與埠號,將防火牆設定為允許特定 IP 位址存取您的 Proxmox 主機。您可利用防火牆的埠轉發功能來達成此目的。此外,您亦可在設置 Proxmox 家庭實驗室的環境中配置 VPN 伺服器,並透過 VPN 連線從外部網路存取 Proxmox 主機。
監控與稽核 Proxmox 安全性
監控 家庭實驗室中的 Proxmox 主機有助於提升整體安全性。請監控 Proxmox 主機上的日誌,並密切關注 CPU、記憶體及磁碟使用狀況。請確保已啟用 Proxmox 內建日誌:
- Syslog: /var/log/syslog – 一般系統日誌。
- 驗證: /var/log/auth.log – 透過 SSH 和 GUI 的登入嘗試。
- Proxmox 專用日誌: /var/log/pve/ – 與 Proxmox 服務相關的日誌。
此外,您可使用專用的集中式監控工具(免費或付費解決方案)來監控 Proxmox 主機及虛擬機器上的客體作業系統。設定警示與通知,以便盡快解決可能出現的問題。在設定自動驗證時,請注意以下情況:
- 5 分鐘內 SSH 登入失敗超過 5 次。
- 虛擬機器的 CPU 使用率持續超過 90% 長達 10 分鐘以上。
- 偵測到 Proxmox 主機上出現意外開啟的埠。
定期執行稽核與安全掃描。定期安裝安全修補程式與更新,以修復已知漏洞。檢視防火牆規則,確保其設定最佳化,並考量最新的基礎架構變更。
保護 Proxmox 備份免受勒索軟體侵害
Proxmox 備份可讓您保護 Proxmox 虛擬環境中的資料。請定期備份虛擬機器,並將備份儲存於安全地點。 若勒索軟體感染虛擬機器並將資料不可逆地加密,您可以還原備份以避免資料遺失。然而,備份本身也是勒索軟體的攻擊目標。請確保僅授權使用者能存取備份儲存裝置及應用程式。使用空間隔離儲存裝置以及 備份不可變性 ,以確保您的 Proxmox 家庭實驗室及 Proxmox 備份獲得最佳的勒索軟體防護。空間隔離儲存裝置可以是物理上斷開連接的硬碟 (HDD)、光碟、磁帶盒等。 備份不可變性是一項採用”一次寫入、多次讀取”(WORM)方法的特點。資料一旦寫入,在不可變性期間屆滿前,便無法進行修改或刪除。NAKIVO Backup & Replication 是一套專用的資料保護解決方案,支援虛擬機器的” Proxmox 備份 “特點以及不可變性。不可變備份可配置於連接到 Linux 的本地” 備份儲存庫 “——例如” 傳送器“、” Amazon S3“、雲端及 S3 相容的物件儲存。
結論
Proxmox 的高效安全措施包括:強大的驗證政策、網路分段、防火牆存取限制、Proxmox SSH 安全性、環境監控、資料備份以及勒索軟體防護。請在實驗室環境中的 Proxmox 系統中實施這些措施,以降低惡意軟體感染的風險並防止資料遺失。使用 NAKIVO Backup & Replication 備份 Proxmox 虛擬機器,並透過不可變性機制保護備份免受勒索軟體侵害。