Durée : 3–4 semaines (lecture + mise en pratique)
Niveau : Avancé (homelab avec services déjà exposés ou prêts à l’être)
Objectif : Sécuriser un homelab dont les services deviennent accessibles depuis l’extérieur – pare-feu, reverse proxy, identité, détection d’intrusion, accès distant.
Table des Matières
Vue d’ensemble
Dès qu’un service homelab devient accessible depuis l’extérieur, les règles changent. Ce parcours va plus loin que les bases (firewall, fail2ban, VPN) pour couvrir le pare-feu périmètre, le reverse proxy, l’identité centralisée, la détection d’intrusion moderne et l’accès distant.
Ce que tu vas mettre en place :
- Pare-feu dédié : OPNsense en amont de tout le reste, à la place de la box opérateur
- Reverse proxy : Traefik ou Nginx Proxy Manager pour exposer tes services avec TLS
- Identité centralisée : Authentik pour une authentification unique sur tous tes services
- Détection d’intrusion : migration de Fail2Ban vers CrowdSec
- Accès distant : WireGuard ou Tailscale, sans tout exposer publiquement
Prérequis
- Un homelab déjà opérationnel avec au moins un service que tu prévois d’exposer
- Les bases de sécurité homelab déjà en place (firewall Proxmox, fail2ban, VPN basique) – voir le parcours Homelab Proxmox sur Minisforum MS-01
- Un nom de domaine (nécessaire pour le reverse proxy et les certificats TLS)
Pas nécessaire :
- Une expérience préalable en administration réseau professionnelle
- Exposer tous tes services d’un coup – ce parcours fonctionne aussi bien pour un seul service exposé
Programme de la série
Module 1 : Un pare-feu dédié en amont
→ OPNsense sur Proxmox : remplacer sa box opérateur
- Pourquoi une box opérateur ne suffit pas dès que tu exposes des services
- Installation d’OPNsense en VM devant ton réseau homelab
Objectif : un vrai pare-feu périmètre, pas juste celui de la box.
Module 2 : Reverse proxy et TLS
→ Traefik v3 vs Nginx Proxy Manager
- Comparer les deux approches et choisir celle qui correspond à ton usage
- Exposer un premier service avec certificat TLS automatique
Objectif : plus aucun service exposé sans HTTPS ni nom de domaine propre.
Module 3 : Identité centralisée
→ Authentik sur Proxmox : SSO centralisé
- Une seule authentification pour tous les services exposés
- Intégration avec le reverse proxy mis en place au module précédent
Objectif : ne plus gérer un mot de passe différent par service exposé.
Module 4 : Détection et blocage d’intrusion
→ Transition de Fail2Ban à CrowdSec
- Pourquoi CrowdSec va plus loin que Fail2Ban (blocklist communautaire)
- Migration progressive sans perdre la protection existante
Objectif : une détection d’intrusion à jour des menaces actuelles.
Module 5 : Accès distant sans tout exposer
- Comparer les deux approches selon ton niveau de contrôle souhaité
- Garder certains services accessibles uniquement via VPN, jamais publiquement
Objectif : décider service par service ce qui doit être public vs accessible seulement via VPN.
Ressources complémentaires
- OPNsense : https://opnsense.org/
- Traefik : https://doc.traefik.io/traefik/
- Authentik : https://goauthentik.io/
- CrowdSec : https://www.crowdsec.net/
- Tailscale : https://tailscale.com/
- Reddit r/homelab : https://reddit.com/r/homelab
Critères de réussite
À la fin de ce parcours, tu dois être capable de :
- [ ] Exposer un service avec un reverse proxy et TLS automatique, sans intervention manuelle sur les certificats
- [ ] Protéger l’accès à tes services exposés avec une authentification centralisée
- [ ] Expliquer la différence entre Fail2Ban et CrowdSec et pourquoi migrer
- [ ] Décider, pour chaque service, s’il doit être public ou accessible uniquement via VPN