Zero Trust v2
Architecture réseau privée déployée as-code. Isolation des services, chiffrement mesh, durcissement automatisé, monitoring de sécurité.
// Le problème
Comme beaucoup de gens qui hébergent des projets perso, j'ai commencé sale : un VPS, Nginx, tout exposé, pas de Docker, pas de sécu. En BTS, j'ai migré sous Docker, mais c'était encore du bricolage, des containers sans isolation, sans durcissement.
Le vrai problème est arrivé quand j'ai récupéré un Raspberry Pi 5. Je voulais l'utiliser comme serveur principal pour mes services, mais sans ouvrir de port sur mon réseau local. Il me fallait un moyen de relier mes machines entre elles sans exposition publique, et à ce moment-là, je ne connaissais pas les VPN mesh.
// L'approche
L'infra a évolué par étapes. D'abord Ansible pour automatiser les déploiements Docker Compose sur le VPS. Puis, une fois installé en France, la mise en place de NetBird en self-hosted, un VPN mesh basé sur WireGuard. C'est ce qui a débloqué l'architecture : le Pi est devenu le cerveau (services privés), le VPS la DMZ (reverse proxy public via Traefik). Aucun port ouvert sur le réseau local, tout transite par le tunnel chiffré.
La logique Zero Trust est appliquée partout : les services ne se voient pas entre eux sauf autorisation explicite, SSH est restreint au subnet VPN, CrowdSec détecte et bloque au niveau du reverse proxy.
// Choix techniques
NetBird plutôt qu'un WireGuard manuel : la gestion des peers et des ACLs est centralisée, c'est plus propre que de maintenir des configs WireGuard à la main sur chaque machine.
Ansible en rôles modulaires : chaque brique (SSH hardening, Docker, Traefik, CrowdSec, NetBird) est un rôle indépendant. Je peux reconstruire une machine from scratch ou ajouter un service sans toucher au reste.
Traefik plutôt que Nginx : le routage dynamique via labels Docker évite de maintenir des fichiers de config à la main. Les certificats TLS se gèrent tout seuls.
// Limites & recul
L'infra tourne sur deux machines. C'est conçu pour être scalable (les rôles Ansible sont modulaires, les ACLs NetBird sont prêtes), mais en pratique c'est testé sur un VPS et un Pi. Le multi-node reste à valider à l'échelle.
Pas de gestion de secrets propre. Les clés et tokens sont dans Ansible Vault pour l'instant. Un vrai gestionnaire de secrets type HashiCorp Vault serait plus solide, mais c'est overkill pour deux machines.
Le monitoring de l'infrastructure est géré par Bientôt, un dashboard custom que j'ai développé en parallèle.
// Ce que j'en retiens
C'est le projet qui m'a le plus appris sur la durée. Pas parce qu'il est complexe, mais parce qu'il a évolué avec moi. Chaque étape (Docker basique → Docker Compose → Ansible → VPN mesh → Zero Trust) reflète ce que je comprenais à ce moment-là. Et chaque itération a cassé des trucs qui m'ont forcé à comprendre mieux.