Skip to content

Nuface Blog

隨意隨手記 Casual Notes

Menu
  • Home
  • About
  • Services
  • Blog
  • Contact
  • Privacy Policy
  • Login
Menu

Proxmox 安全強化與零信任存取架構

Posted on 2025-10-312025-10-31 by Rico

🔰 引言

隨著 Proxmox 在企業內部逐漸取代傳統虛擬化平台,
其開源特性雖帶來靈活性與可控性,但也意味著 安全防護必須由管理者自行建立與維護。

傳統「內部網路即信任」的安全思維已不再適用於現代環境:
遠端辦公、雲端同步、API 自動化存取、跨站管理等都讓邊界變得模糊。

因此,建構一套 零信任 (Zero Trust) 的安全架構,
已成為保障 Proxmox 叢集安全與維運穩定的核心策略。


🧩 一、零信任架構的核心理念

核心原則說明
不預設信任任何裝置或使用者無論內部或外部連線,都需通過驗證與授權。
最小權限原則 (Least Privilege)僅授予完成任務所需的最低存取權限。
持續驗證與監控即使已登入,也持續評估風險並重新驗證。
明確資安邊界將叢集內的 API、Web、SSH、儲存通訊各自隔離與監控。

🧰 二、Proxmox 安全加固建議總覽

安全面向建議措施工具 / 設定方式
登入驗證啟用 雙因素認證 (TOTP)Web GUI → Datacenter → Permissions → Two Factor
帳號權限使用 Role-Based Access Control (RBAC)建立不同角色,如 Admin、Ops、Backup
API 存取採用 API Token + IP 限制設定 Token 並在防火牆中限制來源
SSH 登入禁用 root 密碼登入、使用金鑰驗證/etc/ssh/sshd_config 中設定 PermitRootLogin no
備份加密啟用 PBS 備份加密金鑰PBS → Datastore → Encryption
網路隔離使用 VLAN / 防火牆規則區隔管理網與業務網Proxmox 防火牆或外部防火牆設定
日誌與監控整合 Syslog / Wazuh / ELK / Prometheus實作集中式監控與告警

🧠 三、帳號與權限管理 (RBAC)

Proxmox 提供完整的 RBAC 權限分層模型。
透過角色 (Roles) 與權限 (Privileges),可以將使用者操作範圍精確劃分。

1️⃣ 建立角色與群組

pveum roleadd BackupAdmin -privs "Datastore.AllocateSpace Datastore.Audit VM.Backup"
pveum groupadd backup-team

2️⃣ 指派權限給群組

pveum aclmod / -group backup-team -role BackupAdmin

3️⃣ 新增使用者

pveum useradd backup1@pve --password secure123
pveum usermod backup1@pve -group backup-team

如此即可限制該使用者只能執行備份相關操作,
達到「最小權限原則」(Least Privilege Principle)。


⚙️ 四、API 安全管理

1️⃣ 建立 API Token

在 Web GUI:

  • 進入 Datacenter → Permissions → API Tokens
  • 為指定帳號產生 Token,例如: root@pam!automation

CLI 範例:

pveum user token add root@pam automation --privs "VM.PowerMgmt Datastore.Audit"

取得後可搭配 Authorization: PVEAPIToken= 驗證。
建議:

  • Token 權限最小化
  • 不存於明碼腳本
  • 結合 IP 白名單 或 Nginx Proxy 來源限制

2️⃣ 保護 API 通訊

  • 強制使用 HTTPS (Port 8006)
  • 禁用 HTTP 明碼存取
  • 更新 TLS 憑證(可使用 Let’s Encrypt 或自簽)
pvecm updatecerts --force
systemctl restart pveproxy

🔒 五、SSH 與節點安全強化

1️⃣ 停用 root 密碼登入

編輯 /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no

重新啟動 SSH:

systemctl restart ssh

2️⃣ 使用金鑰登入

產生金鑰:

ssh-keygen -t ed25519
ssh-copy-id root@pve-node01

3️⃣ 設定 Fail2Ban 防爆破

apt install fail2ban
systemctl enable fail2ban --now

4️⃣ 系統安全更新自動化

apt install unattended-upgrades
dpkg-reconfigure unattended-upgrades

🧰 六、網路隔離與零信任存取設計

1️⃣ 建立多層網路區域

[管理網]   → 僅允許內部 IT 人員
[業務網]   → VM 與內部服務
[備份網]   → PBS / Ceph 複寫
[外部網]   → 防火牆隔離與 Reverse Proxy

建議:

  • 透過 VLAN 或多網卡區隔
  • 使用防火牆規則阻擋交叉流量
  • PBS、Ceph Sync、API 伺服器各自使用獨立介面

2️⃣ 導入 Zero Trust VPN

可使用:

  • WireGuard(輕量快速)
  • Tailscale / ZeroTier(具零信任網路拓樸)

實作方式:

  1. 建立私有節點身份 (Identity)
  2. 由中心控制平面 (Coordinator) 驗證每次連線
  3. 每個節點僅能與授權對象通訊

3️⃣ 設置 Jump Host / Bastion Server

集中管理遠端 SSH 登入:

外部使用者 → Bastion (MFA) → Proxmox Node

結合:

  • Google Authenticator / YubiKey
  • PAM 模組驗證 (libpam-google-authenticator)

🧮 七、日誌集中與安全監控

可將所有 Proxmox 節點的日誌導入集中式平台:

  • Wazuh / ELK Stack → 分析登入異常、檔案變更
  • Prometheus + Grafana → 監控節點負載
  • Graylog / Loki → 搜尋與報表

範例設定:

*.* @10.0.0.50:514

(在 /etc/rsyslog.d/90-central.conf)


🧠 八、實作架構圖

                  ┌────────────────────────────┐
                  │     Zero Trust Gateway     │
                  │ (WireGuard / Tailscale)    │
                  └────────────┬───────────────┘
                               │
                      MFA + Policy Engine
                               │
               ┌────────────────────────────────┐
               │         Bastion Host           │
               │  (SSH / API Access Control)    │
               └────────────┬───────────────────┘
                            │
       ┌──────────────────────────────────────────────┐
       │                Proxmox Cluster               │
       │      ├─ pve1 (Mgmt Network)                 │
       │      ├─ pve2 (Backup Network)               │
       │      └─ pve3 (Production Network)           │
       └──────────────────────────────────────────────┘

✅ 結語

在現今的分散式與混合雲環境中,
安全不再只是邊界防禦,而是一種 持續驗證的過程。

透過在 Proxmox 架構中導入:

  • RBAC 權限控管
  • API Token 安全存取
  • 加密傳輸與網路隔離
  • 零信任登入與集中審核
  • 日誌與行為監控

可讓企業建構出 防護、偵測、回應 三位一體的安全生態。

💬 下一篇將延伸介紹:
「Proxmox 混合雲下的備援與災難復原實作 (Proxmox + PBS + Cloud DR)」,
聚焦於異地同步、跨站備援與自動化復原流程。

Recent Posts

  • Cleaning Up Unused Let’s Encrypt Certificates in a Docker Certbot Environment
  • 使用 Docker Certbot 刪除不再使用的 Let’s Encrypt 憑證
  • Postfix + Let’s Encrypt + BIND9 + DANE Fully Automated TLSA Update Guide
  • Postfix + Let’s Encrypt + BIND9 + DANE TLSA 指紋自動更新完整教學
  • Deploying DANE in Postfix

Recent Comments

  1. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on High Availability Architecture, Failover, GeoDNS, Monitoring, and Email Abuse Automation (SOAR)
  2. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on MariaDB + PostfixAdmin: The Core of Virtual Domain & Mailbox Management
  3. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Daily Operations, Monitoring, and Performance Tuning for an Enterprise Mail System
  4. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Final Chapter: Complete Troubleshooting Guide & Frequently Asked Questions (FAQ)
  5. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Network Architecture, DNS Configuration, TLS Design, and Postfix/Dovecot SNI Explained

Archives

  • December 2025
  • November 2025
  • October 2025

Categories

  • AI
  • Apache
  • Cybersecurity
  • Database
  • DNS
  • Docker
  • Fail2Ban
  • FileSystem
  • Firewall
  • Linux
  • LLM
  • Mail
  • N8N
  • OpenLdap
  • OPNsense
  • PHP
  • QoS
  • Samba
  • Switch
  • Virtualization
  • VPN
  • WordPress
© 2025 Nuface Blog | Powered by Superbs Personal Blog theme