En production
Accès public par un VPS et authentification unique
J'ai mis en place l'accès public à mes services auto-hébergés et une authentification unique. Un VPS loué reçoit les requêtes et les transmet à la maison par un tunnel WireGuard. Authentik gère la connexion à 20 applications, avec les comptes d'un Active Directory.
- Contexte
- Projet personnel (NetSynk)
- Période
- Depuis 2024
- Rôle
- Conception, installation, exploitation
- Outils
- Authentik · Active Directory · WireGuard · Traefik · CrowdSec · Vaultwarden
Accès public
Je ne voulais pas exposer l'adresse IP de la maison, ni dépendre de la box pour la disponibilité. Les noms de domaine pointent donc vers un VPS.
- Le VPS fait tourner Traefik v3, qui gère les certificats TLS et 16 routes.
- CrowdSec bloque les adresses malveillantes : 6 collections de scénarios, avec un blocage au niveau du pare-feu du VPS.
- Un tunnel WireGuard relie le VPS au réseau interne, derrière les deux pare-feu OPNsense.
- J'ai migré le hub WireGuard multi-sites vers OPNsense, un site à la fois, en gardant un second accès d'administration pendant l'opération.
- Navigateur. Le visiteur ouvre une adresse en netsynk.eu. Le nom de domaine pointe vers le VPS.
- VPS. Traefik gère le certificat TLS. CrowdSec bloque les adresses déjà bannies.
- WireGuard. La requête passe dans un tunnel chiffré entre le VPS et la maison.
- OPNsense. Le pare-feu route la requête vers le VLAN du service. Un second pare-feu partage les mêmes adresses virtuelles.
- Authentik. Si l'utilisateur n'est pas connecté, Authentik affiche la page de connexion (compte Active Directory et second facteur), puis vérifie qu'il appartient au groupe de l'application.
- Service. L'application répond, et la réponse repart par le même chemin.
Authentification
Authentik fournit la connexion unique en OIDC, en proxy ou en SAML selon l'application. Les comptes viennent d'un Active Directory sur Windows Server 2025, synchronisé en LDAPS.
Le second facteur est obligatoire. La plupart des services acceptent une clé d'accès WebAuthn.
Les droits sont gérés par groupes, avec un groupe par application. Pour retirer un accès, je retire l'utilisateur du groupe.
Secrets
- Les secrets sont stockés dans Vaultwarden.
- Un CronJob les synchronise vers Kubernetes et les serveurs Linux, avec un compte de service dédié.
- La base de Vaultwarden est sauvegardée chaque nuit.
Supervision externe et limites
Gatus tourne sur le VPS et teste 9 services depuis Internet. Il m'alerte par e-mail.
L'audit du 1er octobre 2026 a montré un défaut. Une sonde indiquait « en ligne » pour un service arrêté : elle recevait la redirection vers la page de connexion et la comptait comme une réponse valide. Je dois lui faire vérifier le contenu de la réponse.
L'audit a aussi trouvé, sur la ligne de la maison, des redirections de ports héritées d'anciens services. Elles sont à supprimer.