Expert Cybersécurité & IA

🛡️ Guide de Durcissement Proxmox VE 9 — Référence Francophone


Présentation

Ce guide fournit des recommandations de durcissement prescriptives, vérifiables et opérationnelles pour Proxmox Virtual Environment 9.x (Debian 13 "Trixie"). Il est conçu pour les administrateurs systèmes, ingénieurs sécurité et auditeurs.

Ce qui le différencie

Caractéristique Ce guide Guides existants
Format CIS hybride Chaque contrôle suit la structure CIS (Audit/Remediation/Default Value) + mappings compliance Formats variés, rarement alignés CIS
Mappings compliance intégrés CIS Controls v8, MITRE ATT&CK, ISO 27001:2022, PCI DSS v4.0 Peu ou pas de mappings
Threat model explicite 10 scénarios d'attaque rattachés à chaque contrôle Pas de threat model
3 profils d'environnement 🏠 Homelab, 🏢 Production, 🌐 Exposé internet Pas de distinction
Contrôles validés Testé sur PVE 9.x — pas de "non validé" dans le guide principal Contrôles souvent non validés
Corrections d'erreurs Corrige les erreurs des guides existants (syntaxe 2FA, Fail2Ban regex, firewall defaults, LUKS) Erreurs propagées
Rollback documenté Chaque contrôle risqué a sa procédure de retour arrière Jamais documenté
Couverture hyperviseur Isolation VM (seccomp, KSM, IOMMU), pas juste l'OS Focalisé OS uniquement

Base de référence


Structure du guide

# Fichier Phase Description Contrôles
01 01-threat-model.md Modèle de menaces (10 scénarios MITRE ATT&CK)
02 02-pre-installation.md Phase 0 Avant l'installation (matériel, BIOS, chiffrement, réseau) 8
03 03-os-debian-durci.md Phase 1 Durcissement OS Debian 13 (kernel, comptes, audit, services) 15
04 04-proxmox-specifique.md Phase 2 Durcissement Proxmox (pveproxy, cluster, API, mises à jour) 12
05 05-acces-authentification.md Phase 3 Accès et authentification (SSH, 2FA, RBAC, Fail2Ban, VPN) 12
06 06-reseau-segmentation.md Phase 4 Réseau et segmentation (VLAN, firewall PVE, security groups) 8
07 07-stockage-chiffrement.md Phase 5 Stockage et chiffrement (LUKS, ZFS, Ceph, NFS/iSCSI) 5
08 08-isolation-vm-ct.md Phase 6 Isolation VM/CT (seccomp, KSM, IOMMU, LXC) 6
09 09-monitoring-detection.md Phase 7 Monitoring et détection (AIDE, logs centralisés, audit) 3
10 10-maintenance-backup.md Phase 8+9 Maintenance, backup, reprise d'activité (PBS, DR drills) 8

Quickstart

Prérequis

Par où commencer ?

🏠 Homelab — Top 5 actions à impact maximal :

  1. SSH : clés uniquement + Fail2Ban → Phase 3
  2. Mises à jour auto sécurité Debian → Phase 1
  3. 2FA sur le web UI → Phase 3
  4. Backups PBS chiffrées → Phase 9
  5. Firewall PVE activé → Phase 4

🏢 Production — Parcours recommandé :

  1. Lire le threat model (30 min)
  2. Appliquer la Phase 0 (pré-installation) si nouveau déploiement
  3. Phases 1 → 4 dans l'ordre (Level 1 d'abord)
  4. Phase 9 (backup) en priorité si pas encore fait
  5. Phases 5 → 8 pour la défense en profondeur
  6. Revenir sur les contrôles Level 2

🌐 Exposé internet — Ajouts critiques :

Règles d'or

  1. Toujours tester en lab avant d'appliquer en production
  2. Ne jamais fermer votre session SSH avant d'avoir testé la nouvelle configuration dans un second terminal
  3. Garder un accès console OOB en cas de lock-out
  4. Appliquer Level 1 d'abord, puis Level 2 quand Level 1 est stabilisé
  5. Documenter chaque déviation par rapport au guide (justification + acceptation du risque)

Corrections notables vs guides existants

Erreur courante Notre correction Phase
pveum realm modify <<pam>> --tfa type=<<oath>> (syntaxe invalide) Procédure via interface web documentée 3 (3.2.1)
Fail2Ban pointe vers /var/log/syslog (absent PVE 9) Backend systemd + journalmatch = _SYSTEMD_UNIT=pvedaemon.service 3 (3.4.2)
PermitRootLogin no (casse le cluster) PermitRootLogin prohibit-password + Match Address cluster 3 (3.1.1)
lockdown=integrity en production (casse ZFS/Ceph/GPU) Classé expérimental, exclu du guide principal 1 (1.2.5)
Firewall PVE "INPUT=DROP par défaut" (faux) Explication complète des règles anti-lockout cachées 4 (4.2.1)
LUKS via installateur PVE (non disponible pour ext4) Tableau comparatif ISO PVE vs Debian-first 0 (0.2.1)
KSM echo 2 > run (incomplet) Désactivation KSM + ksmtuned 6 (6.1.2)
FORWARD=DROP sans règles cluster (casse les migrations) Avertissement + prérequis réseau dédié 4 (4.2.4)

Format des contrôles

Chaque contrôle suit le format CIS Benchmark enrichi :

X.Y.Z — Titre du contrôle

Profile Applicability Level 1/2 — Server
Applicabilité PVE 🏠🏢🌐
Réf. CIS Debian 13 X.Y.Z
CIS Controls v8 Safeguard mappé
MITRE ATT&CK Techniques + Mitigations
ISO 27001:2022 Annex A
PCI DSS v4.0 Exigence
Scénario threat model S1-S10
Statut PVE 9 ✅ Validé / ⚠️ Partiel / 🧪 Expérimental

Description / Rationale / Impact / Audit / Remédiation

Valeur par défaut / Rollback / Spécificité PVE


---

Avertissements

⚠️ Ce guide est fourni « en l'état », sans garantie. Vous êtes seul responsable de l'évaluation, du test et de la validation de chaque recommandation dans votre environnement.

⚠️ Certaines procédures ne sont pas officiellement supportées par Proxmox GmbH. Tester et maintenir à vos propres risques.

⚠️ Ce guide ne constitue pas une certification de conformité. Il est conçu pour aider à la préparation d'audits et à l'amélioration de la posture de sécurité.


Contribuer

Les contributions sont bienvenues. Voir CONTRIBUTING.md.


Licence

Ce guide est publié sous licence Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).

Vous pouvez copier, modifier et distribuer le contenu à condition de conserver l'attribution et de partager sous la même licence.

-e



01 — Modèle de menaces Proxmox VE

Version : 0.2.0 Date : 2026-03-20 Statut : Rédaction initiale — Format normalisé Licence : CC BY-SA 4.0 Base de référence : CIS Debian Linux 13 Benchmark v1.0.0, MITRE ATT&CK v16, CIS Controls v8 Sources : BSI KVMSec v1.0.1, QEMU Security Documentation, Proxmox Forum, CVE databases


1.1 — Objectif et portée

Pourquoi un modèle de menaces ?

La plupart des guides de durcissement démarrent par « exécutez ces commandes ». Sans modèle de menaces, on applique des contrôles au hasard — on chiffre des disques pendant que SSH accepte les mots de passe, on active auditd sur un nœud dont le BMC a encore le mot de passe usine.

Ce chapitre identifie :

Chaque contrôle des phases suivantes référence un ou plusieurs scénarios de ce chapitre. Si un scénario ne vous concerne pas, les contrôles associés deviennent optionnels. Si un scénario est votre cauchemar, vous savez exactement quoi prioriser.

Portée

Élément Inclus Exclu
Hyperviseur Proxmox VE 9.x
OS hôte Debian 13
Infrastructure réseau PVE (bridges, VLAN, firewall)
Stockage PVE (local, Ceph, NFS/iSCSI)
BMC/IPMI/iDRAC
Proxmox Backup Server ✅ (interactions) Guide dédié PBS hors périmètre
Sécurité des OS guests (VM/CT internes)
Sécurité applicative des workloads
Sécurité physique des locaux ❌ (mentionnée, non couverte)

1.2 — Surfaces d'attaque

Un hyperviseur est le pire point de compromission possible dans une infrastructure. Compromettre un hyperviseur donne accès simultanément à toutes les VM hébergées, à leur mémoire vive, à leurs disques, à leur trafic réseau. Proxmox VE expose quatre plans d'attaque distincts :

1.2.1 Plan de management (contrôle)
ComposantPort/Protocole
pveproxy (Web UI + API REST)TCP 8006
SSHTCP 22
VNC/SPICE/noVNCTunnelés via pveproxy
pvedaemonTCP 85 (local)

Criticité : Quiconque contrôle le plan de management contrôle tout — création/destruction de VM, accès backups, lecture mémoire des VM, modification de la configuration cluster.

1.2.2 Plan de données (workloads)
ComposantPort/Protocole
Bridges Linux (vmbr*)Variable
Stockage NFSTCP 2049
Stockage iSCSITCP 3260
Ceph publicTCP 6789, 6800-7300
Migration liveTCP 60000-60050

Criticité : Une VM compromise peut tenter de pivoter via le réseau partagé ou tenter une évasion vers l'hôte via les devices émulés QEMU.

Référence : La documentation officielle de sécurité QEMU définit explicitement les guests, les interfaces utilisateur (VNC, SPICE), les protocoles réseau (NBD, migration) et les fichiers fournis par l'utilisateur comme des entités non fiables (untrusted).

1.2.3 Plan cluster
ComposantPort/Protocole
CorosyncUDP 5405
pmxcfs
SSH inter-nœudsTCP 22

Criticité : Compromettre un nœud = accès au filesystem cluster partagé (configurations, certificats, tokens de tous les nœuds).

1.2.4 Plan physique
ComposantAccès
BMC/IPMI/iDRAC/iLORéseau OOB (TCP 443, UDP 623)
Console physiqueLocal
Disques physiquesLocal
Ports USBLocal

Criticité : Un BMC compromis donne un accès console virtuel complet, invisible depuis l'OS. Des cas de ransomware via BMC vulnérable sont documentés dans la communauté Proxmox.


1.3 — Profils d'environnement

Profil Symbole Description Menaces principales
Homelab 🏠 Nœud unique ou petit cluster, réseau local, pas d'exposition internet directe Rebond depuis poste LAN compromis, erreur de config, accès physique accidentel
Production 🏢 Cluster multi-nœuds, réseau d'entreprise segmenté, SLA internes, multi-administrateurs Mouvement latéral, insider malveillant, ransomware, non-conformité réglementaire
Exposé internet 🌐 Nœuds accessibles depuis internet (hébergeur, cloud privé, VPS) Brute-force, exploitation CVE, compromission BMC, attaques ciblées, supply chain

Règle : en cas de doute entre deux profils, choisir le plus restrictif.


1.4 — Scénarios d'attaque

Chaque scénario suit un format normalisé avec mappings compliance intégrés. Les scénarios sont ordonnés par probabilité décroissante.


S1 Compromission via SSH ou l'interface web
Probabilité🔴 Très élevée
ImpactCritique — contrôle total de l'hyperviseur
Profils🏠🏢🌐
VecteurRéseau — plan de management

MITRE ATT&CK :

Phase Tactique Technique ID
Accès initial Initial Access Exploit Public-Facing Application T1190
Accès initial Initial Access Valid Accounts T1078
Accès initial Initial Access Brute Force T1110
Exécution Execution Command and Scripting Interpreter T1059
Persistance Persistence Account Manipulation T1098

CIS Controls v8 : 4.1, 5.2, 5.4, 6.3, 6.4, 6.5, 13.1

ISO 27001:2022 : A.5.15, A.5.17, A.8.5, A.8.20

PCI DSS v4.0 : 2.2.1, 6.3.3, 8.2.1, 8.3.1, 8.3.6

Description :

Description :

Chaîne d'attaque type :

  1. Scan de ports → détection SSH (22) et/ou pveproxy (8006)
  2. Brute-force ou credential stuffing sur SSH/web UI
  3. Ou : exploitation d'une CVE pveproxy (ex : CVE-2023-43320 bypass 2FA, CVE-2025-57538/39/40 XSS stocké)
  4. Obtention d'un shell root ou d'une session web admin
  5. Contrôle total : création/suppression VM, accès backups, modification cluster

Contrôles préventifs :

Contrôle Phase Réf. Priorité
Désactivation auth par mot de passe SSH 3 3.1.1 🔴 Critique
2FA obligatoire (TOTP ou WebAuthn) 3 3.2 🔴 Critique
Fail2Ban SSH + Web UI (regex corrigé) 3 3.4 🔴 Critique
Restriction IP sur pveproxy :8006 2 2.1.3 🔴 Critique
VPN comme unique entrée management 3 3.5 🟡 Important (🌐)
Mise à jour régulière PVE 2 2.4 🔴 Critique
RBAC moindre privilège 3 3.3 🟡 Important

Contrôles détectifs :

Contrôle Phase Réf.
Centralisation logs auth 7 7.2.3
Alerting échecs auth multiples 7 7.1.3
Audit appels API 2 2.2.3

CVE historiques pertinentes :

CVE Année Type CVSS
CVE-2023-43320 2023 Bypass 2FA (PVE 5.4–8.0) N/A
CVE-2025-57538/39/40 2025 XSS stocké config Datacenter N/A
CVE-2022-31358 2022 XSS stocké N/A

S2 Ransomware ciblant l'hyperviseur et les backups
Probabilité🔴 Élevée
ImpactCritique — perte totale des données et des VM
Profils🏠🏢🌐
VecteurPost-compromission (rebond après S1 ou poste admin compromis)

MITRE ATT&CK :

Phase Tactique Technique ID
Impact Impact Data Encrypted for Impact T1486
Impact Impact Inhibit System Recovery T1490
Impact Impact Data Destruction T1485
Mouvement Lateral Movement Remote Services: SSH T1021.004
Collection Collection Data from Local System T1005

CIS Controls v8 : 3.4, 11.1, 11.2, 11.3, 11.4, 11.5

ISO 27001:2022 : A.8.13 (Information backup), A.8.14 (Redundancy), A.5.29 (Business continuity)

PCI DSS v4.0 : 3.5.1, 9.4.1, 12.10.1

Description :

Description :

Chaîne d'attaque type :

  1. Compromission initiale (S1, phishing admin, rebond LAN)
  2. Reconnaissance : stockage, backups PBS, snapshots
  3. Suppression des snapshots ZFS/LVM
  4. Suppression ou chiffrement des backups PBS
  5. Chiffrement des images disque VM
  6. Demande de rançon

Contrôles préventifs :

Contrôle Phase Réf. Priorité
Backups PBS chiffrés client-side + clé escrow hors ligne 9 9.1.2, 9.1.3 🔴 Critique
Immutabilité backups (retention lock PBS) 9 9.1.3 🔴 Critique
Tokens PBS avec privilèges minimaux (pas de suppression) 9 9.1.2 🔴 Critique
Backup hors site / hors ligne (3-2-1-1-0) 9 9.1.1 🔴 Critique
Snapshots ZFS out-of-band 5 5.3 🟡 Important
RBAC : séparer admin-VM et admin-backup 3 3.3 🟡 Important

Contrôles détectifs :

Contrôle Phase Réf.
Monitoring espace stockage (suppression massive = alerte) 7 7.1
AIDE (intégrité fichiers) 7 7.2.1
Alerting suppression backups PBS 7 7.1.3

S3 Évasion de VM (VM escape)
Probabilité🟡 Moyenne (en augmentation)
ImpactCritique — compromission de l'hôte depuis un guest
Profils🏢🌐
VecteurVM compromise → exploitation QEMU/KVM → accès hôte

MITRE ATT&CK :

Phase Tactique Technique ID
Évasion Privilege Escalation Escape to Host T1611
Exploitation Execution Exploitation for Client Execution T1203
Découverte Discovery System Information Discovery T1082
Accès Privilege Escalation Exploitation for Privilege Escalation T1068

CIS Controls v8 : 4.1, 7.1, 7.3, 10.5, 16.13

ISO 27001:2022 : A.8.7, A.8.8, A.8.9

PCI DSS v4.0 : 6.2.4, 6.3.3, 11.3.1

Description :

Description :

Particularité Proxmox : Contrairement à libvirt/sVirt qui confine chaque processus QEMU avec des labels SELinux automatiques, Proxmox ne génère pas de profils AppArmor par VM automatiquement. Les processus QEMU tournent en tant que root sans confinement mandatory access control par défaut. C'est une différence architecturale majeure documentée par le BSI.

Contrôles préventifs :

Contrôle Phase Réf. Priorité
Profils AppArmor pour QEMU 6 6.1.1 🟡 Important
Filtres seccomp QEMU 6 6.1.2 🟡 Important
Suppression devices émulés inutiles 6 6.1.5 🟡 Important
Machine type q35 (meilleure isolation) 6 6.1.5 🟡 Important
KSM désactivé (side-channel multi-tenant) 6 6.1.4 🟡 Important
IOMMU vérifié pour PCI passthrough 6 6.1.3 🔴 Critique si passthrough
Mise à jour kernel + QEMU prioritaire 2 2.4 🔴 Critique
Paramètres boot kernel durcis 1 1.2.5 🟡 Important

Contrôles détectifs :

Contrôle Phase Réf.
auditd modules kernel + syscalls 1 1.4.1
Monitoring processus anormaux sur l'hôte 7 7.2

Références :

  • BSI — Sicherheitsanalyse von KVM (KVMSec) v1.0.1, 2017
  • QEMU Project — Security Documentation (modèle d'entités non fiables)
  • Red Hat — Hardening QEMU through continuous security testing

S4 Mouvement latéral via le cluster
Probabilité🟡 Moyenne
ImpactCritique — compromission de tous les nœuds
Profils🏢🌐
VecteurRéseau interne — plan cluster

MITRE ATT&CK :

Phase Tactique Technique ID
Mouvement Lateral Movement Remote Services: SSH T1021.004
Mouvement Lateral Movement Exploitation of Remote Services T1210
Collecte Credential Access Unsecured Credentials: Private Keys T1552.004
Collecte Collection Data from Information Repositories T1213

CIS Controls v8 : 4.1, 6.1, 6.4, 12.2, 13.1

ISO 27001:2022 : A.8.20, A.8.22, A.8.24

PCI DSS v4.0 : 1.2.1, 1.3.1, 4.2.1

Description :

Description :

Chaîne d'attaque type :

  1. Compromission d'un nœud (via S1 ou S3)
  2. Lecture /etc/pve → certificats cluster, clés SSH, tokens API
  3. SSH root vers les autres nœuds (confiance implicite)
  4. Interception/injection Corosync si non chiffré
  5. Contrôle de l'ensemble du cluster

Contrôles préventifs :

Contrôle Phase Réf. Priorité
Réseau dédié Corosync (VLAN isolé) 4 4.1.1 🔴 Critique
Chiffrement Corosync 2 2.3.1 🔴 Critique
Segmentation VLAN management/cluster/VM 4 4.1 🔴 Critique
Restriction SSH inter-nœuds au réseau cluster 3 3.1.1 🟡 Important
Firewall PVE FORWARD=DROP + règles explicites 4 4.2 🟡 Important

Contrôles détectifs :

Contrôle Phase Réf.
Monitoring connexions SSH inter-nœuds 7 7.2.4
Alerting changements config cluster 7 7.2
auditd sur /etc/pve 1 1.4.1

S5 Compromission du BMC/IPMI
Probabilité🟡 Moyenne (🔴 si BMC exposé internet)
ImpactCritique — contrôle physique total du serveur
Profils🏢🌐
VecteurRéseau — plan physique/OOB

MITRE ATT&CK :

Phase Tactique Technique ID
Accès initial Initial Access External Remote Services T1133
Accès initial Initial Access Valid Accounts: Default Accounts T1078.001
Persistance Persistence Pre-OS Boot: Component Firmware T1542.002
Accès Privilege Escalation Hardware Additions T1200

CIS Controls v8 : 1.1, 2.2, 4.1, 4.6, 12.2

ISO 27001:2022 : A.5.15, A.7.2, A.8.9, A.8.20

PCI DSS v4.0 : 2.2.1, 9.2.1, 11.3.1

Description :

Description :

Contrôles préventifs :

Contrôle Phase Réf. Priorité
Isolation BMC sur VLAN OOB dédié 0 0.1.2 🔴 Critique
Changement credentials par défaut 0 0.1.2 🔴 Critique
Désactivation protocoles non chiffrés 0 0.1.2 🔴 Critique
Mise à jour firmware BMC 0 0.1.1 🔴 Critique
Certificats TLS sur interface web BMC 0 0.1.2 🟡 Important

S6 Insider malveillant ou négligent
Probabilité🟡 Moyenne
ImpactVariable — fuite de données à destruction
Profils🏢
VecteurAccès légitime — plan de management

MITRE ATT&CK :

Phase Tactique Technique ID
Collection Collection Data from Local System T1005
Exfiltration Exfiltration Exfiltration Over Web Service T1567
Impact Impact Data Destruction T1485
Évasion Defense Evasion Indicator Removal: Clear Linux Logs T1070.002

CIS Controls v8 : 3.3, 5.3, 5.4, 6.1, 6.2, 8.2, 8.5

ISO 27001:2022 : A.5.10, A.5.15, A.6.1, A.8.15

PCI DSS v4.0 : 7.2.1, 8.2.1, 10.2.1

Description :

Description :

Contrôles préventifs :

Contrôle Phase Réf. Priorité
RBAC strict moindre privilège 3 3.3 🔴 Critique
Comptes nommés individuels 3 3.3.1 🔴 Critique
2FA sur tous les comptes 3 3.2.3 🔴 Critique
Séparation des rôles 3 3.3.2 🟡 Important
Revue trimestrielle des accès 8 8.2.1 🟡 Important

Contrôles détectifs :

Contrôle Phase Réf.
Journalisation appels API 2 2.2.3
auditd fichiers sensibles 1 1.4.1
Logs centralisés hors contrôle admin PVE 7 7.2.3

S7 Attaque supply chain (dépôts, paquets)
Probabilité🟠 Faible-Moyenne
ImpactCritique — backdoor persistante sur tous les nœuds
Profils🏠🏢🌐
VecteurRéseau — mises à jour

MITRE ATT&CK :

Phase Tactique Technique ID
Accès initial Initial Access Supply Chain Compromise: Software T1195.002
Exécution Execution System Services: Service Execution T1569.002
Persistance Persistence Compromise Client Software Binary T1554

CIS Controls v8 : 2.2, 2.5, 7.3, 16.4

ISO 27001:2022 : A.8.8, A.8.10

PCI DSS v4.0 : 6.3.2, 6.3.3

Description :

Description :

Contrôles préventifs :

Contrôle Phase Réf. Priorité
Vérification signatures GPG (ne pas désactiver) 1 1.1.1 🔴 Critique
Dépôt enterprise (signé Proxmox GmbH) 1 1.1.1 🟡 Important
Vérification intégrité paquets installés 1 1.1.3 🟡 Important
Pas de dépôts tiers non vérifiés 1 1.1.1 🔴 Critique

Contrôles détectifs :

Contrôle Phase Réf.
Vérification périodique intégrité (debsums) 7 7.2
AIDE (changements binaires) 7 7.2.1

S8 Exploitation du PCI passthrough / accès DMA
Probabilité🟠 Faible
ImpactCritique — accès mémoire hôte
Profils🏢🌐
VecteurVM compromise + device passthrough → DMA → mémoire hôte

MITRE ATT&CK :

Phase Tactique Technique ID
Évasion Privilege Escalation Escape to Host T1611
Accès Privilege Escalation Exploitation for Privilege Escalation T1068

CIS Controls v8 : 4.1, 4.8

ISO 27001:2022 : A.8.9

Description :

Description :

Contrôles préventifs :

Contrôle Phase Réf. Priorité
IOMMU activé et vérifié (VT-d / AMD-Vi) 6 6.1.3 🔴 Critique
IOMMU groups isolés 6 6.1.3 🔴 Critique
Pas de passthrough vers VM non fiables 6 6.1.3 🔴 Critique
Paramètres kernel intel_iommu=on iommu=pt 1 1.2.5 🔴 Critique

S9 Interception du trafic inter-nœuds
Probabilité🟠 Faible (accès réseau interne requis)
ImpactÉlevé — vol de données, injection
Profils🏢
VecteurRéseau interne — plan données/cluster

MITRE ATT&CK :

Phase Tactique Technique ID
Collecte Credential Access Adversary-in-the-Middle T1557
Collecte Collection Data from Network Shared Drive T1039

CIS Controls v8 : 3.10, 12.2, 12.6

ISO 27001:2022 : A.8.20, A.8.24

PCI DSS v4.0 : 4.2.1

Description :

Description :

Contrôles préventifs :

Contrôle Phase Réf. Priorité
Réseaux dédiés Ceph et migration 4 4.1.1 🔴 Critique
Chiffrement Ceph en transit (Messenger v2) 5 5.2.1 🟡 Important
Migration chiffrée 2 2.3.3 🟡 Important
VLAN isolation stricte 4 4.1 🔴 Critique

S10 Accès physique non autorisé
ProbabilitéVariable
ImpactCritique — compromission totale
Profils🏠🏢
VecteurPhysique

MITRE ATT&CK :

Phase Tactique Technique ID
Accès initial Initial Access Hardware Additions T1200
Accès initial Initial Access Replication Through Removable Media T1091
Persistance Persistence Pre-OS Boot T1542
Collecte Collection Data from Local System T1005

CIS Controls v8 : 3.6, 4.1, 4.6

ISO 27001:2022 : A.7.1, A.7.2, A.7.4, A.8.24

PCI DSS v4.0 : 9.1.1, 9.2.1, 9.4.1

Description :

Description :

Contrôles préventifs :

Contrôle Phase Réf. Priorité
Chiffrement disques (LUKS2 / ZFS encryption) 0 0.2.3 🔴 Critique (🌐)
Mot de passe GRUB 1 1.2.1 🟡 Important
Secure Boot 0 0.1.3 🟡 Important
Désactivation boot USB dans BIOS 0 0.1.1 🟡 Important
TPM 2.0 pour scellement clés 0 0.1.4 🟡 Important

1.5 — Matrice menaces ↔ phases du guide

Scénario Ph.0 Ph.1 Ph.2 Ph.3 Ph.4 Ph.5 Ph.6 Ph.7 Ph.8 Ph.9
S1 SSH/Web ●●● ●●
S2 Ransomware ●● ●● ●●●
S3 VM escape ●● ●●●
S4 Cluster ●● ●●● ●●
S5 BMC ●●●
S6 Insider ●●● ●●● ●●
S7 Supply chain ●●● ●●
S8 PCI/DMA ●●●
S9 Interception ●● ●●● ●●
S10 Physique ●●● ●●

Légende : ● pertinent, ●● important, ●●● critique pour ce scénario


1.6 — Priorisation par profil

🏠 Homelab — Top 5 actions

# Action Scénario Phase
1 SSH clés uniquement + Fail2Ban S1 3
2 Mises à jour auto sécurité Debian S7 1
3 2FA sur le web UI S1, S6 3
4 Backups PBS chiffrées + hors site S2 9
5 Firewall PVE politique restrictive S1 4

🏢 Production — Top 10

# Action Scénario Phase
1-5 Tout le Top 5 homelab
6 RBAC strict comptes nommés S6 3
7 Segmentation VLAN complète S4, S9 4
8 Chiffrement Corosync S4 2
9 Logs centralisés hors contrôle admin PVE S6 7
10 BMC isolé VLAN OOB S5 0

🌐 Exposé internet — Ajouts critiques

# Action Scénario Phase
11 VPN unique entrée management S1 3
12 WebAuthn/FIDO2 (résistant phishing) S1 3
13 Profils AppArmor QEMU S3 6
14 BMC jamais exposé internet S5 0
15 Chiffrement disques complet (LUKS2) S10 0
16 Secure Boot S10 0
17 IOMMU vérifié pour tout passthrough S8 6

1.7 — Références

Source Description Date
BSI — Sicherheitsanalyse von KVM (KVMSec) v1.0.1 Analyse de sécurité KVM/QEMU avec recommandations (AppArmor/sVirt, seccomp, devices) 2017
QEMU Project — Security Documentation Modèle de sécurité QEMU, entités non fiables, principe de moindre privilège En cours
Red Hat — Hardening QEMU through continuous security testing Mécanismes de durcissement continu (fuzzing, Coverity, analyse statique) 2025
OpenStack Security Guide — Hardening the Virtualization Layers Recommandations minimisation QEMU, compiler hardening, sVirt/AppArmor En cours
CIS — Debian Linux 13 Benchmark v1.0.0 Benchmark de configuration sécurisée Debian 13 2025-12-16
MITRE — ATT&CK Framework v16 Tactiques, techniques et procédures adversaires 2025
CIS — Controls v8 Contrôles de sécurité prioritisés 2021
Proxmox Forum — Security Hardening threads Retours communautaires, cas BMC/ransomware 2021-2026
CVE databases (OpenCVE, CVEDetails, Akaoma) Vulnérabilités Proxmox VE documentées Continu

Navigation : ← 00-introduction.md | 02-pre-installation.md →

-e



02 — Phase 0 : Avant l'installation

Version : 0.2.0 Date : 2026-03-20 Statut : Rédaction initiale — Format CIS hybride Licence : CC BY-SA 4.0 Base de référence : CIS Debian Linux 13 Benchmark v1.0.0 (2025-12-16) Scénarios du threat model : S5, S7, S10


Conventions du format

Chaque contrôle suit la structure du CIS Benchmark, enrichie de champs spécifiques à Proxmox VE :

Champ Description
Profile Applicability Level 1 (baseline) / Level 2 (defense-in-depth) — conforme au CIS
Applicabilité PVE 🏠 Homelab / 🏢 Production / 🌐 Exposé internet
Réf. CIS Debian 13 Numéro de section CIS correspondant (si applicable)
CIS Controls v8 Safeguard CIS Controls v8 mappé
MITRE ATT&CK Techniques / Tactics / Mitigations
ISO 27001:2022 Contrôle Annex A mappé
PCI DSS v4.0 Exigence PCI DSS mappée
Scénario threat model Référence S1-S10 du chapitre 01
Statut PVE 9 ✅ Validé / ⚠️ Partiel / 🧪 Expérimental
Description Ce que fait le contrôle
Rationale Pourquoi ce contrôle est nécessaire
Impact Conséquences opérationnelles
Audit Commande(s) de vérification + résultat attendu
Remédiation Commande(s) d'application
Valeur par défaut Valeur sur une installation fraîche
Rollback Procédure de retour arrière (ajout Proxmox)
Spécificité PVE Notes spécifiques à Proxmox (ajout Proxmox)
Références Sources additionnelles

0.1 — Préparation matérielle


0.1.1 Mise à jour firmware, BIOS et microcode CPU
Level 1
Profile ApplicabilityLevel 1 — Server
Applicabilité PVE🏠🏢🌐
Réf. CIS Debian 13Hors périmètre CIS (prérequis matériel)
CIS Controls v82.2 — Ensure Authorized Software is Currently Supported
MITRE ATT&CKT1542 (Pre-OS Boot), T1195 (Supply Chain Compromise)
ISO 27001:2022A.8.8 — Management of technical vulnerabilities
PCI DSS v4.06.3.3 — Install security patches within one month
Scénario threat modelS5 (BMC), S10 (accès physique)
Statut PVE 9✅ Validé

Description :

Description :

Rationale :

Rationale :

Impact :

Reboot nécessaire. Un flash de BIOS raté peut bricker le serveur — prévoir un accès console physique ou IPMI. Certaines mises à jour de microcode peuvent réduire très légèrement les performances (~1-3%) sur les workloads affectés par les mitigations Spectre.

🔍 Audit

Audit :

Version BIOS/UEFI

dmidecode -t bios | grep -E "Vendor|Version|Release Date"

Résultat attendu : version correspondant à la dernière release constructeur

Version microcode CPU

journalctl -k | grep -i microcode

ou :

cat /proc/cpuinfo | grep -m1 microcode

Résultat attendu : version récente (comparer avec les advisories Intel/AMD)

Vérification des mitigations CPU actives

cat /sys/devices/system/cpu/vulnerabilities/*

Résultat attendu : "Mitigation:" sur chaque ligne (pas "Vulnerable")


**Remédiation** :

1. Firmware BIOS : procédure constructeur (Dell, HP, Lenovo, Supermicro)

Télécharger depuis le site officiel, vérifier le checksum, appliquer

2. Microcode CPU via paquets Debian :

apt update

Intel

apt install -y intel-microcode

AMD

apt install -y amd64-microcode

3. Redémarrer pour appliquer

reboot


**Valeur par défaut** : Microcode distribué avec le kernel Debian. Peut ne pas être la dernière version.

**Rollback** : Pour le microcode Debian : `apt purge intel-microcode` ou `amd64-microcode` et reboot. Pour le BIOS : procédure de flash-back constructeur (si disponible).

**Spécificité PVE** : Le kernel Proxmox (basé sur Ubuntu) charge le microcode depuis l'initramfs. Les paquets `intel-microcode` et `amd64-microcode` de Debian fonctionnent normalement avec le kernel PVE.

---
0.1.2 Sécurisation BMC / IPMI / iDRAC / iLO
Level 1
Profile ApplicabilityLevel 1 — Server
Applicabilité PVE🏢🌐 (N/A si matériel sans BMC)
Réf. CIS Debian 13Hors périmètre CIS (couche matérielle)
CIS Controls v84.1 — Establish and Maintain a Secure Configuration Process
MITRE ATT&CKT1200 (Hardware Additions), T1133 (External Remote Services), T1078 (Valid Accounts)
ISO 27001:2022A.8.9 — Configuration management, A.5.15 — Access control
PCI DSS v4.02.2.1 — Develop configuration standards for system components
Scénario threat modelS5 (Compromission BMC)
Statut PVE 9✅ Validé

Description :

Description :

Rationale :

Rationale :

Impact :

Faible. Nécessite un accès au réseau BMC pour la configuration initiale.

🔍 Audit

Audit :

Vérifier que le BMC N'EST PAS accessible depuis le réseau management PVE

(exécuter depuis un hôte sur le réseau management, PAS le réseau OOB)

nmap -sV <adresse_IP_BMC> -p 80,443,623,5900 --max-retries 1

Résultat attendu : tous les ports filtrés ou host unreachable

(le BMC ne doit être joignable QUE depuis le VLAN OOB)

Vérifier les protocoles actifs (depuis le réseau OOB)

ipmitool -I lanplus -H <BMC_IP> -U admin -P <password> lan print 1

Vérifier : Auth Type = PASSWORD uniquement n'est pas acceptable

Résultat attendu : des méthodes d'authentification fortes


**Remédiation** :

| Action | Priorité | Détail |
|--------|----------|--------|
| Changer les credentials par défaut | 🔴 Critique | Mot de passe ≥ 16 caractères, unique par serveur, stocké dans un gestionnaire de MDP |
| Isoler sur VLAN OOB dédié | 🔴 Critique | VLAN non routable vers internet ni vers le réseau VM/management PVE |
| Désactiver HTTP (forcer HTTPS) | 🔴 Critique | Via l'interface web BMC ou CLI ipmitool |
| Désactiver SNMP v1/v2c | 🟡 Important | Migrer vers SNMPv3 si monitoring nécessaire |
| Désactiver Telnet | 🔴 Critique | Via l'interface web BMC |
| Désactiver IPMI-over-LAN | 🟡 Important | Si non utilisé pour le monitoring |
| Mettre à jour le firmware BMC | 🔴 Critique | Depuis le site constructeur |
| Installer certificat TLS | 🟡 Important | Si le BMC supporte l'import de certificats |
| Activer le System Event Log | 🟡 Important | Pour la traçabilité des accès BMC |

**Valeur par défaut** : Credentials usine (`admin`/`admin`, `ADMIN`/`ADMIN`, ou similaire). HTTP actif. SNMP v1/v2c actif. Pas d'isolation réseau.

**Rollback** : Reset usine du BMC via le bouton physique ou la procédure constructeur.

**Spécificité PVE** : Proxmox n'a aucune interaction directe avec le BMC. La sécurisation du BMC est entièrement indépendante de PVE mais critique pour la sécurité globale de l'infrastructure.

**Références** :
- Forum Proxmox — cas documentés de ransomware via BMC
- NIST SP 800-123 — Guide to General Server Security

---
0.1.3 Activer Secure Boot (UEFI)
Level 2
Profile ApplicabilityLevel 2 — Server
Applicabilité PVE🏢🌐
Réf. CIS Debian 13Hors périmètre CIS
CIS Controls v84.1 — Establish and Maintain a Secure Configuration Process
MITRE ATT&CKT1542.003 (Bootkit), T1014 (Rootkit)
ISO 27001:2022A.8.9 — Configuration management
PCI DSS v4.02.2.1
Scénario threat modelS10 (accès physique)
Statut PVE 9⚠️ Partiel — fonctionnel mais incompatible avec certains modules tiers

Description :

Description :

Rationale :

Rationale :

Impact :

Moyen à élevé. Les modules kernel non signés ne se chargeront pas. Cela affecte :

  • Drivers NVIDIA propriétaires (GPU passthrough) — ❌ ne fonctionneront pas sans signature personnalisée
  • Certains modules DRBD — ⚠️ vérifier la compatibilité
  • Modules kernel out-of-tree tiers — ❌ bloqués
  • ZFS (inclus dans le kernel PVE) — ✅ fonctionne
  • Modules kernel Proxmox standard — ✅ fonctionnent

🔍 Audit

Audit :

mokutil --sb-state

Résultat attendu : "SecureBoot enabled"

Alternative si mokutil non installé :

dmesg | grep -i "secure boot"

Résultat attendu : "Secure boot enabled"


**Remédiation** :
1. Activer Secure Boot dans le BIOS/UEFI
2. Installer PVE normalement (ou redémarrer si déjà installé)
3. Vérifier que le système démarre et que tous les modules nécessaires se chargent :

lsmod | grep -E "zfs|kvm|vhost"

Résultat attendu : modules présents et chargés


**Valeur par défaut** : Dépend du matériel et du BIOS. Souvent désactivé sur les serveurs.

**Rollback** : Désactiver Secure Boot dans le BIOS/UEFI.

**Spécificité PVE** : Proxmox VE 9 supporte Secure Boot. Le kernel PVE et ses modules intégrés (ZFS, KVM) sont signés. Cependant, les modules tiers non signés sont bloqués. **Tester impérativement en lab avant activation en production.**

---
0.1.4 Activer et configurer TPM 2.0
Level 2
Profile ApplicabilityLevel 2 — Server
Applicabilité PVE🏢🌐
Réf. CIS Debian 13Hors périmètre CIS
CIS Controls v83.6 — Encrypt Data on End-User Devices
MITRE ATT&CKT1542 (Pre-OS Boot), M1026 (Privileged Account Management)
ISO 27001:2022A.8.24 — Use of cryptography
PCI DSS v4.03.5.1
Scénario threat modelS10 (accès physique)
Statut PVE 9✅ Validé (vTPM pour VM), ⚠️ Partiel (auto-unlock LUKS)

Description :

Description :

Rationale :

Rationale :

Impact :

Faible. Le TPM est transparent une fois configuré. L'auto-unlock via TPM protège contre le vol de disques mais PAS contre un attaquant ayant accès à l'ensemble du serveur (le TPM est sur la carte mère).

🔍 Audit

Audit :

cat /sys/class/tpm/tpm0/tpm_version_major 2>/dev/null

Résultat attendu : 2

dmesg | grep -i tpm

Résultat attendu : lignes indiquant un TPM détecté et initialisé


**Remédiation** :
1. Activer le TPM 2.0 dans le BIOS/UEFI
2. Vérifier la détection par le kernel

Pour l'auto-unlock LUKS via TPM (si LUKS est utilisé) :

apt install -y systemd-cryptenroll tpm2-tools

Enregistrer la clé TPM pour un volume LUKS

systemd-cryptenroll /dev/sdX3 --tpm2-device=auto --tpm2-pcrs=0+1+7

PCR 0 = firmware, PCR 1 = firmware config, PCR 7 = Secure Boot state

Générer une clé de récupération (IMPÉRATIF)

systemd-cryptenroll /dev/sdX3 --recovery-key

STOCKER CETTE CLÉ HORS LIGNE (password manager, coffre-fort)


**Valeur par défaut** : TPM souvent désactivé dans le BIOS par défaut sur les serveurs.

**Rollback** : Supprimer l'enrollment TPM : `systemd-cryptenroll /dev/sdX3 --wipe-slot=tpm2`. La passphrase LUKS reste fonctionnelle.

**Spécificité PVE** :
- PVE 9 supporte le vTPM (TPM virtuel) pour les VM guests — utile pour Windows 11 et les OS exigeant un TPM
- L'auto-unlock LUKS via TPM est une fonctionnalité Debian/systemd standard, indépendante de PVE
- **Alternatives sans TPM** : `dropbear-initramfs` (unlock SSH dans l'initramfs), `tang`/`clevis` (Network-Bound Disk Encryption — NBDE)

---
0.1.5 Documenter l'inventaire matériel
Level 1
Profile ApplicabilityLevel 1 — Server
Applicabilité PVE🏠🏢🌐
Réf. CIS Debian 13Hors périmètre CIS
CIS Controls v81.1 — Establish and Maintain Detailed Enterprise Asset Inventory
MITRE ATT&CKT1082 (System Information Discovery) — contrôle défensif
ISO 27001:2022A.5.9 — Inventory of information and other associated assets
PCI DSS v4.09.9.1 — Maintain a listing of devices
Scénario threat modelTous
Statut PVE 9✅ Validé

Description :

Description :

Rationale :

Rationale :

Impact : Nul.

🔍 Audit

Audit :

Script de génération d'inventaire rapide

echo "=== SYSTEM ===" && dmidecode -t system | grep -E "Manufacturer|Product|Serial" && \

echo "=== BIOS ===" && dmidecode -t bios | grep -E "Vendor|Version|Release" && \

echo "=== CPU ===" && lscpu | grep -E "Model name|Socket|Thread" && \

echo "=== RAM ===" && free -h | grep Mem && \

echo "=== STORAGE ===" && lsblk -d -o NAME,SIZE,MODEL,SERIAL && \

echo "=== NETWORK ===" && ip -br link show && \

echo "=== PVE ===" && pveversion -v 2>/dev/null && \

echo "=== KERNEL ===" && uname -r

Résultat attendu : informations complètes pour alimenter le tableau d'inventaire


**Remédiation** :
Créer et maintenir un fichier d'inventaire par nœud. Modèle :
Champ Valeur
Hostname pve-node01
Modèle Dell PowerEdge R750
N° série [À renseigner]
CPU 2x Intel Xeon Gold 6338
RAM 256 Go DDR4 ECC
Disques OS 2x 480 Go SSD SATA (RAID1)
Disques VM 4x 1.92 To NVMe
Réseau 2x 25 GbE + 2x 1 GbE
BIOS v2.12.2 (2025-10-15)
BMC iLO 5 v3.10
PVE 9.1-3
Kernel 6.12.6-1-pve
Emplacement Rack A, U12-14
VLAN Mgmt 10 — 10.0.10.11/24
VLAN BMC 99 — 10.0.99.11/24
Dernier audit 2026-03-20

Mettre à jour après **chaque** changement de matériel ou de configuration.

**Valeur par défaut** : Aucun inventaire.

---

0.2 — Choix d'installation


0.2.1 Sélectionner la méthode d'installation
Level 1
Profile ApplicabilityLevel 1 — Server
Applicabilité PVE🏠🏢🌐
Réf. CIS Debian 13Prérequis global (conditionne 1.1.x partitionnement)
CIS Controls v84.1 — Establish and Maintain a Secure Configuration Process
ISO 27001:2022A.8.9 — Configuration management
Scénario threat modelS7 (supply chain), S10 (accès physique)
Statut PVE 9✅ Validé

Description :

Description :

Rationale :

Rationale :

Impact :

Décision architecturale irréversible. L'installateur ISO Proxmox ne propose pas d'option LUKS pour ext4/XFS. Les options de chiffrement dans l'installateur PVE n'existent que pour ZFS.

Critère ISO Proxmox Debian 13 + dépôt PVE
Simplicité ✅ Assistée ❌ Manuelle
Support Proxmox GmbH ✅ Méthode principale ⚠️ Supportée
Partitionnement CIS (1.1.x) ❌ Schéma fixe ✅ Contrôle total
LUKS sur ext4/LVM ❌ Non disponible ✅ Via installateur Debian
ZFS encryption ✅ Disponible ⚠️ Installation manuelle
Conformité CIS complète ❌ Partitions non séparées ✅ Possible
Risque opérationnel Faible Moyen

Remédiation (recommandation par profil) :

Profil Recommandation
🏠 Homelab ISO Proxmox — simple, fiable
🏢 Prod sans exigence CIS strict ISO Proxmox + ZFS encryption si chiffrement requis
🏢🌐 Prod avec conformité CIS ou LUKS obligatoire Debian 13 + dépôt Proxmox

Si Debian 13 + dépôt PVE : suivre https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_13_Trixie

Pièges documentés :

  • Ne PAS installer d'environnement de bureau
  • Sélectionner uniquement Standard system utilities + SSH server
  • Configurer un hostname FQDN résolvable (requis par Proxmox)
  • Retirer le kernel Debian APRÈS vérification du boot sur kernel PVE

Valeur par défaut : N/A (choix initial).

Spécificité PVE : L'installateur ISO PVE utilise un partitionnement prédéfini : une partition EFI, un VG LVM avec root + swap (ou ZFS avec root pool + data pool). Ce schéma ne crée PAS de partitions séparées pour /tmp, /var, /var/log, /var/log/audit, /home.


0.2.2 Configurer le partitionnement selon CIS
Level 1
Profile ApplicabilityLevel 1 — Server (partitions de base), Level 2 — Server (toutes)
Applicabilité PVE🏠 (simplifié) 🏢🌐 (complet)
Réf. CIS Debian 131.1.2.1 à 1.1.2.7
CIS Controls v84.8 — Uninstall or Disable Unnecessary Services
MITRE ATT&CKT1499.001 (OS Exhaustion Flood), M1022 (Restrict File and Directory Permissions)
ISO 27001:2022A.8.9 — Configuration management
PCI DSS v4.02.2.1, 2.2.4
Scénario threat modelS2 (ransomware), S7 (supply chain)
Statut PVE 9✅ Validé (si Debian-first) / ⚠️ Non conforme (si ISO PVE)

Description :

Description :

Rationale :

Rationale :

Impact :

Nul si fait à l'installation. Irréversible après installation (réinstallation nécessaire pour le partitionnement, options de montage modifiables à chaud).

🔍 Audit

Audit :

Vérifier que les partitions existent

for mp in /tmp /var /var/log /var/log/audit /home /var/tmp; do

findmnt -n "$mp" > /dev/null 2>&1 && echo "PASS: $mp est une partition séparée" \

echo "FAIL: $mp n'est PAS une partition séparée"

done

Vérifier les options de montage

for mp in /tmp /dev/shm /var/tmp; do

opts=$(findmnt -n -o OPTIONS "$mp" 2>/dev/null)

echo "$mp: $opts"

echo "$opts" | grep -q "nosuid" && echo " nosuid: PASS" || echo " nosuid: FAIL"

echo "$opts" | grep -q "nodev" && echo " nodev: PASS" || echo " nodev: FAIL"

echo "$opts" | grep -q "noexec" && echo " noexec: PASS" || echo " noexec: FAIL"

done


**Remédiation** :

Schéma complet (installateur Debian, conformité CIS Level 1+2) :

| Point de montage | CIS | Level | Taille recommandée | Options de montage |
|-----------------|-----|-------|--------------------|--------------------|
| `/` | — | — | 20-50 Go | `defaults` |
| `/boot` | — | — | 1 Go | `defaults,nosuid,nodev,noexec` |
| `/boot/efi` | — | — | 512 Mo | `defaults,nosuid,nodev,noexec` |
| `/tmp` | 1.1.2.1 | L1 | 5-10 Go | `defaults,nosuid,nodev,noexec` |
| `/dev/shm` | 1.1.2.2 | L1 | tmpfs | `defaults,nosuid,nodev,noexec` |
| `/home` | 1.1.2.3 | L1 | 5-10 Go | `defaults,nosuid,nodev` |
| `/var` | 1.1.2.4 | L1 | 20-50 Go | `defaults,nosuid,nodev` |
| `/var/tmp` | 1.1.2.5 | L1 | 5-10 Go | `defaults,nosuid,nodev,noexec` |
| `/var/log` | 1.1.2.6 | L1 | 10-20 Go | `defaults,nosuid,nodev,noexec` |
| `/var/log/audit` | 1.1.2.7 | L1 | 5-10 Go | `defaults,nosuid,nodev,noexec` |
| `/var/lib/vz` | PVE | — | Max ou volume dédié | `defaults,nosuid,nodev` |
| swap | — | — | 1-2x RAM (max 32 Go) | `sw` |

**Valeur par défaut** : L'installateur ISO PVE crée une partition unique root + swap (LVM) ou un pool ZFS sans séparation. Non conforme CIS 1.1.2.x.

**Rollback** : Les options de montage sont modifiables dans `/etc/fstab` + `mount -o remount`. Le partitionnement lui-même n'est pas modifiable sans réinstallation.

**Spécificité PVE** : `/var/lib/vz` est le répertoire de stockage local par défaut de Proxmox (images ISO, templates, snippets). Sur l'installateur ISO, il est créé comme un volume LVM-thin ou un dataset ZFS. Le séparer du root filesystem prévient l'épuisement de l'espace disque root par les images VM.

---
0.2.3 Chiffrer les disques à l'installation
Level 2
Profile ApplicabilityLevel 2 — Server
Applicabilité PVE🏢🌐
Réf. CIS Debian 13Hors périmètre CIS (recommandation complémentaire)
CIS Controls v83.6 — Encrypt Data on End-User Devices, 3.9 — Encrypt Data on Removable Media
MITRE ATT&CKT1005 (Data from Local System), T1025 (Data from Removable Media), M1041 (Encrypt Sensitive Information)
ISO 27001:2022A.8.24 — Use of cryptography
PCI DSS v4.03.5.1 — Render PAN unreadable anywhere it is stored
Scénario threat modelS10 (accès physique)
Statut PVE 9⚠️ Partiel — ZFS encryption natif dans l'installateur, LUKS uniquement via Debian-first

Description :

Description :

Rationale :

Rationale :

Impact :

  • Surcoût performance : 3-5% (LUKS2 + AES-NI), 5-8% (ZFS encryption) sur I/O séquentiel
  • Nécessite une intervention au boot (saisie de passphrase) ou une configuration auto-unlock (TPM, dropbear, tang/clevis)
  • Complexité accrue de la gestion des clés et de la recovery

🔍 Audit

Audit :

Vérifier le chiffrement LUKS

lsblk -f | grep -i crypt

Résultat attendu : volumes de type "crypt" visibles

Vérifier le chiffrement ZFS

zfs get encryption -r rpool 2>/dev/null | grep -v off

Résultat attendu : datasets avec encryption=aes-256-gcm

Vérifier l'état global

cryptsetup status cryptlvm 2>/dev/null || echo "Pas de LUKS actif"


**Remédiation** :

Trois options (voir 0.2.1 pour le choix d'installation) :

**Option A — ZFS native encryption (via installateur PVE)** :
Sélectionner ZFS dans l'installateur et activer le chiffrement. Pour un chiffrement per-dataset post-installation :

zfs create -o encryption=aes-256-gcm \

-o keylocation=prompt \

-o keyformat=passphrase \

rpool/encrypted-vms


**Option B — LUKS2 (via installateur Debian)** :
Choisir « Guided — use entire disk and set up encrypted LVM » dans l'installateur Debian 13. Puis installer Proxmox par-dessus.

**Option C — LUKS sous ZFS (post-installation, avancé)** :
Conversion in-place via live boot. Réservé aux experts.

**Impératifs communs** :

Sauvegarder l'en-tête LUKS (si LUKS)

cryptsetup luksHeaderBackup /dev/sdX3 --header-backup-file /root/luks-header-sdX3.img

STOCKER HORS SITE

Générer et stocker une clé de récupération

systemd-cryptenroll /dev/sdX3 --recovery-key 2>/dev/null

ou noter la passphrase dans un gestionnaire de MDP hors ligne


**Valeur par défaut** : Aucun chiffrement.

**Rollback** : Le chiffrement une fois appliqué n'est pas réversible sans réinstallation ou procédure de déchiffrement destructive.

**Spécificité PVE** :
- L'installateur ISO PVE **ne propose PAS LUKS pour ext4/XFS**. Le chiffrement dans l'installateur n'est disponible que pour ZFS.
- ZFS native encryption ne chiffre pas le root pool facilement (le boot doit lire le pool).
- Pour un chiffrement total (full disk encryption), la méthode Debian-first + LUKS est nécessaire.
- Le déverrouillage distant via `dropbear-initramfs` est recommandé pour les serveurs en datacenter :

apt install dropbear-initramfs

echo 'DROPBEAR_OPTIONS="-s -c cryptroot-unlock"' > /etc/dropbear/initramfs/dropbear.conf

Ajouter votre clé publique SSH dans /etc/dropbear/initramfs/authorized_keys

update-initramfs -u


---
0.2.4 Planifier l'architecture réseau
Level 1
Profile ApplicabilityLevel 1 — Server
Applicabilité PVE🏠 (simplifié) 🏢🌐 (complet)
Réf. CIS Debian 13Hors périmètre CIS (architecture)
CIS Controls v812.2 — Establish and Maintain a Secure Network Architecture
MITRE ATT&CKT1557 (Adversary-in-the-Middle), T1021 (Remote Services), M1030 (Network Segmentation)
ISO 27001:2022A.8.22 — Segregation of networks
PCI DSS v4.01.2.1 — Restrict inbound and outbound traffic
Scénario threat modelS1, S4, S5, S9
Statut PVE 9✅ Validé

Description :

Description :

Rationale :

Rationale :

Impact : Nul (planification uniquement).

🔧 Remédiation

Remédiation :

Architecture VLAN de référence (🏢🌐) :

VLAN Nom Rôle Plage exemple Ports PVE
10 Management Web UI :8006, SSH, API 10.0.10.0/24 8006/tcp, 22/tcp
20 VM/CT Trafic applicatif guests 10.0.20.0/24+ Variable
30 Stockage NFS, iSCSI, Ceph public 10.0.30.0/24 2049, 3260, 6789
40 Cluster Corosync, migration, réplication 10.0.40.0/24 5405/udp, 60000-60050/tcp
41 Ceph cluster Réplication OSD (si Ceph) 10.0.41.0/24 6800-7300/tcp
99 OOB BMC/IPMI 10.0.99.0/24 443/tcp (BMC web)

Architecture simplifiée (🏠) :

Réseau plat avec firewall PVE pour restreindre l'accès aux ports management. Pas de VLAN nécessaire.

Valeur par défaut : Pas de segmentation. Un seul bridge vmbr0 sur l'interface principale.

Spécificité PVE : Proxmox utilise des bridges Linux (vmbr0, vmbr1...) pour la connectivité réseau. Chaque VLAN peut être associé à un bridge dédié ou utiliser des VLAN-aware bridges. La configuration détaillée est couverte en Phase 4.


0.3 — Checklist pré-installation

MATÉRIEL
[ ] 0.1.1 — Firmware/BIOS à jour
[ ] 0.1.1 — Microcode CPU installé
[ ] 0.1.2 — Credentials BMC changés
[ ] 0.1.2 — BMC isolé sur VLAN OOB
[ ] 0.1.2 — Protocoles non chiffrés BMC désactivés
[ ] 0.1.3 — Secure Boot : décision documentée (activé/désactivé)
[ ] 0.1.4 — TPM 2.0 : décision documentée
[ ] 0.1.5 — Inventaire matériel rempli

ARCHITECTURE
[ ] 0.2.1 — Méthode d'installation choisie (ISO PVE / Debian-first)
[ ] 0.2.2 — Schéma de partitionnement défini
[ ] 0.2.3 — Stratégie de chiffrement définie + clés générées et stockées
[ ] 0.2.4 — Architecture réseau VLAN planifiée et documentée

PRÉREQUIS
[ ] Accès console hors-bande vérifié
[ ] ISO d'installation préparée (checksum SHA256 vérifié)
[ ] Procédure de déverrouillage distant planifiée (si LUKS)

Navigation : ← 01-threat-model.md | 03-os-debian-durci.md →

-e