5.1 KiB
Politique de sécurité – Homelab Proxmox VE
Objectif
Ce document décrit les choix de sécurité appliqués à l'infrastructure homelab. Il ne s'agit pas d'une liste de règles formelles mais d'une réflexion sur les principes retenus, les menaces considérées et les compromis effectués — dans le contexte d'un usage personnel et d'apprentissage.
Modèle de menace
L'infrastructure est exposée à deux catégories de risques principaux :
Risques externes
- Scan automatisé de ports et tentatives d'exploitation de services exposés
- Compromission d'un compte d'accès (Guacamole, Proxmox)
- Attaque sur le service VPN
Risques internes
- Fuite d'un environnement de test vulnérable (VM CTF, malware) vers le réseau de production
- Mauvaise manipulation sur une VM qui affecterait d'autres services
- Compromission d'une VM TP accessible via Guacamole
Principes appliqués
1. Exposition minimale
Principe : aucun service ne doit être accessible depuis internet s'il n'en a pas strictement besoin.
Mise en œuvre :
- Un seul port ouvert sur la Freebox : UDP 51820 (WireGuard)
- Tous les services web (Proxmox WebUI, Guacamole, TrueNAS) sont accessibles uniquement via VPN ou Cloudflare Tunnel
- Pas de redirection de port RDP, SSH ou HTTP/HTTPS directe
2. Administration exclusivement via VPN
Principe : la surface d'attaque de l'administration doit être nulle depuis internet.
Mise en œuvre :
- L'interface Proxmox (port 8006) n'est accessible que depuis le tunnel WireGuard
- Toute intervention de maintenance (SSH sur LXC, console VM) passe par le VPN
- WireGuard est préféré à OpenVPN pour sa simplicité de code (surface d'attaque réduite), ses performances et sa cryptographie moderne (Curve25519, ChaCha20)
3. Accès partagé cloisonné (Guacamole + Cloudflare Access)
Principe : les accès donnés à des tiers (étudiants, partenaires de TP) doivent être authentifiés, traçables et limités aux ressources concernées.
Mise en œuvre :
- Guacamole exposé via Cloudflare Tunnel (aucun port direct)
- Double couche d'authentification :
- Cloudflare Access : vérification par lien email avant d'atteindre Guacamole
- Guacamole : identifiants individuels par utilisateur
- Les VMs accessibles via Guacamole sont sur le réseau 10.1.1.x, isolées du réseau Freebox
- Ces VMs ont accès à internet (via NAT OPNsense) mais ne peuvent pas atteindre les services d'administration
Pourquoi Cloudflare Tunnel plutôt qu'un VPN pour les TPs ? Un VPN par utilisateur impliquerait une gestion de clés, une distribution sécurisée et une configuration cliente. Cloudflare Access permet un accès web simple (lien + email) sans client à installer, adapté à des utilisateurs non techniques ou ponctuels.
4. Segmentation réseau
Principe : les environnements de confiance différente ne doivent pas pouvoir communiquer librement.
Mise en œuvre :
| Segment | Confiance | Communication autorisée |
|---|---|---|
| Réseau Freebox (192.168.1.x) | Haute | Services de production, accès VPN |
| Réseau interne OPNsense (10.1.1.x) | Moyenne | Internet sortant via NAT, pas de retour vers Freebox |
| VMs CTF / Malware | Nulle | Aucune interface réseau |
OPNsense applique les règles suivantes :
- NAT sortant pour les VMs 10.1.1.x → internet
- Blocage de tout trafic 10.1.1.x → 192.168.1.x
- Pas de règle entrante depuis Freebox vers 10.1.1.x (deny-all par défaut)
5. Isolation des environnements de test
Principe : une VM compromise ou délibérément vulnérable ne doit pas affecter l'infrastructure.
Mise en œuvre :
- VMs CTF et malware déployées sans interface réseau ou sur réseau host-only Proxmox
- Snapshots systématiques avant toute expérimentation
- Restauration rapide vers un état propre après chaque session
- Nommage clair des VMs pour distinguer production / test / éphémère
6. Journalisation
Principe : tout trafic réseau entre segments doit être visible.
Mise en œuvre :
- OPNsense journalise les flux inter-segments et les connexions bloquées
- Les logs WireGuard permettent de tracer les connexions VPN (date, IP source, handshake)
- Guacamole journalise les sessions utilisateurs (connexion, durée, ressource accédée)
Limites assumées
Ce homelab est un environnement personnel et d'apprentissage. Certaines mesures ne sont pas implémentées par choix pragmatique :
| Mesure | Statut | Raison |
|---|---|---|
| IDS/IPS (Suricata) | Non déployé | Overhead CPU, prévu comme évolution |
| Authentification MFA sur Proxmox | Non actif | Accès uniquement via VPN, risque résiduel accepté |
| SIEM / centralisation des logs | Non déployé | Hors scope actuel |
| Rotation automatique des clés WireGuard | Manuelle | Fréquence suffisante pour usage personnel |
Évolutions prévues
- Déploiement de Suricata sur OPNsense pour détection d'intrusion
- Mise en place d'un VLAN dédié aux VMs de TP (isolation plus fine)
- Exploration d'un SIEM léger (Wazuh ou Graylog) pour centraliser les logs