Le nœud admin héberge vos services de confiance : authentik (SSO/identité), OpenBao (secrets), et bientôt votre PKI interne. Ces services ne doivent pas dépendre du cluster applicatif qu’ils sécurisent, d’où un serveur séparé.
Ce guide ne décrit pas encore la plateforme finale. Il documente la mise en place du premier nœud de confiance du homelab, dans l’architecture actuelle, avant l’arrivée du cluster applicatif et de la segmentation réseau avancée.
Pourquoi un nœud admin séparé ?
Section intitulée « Pourquoi un nœud admin séparé ? »Le problème de la dépendance circulaire
Section intitulée « Le problème de la dépendance circulaire »Imaginez cette situation :
- Votre cluster Kubernetes Talos héberge authentik
- authentik gère l’accès à ArgoCD, Vault, et aux autres apps
- Le cluster plante ou doit être recréé
- → Vous ne pouvez plus vous authentifier nulle part
- → Impossible de redéployer quoi que ce soit
Solution : les services de confiance vivent en dehors du cluster applicatif.
Architecture à 2 couches
Section intitulée « Architecture à 2 couches »Prérequis
Section intitulée « Prérequis »| Élément | Recommandation |
|---|---|
| Machine physique | Mini-PC avec 16-32 Go RAM, 256+ Go SSD, AMD Ryzen ou Intel N100+ |
| Réseau | OPNsense opérationnel avec un LAN principal en 192.168.10.0/24 et un accès distant validé (voir guide précédent) |
| Stockage | Idéalement un SSD dédié pour les VMs (séparé de l’OS) |
Étape 1 : Installer Proxmox VE
Section intitulée « Étape 1 : Installer Proxmox VE »Proxmox VE est un hyperviseur basé sur Debian. Il vous permet de créer des VMs et des conteneurs LXC depuis une interface web.
Installation express
Section intitulée « Installation express »-
Téléchargez l’ISO sur proxmox.com/downloads
-
Créez une clé USB bootable
Fenêtre de terminal sudo dd if=proxmox-ve_*.iso of=/dev/sdX bs=4M status=progress -
Installez Proxmox VE
- Bootez sur la clé USB
- Choisissez le disque cible (SSD principal)
- Configurez le hostname :
proxmox-admin.lab.local - IP sur le LAN actuel :
192.168.10.10/24 - Gateway :
192.168.10.1(OPNsense)
-
Accédez à l’interface web
https://192.168.10.10:8006
Guide détaillé : Installation Proxmox VE
Post-installation essentielle
Section intitulée « Post-installation essentielle »-
Désactivez le repo entreprise (sauf si vous avez une licence)
Fenêtre de terminal # Dans le shell Proxmoxsed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.listecho "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.listapt update && apt dist-upgrade -y -
Configurez la résolution DNS
Éditez
/etc/resolv.confpour pointer vers OPNsense :nameserver 192.168.10.1search lab.local -
Ajoutez votre clé SSH
Fenêtre de terminal mkdir -p ~/.sshecho "ssh-ed25519 AAAA..." >> ~/.ssh/authorized_keys
Guide détaillé : Configuration post-installation Proxmox
Étape 2 : Déployer authentik
Section intitulée « Étape 2 : Déployer authentik »authentik est une solution SSO/Identity Provider open source. Elle vous permettra de :
- Créer un portail d’authentification unique pour toutes vos apps
- Centraliser la gestion des utilisateurs et groupes
- Activer le MFA (TOTP, WebAuthn, etc.)
- Intégrer des apps via OIDC, SAML, LDAP, ou proxy
Options de déploiement
Section intitulée « Options de déploiement »Pour un homelab, un conteneur Debian avec Docker est le plus simple :
-
Créez un conteneur LXC dans Proxmox :
- Template :
debian-12-standard - RAM : 4 Go minimum (8 Go recommandé)
- Disk : 20 Go
- IP :
192.168.10.20/24 - Activez “nesting” (requis pour Docker)
- Template :
-
Installez Docker
Fenêtre de terminal apt update && apt install -y curlcurl -fsSL https://get.docker.com | sh -
Déployez authentik avec Docker Compose
Suivez le guide officiel ou le nôtre (voir lien ci-dessous).
Pour plus d’isolation, créez une VM Debian :
-
Créez une VM dans Proxmox :
- Template/ISO : Debian 12
- RAM : 4-8 Go
- CPU : 2 cœurs
- Disk : 32 Go
-
Installez l’OS, puis Docker, puis authentik
Guide détaillé : Installation authentik
Ce qu’authentik pourra protéger ensuite
Section intitulée « Ce qu’authentik pourra protéger ensuite »| Application | Méthode d’intégration |
|---|---|
| Proxmox VE | OIDC (realm externe) |
| ArgoCD | OIDC |
| Grafana | OIDC |
| Traefik Dashboard | Proxy authentik (Forward Auth) |
| Applications web sans SSO | Proxy authentik |
| CLI / scripts | Service accounts + API tokens |
Étape 3 : Déployer OpenBao (Vault)
Section intitulée « Étape 3 : Déployer OpenBao (Vault) »OpenBao est le fork communautaire de HashiCorp Vault. Il stocke et gère vos secrets de manière sécurisée :
- Secrets statiques : mots de passe de bases de données, tokens API, etc.
- Secrets dynamiques : génération à la demande de credentials à durée limitée
- PKI : émission de certificats X.509
- Transit : chiffrement/déchiffrement via API (vos apps n’ont jamais la clé)
Pourquoi hors du cluster ?
Section intitulée « Pourquoi hors du cluster ? »Si OpenBao est dans votre cluster Talos, et que Talos a besoin de secrets au démarrage → problème de l’œuf et de la poule.
En le plaçant sur le nœud admin :
- Talos démarre et récupère ses secrets depuis OpenBao
- Les apps récupèrent leurs secrets via l’agent Vault
- Si le cluster est recréé, OpenBao est toujours là
Déploiement
Section intitulée « Déploiement »Pour ce homelab, je pars sur une première instance OpenBao hébergée sur le nœud admin Proxmox. Le format exact (LXC ou VM) pourra évoluer ensuite selon les besoins d’isolation et d’automatisation.
-
Créez un conteneur LXC (ou VM) :
- RAM : 2 Go
- Disk : 10 Go
- IP :
192.168.10.21/24
-
Installez OpenBao
Fenêtre de terminal # Téléchargez depuis les releases GitHubcurl -LO https://github.com/openbao/openbao/releases/download/v2.2.0/bao_2.2.0_linux_amd64.debdpkg -i bao_2.2.0_linux_amd64.deb -
Configurez (
/etc/bao.d/bao.hcl) et initialisez -
Stockez les clés de déverrouillage quelque part de sûr (pas sur ce serveur !)
Guide détaillé : Installation OpenBao
Répartition cible des services sur le nœud admin
Section intitulée « Répartition cible des services sur le nœud admin »À ce stade, votre nœud admin héberge :
| Service | Positionnement initial | Usage |
|---|---|---|
| Proxmox VE | hôte physique (192.168.10.10) | Hyperviseur |
| authentik | VM ou LXC dédié (192.168.10.20) | SSO/OIDC |
| OpenBao | VM ou LXC dédié (192.168.10.21) | Secrets |
| PKI interne | étape suivante | Certificats TLS internes |
Sauvegarde minimale
Section intitulée « Sauvegarde minimale »Ces services sont critiques. Une sauvegarde régulière est indispensable.
Stratégie recommandée
Section intitulée « Stratégie recommandée »| Élément | Méthode | Fréquence |
|---|---|---|
| VM / conteneurs Proxmox | Proxmox Backup Server ou vzdump | Quotidienne |
| Config authentik | Export via UI ou dump PostgreSQL | Hebdomadaire |
| Data OpenBao | Snapshot Raft ou backend storage | Quotidienne |
| Clés unseal OpenBao | Stockage offline hors site | Une fois (puis rotation) |
Guide détaillé : Sauvegardes Proxmox
Vérifications
Section intitulée « Vérifications »Tests authentik
Section intitulée « Tests authentik »# Depuis votre postecurl -k https://auth.lab.local/api/v3/core/info/Vous devriez obtenir une réponse JSON avec la version d’authentik.
Tests OpenBao
Section intitulée « Tests OpenBao »# Définir l'adresseexport BAO_ADDR='https://vault.lab.local:8200'
# Vérifier le statutbao statusChecklist du premier palier
Section intitulée « Checklist du premier palier »- Proxmox accessible via
https://192.168.10.10:8006 - authentik déployé et accessible
- Compte admin authentik avec MFA activé
- OpenBao initialisé et déverrouillé
- Clés unseal stockées en lieu sûr (hors ce serveur)
- Résolution DNS locale (si déjà mise en place)
- Première sauvegarde effectuée
Prochaines étapes
Section intitulée « Prochaines étapes »À retenir
Section intitulée « À retenir »- Nœud admin séparé : évite la dépendance circulaire avec le cluster applicatif
- authentik : SSO/OIDC pour toutes vos applications
- OpenBao : gestion centralisée des secrets
- DNS interne : configurez
*.lab.localpour simplifier les accès - MFA obligatoire : le compte admin authentik est la clé de voûte
- Sauvegardez TOUT : particulièrement les clés unseal d’OpenBao