Proxmox VEXV · Security & HardeningHardening
Production hardening checklist
Intermediate⏱ ~14 min
What you'll learn
- Apply a baseline hardening pass to a Proxmox environment
- Identify common production anti-patterns in security
- Use the hardening checklist as a deployment gate
Prerequisites
Verified against Proxmox VE 9.2.4 · Proxmox Backup Server 4.2.5 · Ceph Squid / Tentacle · Debian 13 (Trixie) · Linux kernel 7.0 (PVE 9.2 default) · 2026-08-07
Not yet marked complete on this device.
Why this matters in production
A hardened environment reduces the attack surface and makes incidents less likely. This lesson is a production-ready checklist.
Hardening checklist
Network
- Management interface on dedicated VLAN with firewall allow-list
- SSH on non-standard port (security through obscurity, reduces log noise)
-
PermitRootLogin prohibit-password,PasswordAuthentication no - Per-host firewall enabled with explicit allow-list
- Cluster firewall rules reviewed quarterly
Authentication
- Admin accounts use AD/LDAP, not local
- TFA mandatory for all admin accounts
- API tokens use
--privsep 1 - Break-glass accounts exist in sealed envelopes
- Service accounts are distinct from human accounts
Patching
- Subscribed to enterprise or stable no-subscription repository
- Test repository disabled
- Security updates applied within 7 days of release
- Kernel updates followed by reboot during maintenance windows
Storage
- PBS encryption keys backed up to a separate location
- PBS admin access via bastion or VPN
- Off-site PBS sync tested quarterly
- Datastores on ZFS with checksumming
Cluster
- Watchdog configured (hardware preferred)
- QDevice on a separate failure domain (for 2-node clusters)
- HA rules reviewed; no over-permissive rules
-
/etc/pve/backed up to off-cluster storage
Operations
- Audit logs forwarded to SIEM
- Failed login attempts alerted
- Configuration changes tracked in change management
- Quarterly access reviews for admin accounts
CLI checks
grep -E 'PermitRootLogin|PasswordAuthentication' /etc/ssh/sshd_config
pvesh get /cluster/firewall/options
Read-only / Safe— Verify no test repository enabled.
ls /etc/apt/sources.list.d/pvetest* 2>/dev/null && echo WARNING || echo OKCommon anti-patterns
| Anti-pattern | Why it’s bad |
|---|---|
| Exposing Proxmox to the internet | Brute force target |
| Root login with password | Easy credential theft |
| Single shared admin account | No audit trail per person |
| No MFA on admin | One stolen password = full compromise |
| No backup of encryption keys | Lost keys = lost backups |
| Updates not applied | Known exploits remain |
Production considerations
Common mistakes
- “We don’t have time for hardening” (until an incident proves you don’t have time not to).
- Hardening the host but not the VMs.
- Hardening the cluster but not PBS.
Key takeaways
- Use the checklist as a deployment gate.
- Network, auth, patching, storage, cluster, ops.
- Review quarterly.
Knowledge check
Knowledge check · 3 questions
Q1. Which is NOT a hardening requirement?
Q2. Hardening the host but not the VMs is sufficient.
Q3. How often should the hardening checklist be reviewed?
Passing score: 75%. Answers are checked in this browser.