Septième épisode, et cette fois on attaque la partie sécurité de l'infra : comment relier ses machines entre elles sans les exposer sur internet, comment centraliser l'authentification de tous ses services, et comment savoir si quelqu'un fait un truc louche sur ton serveur. Trois briques qui, ensemble, forment la base sécurité de tout homelab qui a dépassé le stade "trois conteneurs sur un Raspberry Pi".

NetBird — un réseau privé entre toutes tes machines, sans prise de tête

NetBird, c'est un mesh VPN basé sur WireGuard, mais avec toute la couche de gestion qu'il manque à WireGuard tout seul : découverte automatique des pairs, gestion des ACL par groupes, NAT traversal automatique, et une interface web pour visualiser et gérer l'ensemble du réseau plutôt que de bidouiller des fichiers de conf à la main sur chaque machine. Le résultat, c'est que toutes tes machines (serveur perso, VPS, laptop, téléphone) se retrouvent sur le même réseau privé virtuel, joignables entre elles par une IP fixe, peu importe où elles sont physiquement.

Je suis passé dessus après avoir pas mal poncé wg-easy — NetBird en self-hosted est la boite outils VPN que je cherchais. Un point pas évident au début : NetBird pousse son propre resolv.conf géré sur les machines du mesh, ce qui peut devenir un point de défaillance unique si tu n'y prends pas garde — un bon réflexe est de bien vérifier la résilience de cette résolution DNS avant de tout faire reposer dessus.

Authentik — un SSO qui centralise vraiment tout

logo

Authentik, c'est un fournisseur d'identité et de SSO self-hosted, qui gère OAuth2/OIDC, SAML, LDAP, et globalement tout ce qu'il faut pour n'avoir qu'un seul point de connexion pour l'ensemble de tes services. Une fois en place, tu arrêtes de gérer un mot de passe différent pour chaque appli de ton homelab — Grafana, Nextcloud, ton dashboard perso, tout passe par la même authentification, avec en bonus la 2FA centralisée et des policies d'accès par groupe qui s'appliquent partout d'un coup.

C'est aussi l'outil qui m'a donné le plus de fil à retordre côté debug, avec plusieurs cas d'erreurs OAuth qui n'avaient en fait rien à voir avec Authentik lui-même mais avec la couche transport devant : des soucis de headers forwardés mal configurés côté reverse proxy, ou des upgrades WebSocket qui ne passaient pas correctement à travers Traefik. Le réflexe à avoir dans ce genre de cas, c'est de ne pas se braquer sur la conf Authentik en pensant que le problème vient forcément d'elle — remonter la chaîne jusqu'au proxy avant de perdre des heures à re-vérifier des scopes OAuth qui étaient bons du premier coup. J'ai aussi mis en place l'intégration OIDC pour Home Assistant via le composant custom hass-oidc-auth, ce qui permet même à des applis qui ne supportent pas nativement l'OIDC standard de rentrer dans la danse du SSO.

Falco — savoir ce qui se passe vraiment sur ton serveur

Falco, c'est un outil de détection d'anomalies au runtime, qui surveille en continu les appels système de ta machine (ou de tes conteneurs) et déclenche des alertes sur des comportements suspects : un shell qui s'ouvre dans un conteneur qui ne devrait jamais en avoir besoin, un binaire qui écrit là où il ne devrait pas, une élévation de privilèges inattendue. C'est le genre d'outil qu'on n'installe jamais en se disant "j'en ai vraiment besoin", et qu'on est hyper content d'avoir le jour où il choppe un truc.

Je le fais tourner couplé à Falcosidekick, qui se charge de relayer les alertes vers l'extérieur, et j'ai branché ça sur Gotify pour recevoir une notif push direct sur le téléphone dès qu'un événement suspect est détecté — plutôt que de devoir aller consulter des logs à froid après coup, ou pire, ne jamais les consulter du tout. C'est typiquement le genre de brique de sécurité passive qui tourne en fond, ne demande quasi aucune maintenance une fois configurée, et qui vaut clairement le coup pour la tranquillité d'esprit que ça apporte.

En résumé

Trois outils qui touchent à trois couches différentes de la sécurité d'un homelab : le réseau avec NetBird, l'authentification avec Authentik, et la détection d'intrusion avec Falco. Aucun des trois n'est le plus simple à mettre en place de toute la série jusqu'ici, mais c'est aussi ce qui fait la différence entre un homelab qui tourne "en espérant que ça aille" et une infra sur laquelle tu peux vraiment compter.

Liens utiles

NetBird : https://netbird.io/
Authentik : https://goauthentik.io/
Falco : https://falco.org/

La Boîte à Outils FOSS #7 : NetBird, Authentik, Falco