Reverse proxy, TLS et accès distant
Comment exposer l'interface de la Box aux postes du cabinet et aux collaborateurs distants : reverse proxy (Caddy, Traefik, Nginx Proxy Manager), TLS interne (CA privée ou Let's Encrypt), VPN (WireGuard, Tailscale, Headscale, NetBird), et pourquoi éviter Cloudflare Tunnel.
L'essentiel
- Un reverse proxy unique termine le TLS et sert l'interface, l'API RAG et l'IdP éventuel sous des noms internes ; les conteneurs ne sont jamais exposés directement.
- Caddy (Apache 2.0) est le choix de simplicité : HTTPS automatique, configuration courte. Traefik (MIT) si l'on veut la découverte par labels Docker ; Nginx Proxy Manager (MIT) si l'on veut une interface graphique. À 5 à 10 utilisateurs, le débit n'est pas un critère.
- TLS interne : une CA privée installée sur les postes (nom
box.cabinet.local) ou Let's Encrypt via défi DNS sur un vrai domaine sans exposer de port. Les deux évitent l'avertissement de certificat qui pousse les utilisateurs à cliquer « continuer ». - Accès distant : VPN WireGuard, seul ou via une surcouche (Tailscale, Headscale, NetBird). Jamais d'interface exposée sur Internet, même derrière le SSO.
- Cloudflare Tunnel est à éviter pour un cabinet d'avocats : le TLS est terminé chez Cloudflare, qui voit donc le contenu des échanges avec la Box, ce qui heurte le secret professionnel.
Reverse proxy
| Solution | Licence | Points forts | Points faibles | Source |
|---|---|---|---|---|
| Caddy | Apache 2.0 | HTTPS automatique (ACME, CA interne intégrée), configuration en quelques lignes | moins de plugins que Nginx | 1 |
| Traefik | MIT | découverte des services par labels Docker, dashboard | configuration plus verbeuse ; débit inférieur dans les benchmarks communautaires (sans importance ici) | 1 |
| Nginx Proxy Manager | MIT | interface web, le plus rapide en requêtes par seconde dans les comparatifs communautaires | interface d'admin à protéger ; base de données supplémentaire | 1 |
Les comparatifs cités sont communautaires et non reproduits Communauté. Pour la Box, le proxy fait quatre choses : terminer TLS, router chat., api., auth. vers les bons conteneurs, ajouter les en-têtes de sécurité (HSTS, CSP raisonnable, pas de Server bavard), et journaliser les accès (adresse, horodatage, chemin, sans corps de requête). Il ne fait pas d'authentification à la place de l'IdP, sauf si l'on choisit le mode « trusted header » d'Open WebUI, auquel cas il devient un composant de sécurité critique : l'en-tête doit être écrasé pour toute requête entrante 6.
TLS interne
Deux options, à choisir selon que le cabinet possède un nom de domaine et sait gérer ses postes :
| Option | Principe | Avantages | Inconvénients |
|---|---|---|---|
| CA privée | la Box (Caddy internal ou une CA dédiée, par exemple step-ca : non évaluée ici) émet les certificats ; le certificat racine est installé sur chaque poste et navigateur | aucun port entrant, aucun DNS public, noms internes | déploiement du certificat racine sur chaque poste (GPO, MDM, ou à la main) ; renouvellement à surveiller |
| Let's Encrypt par défi DNS | un vrai sous-domaine (box.cabinet.fr) pointe sur une adresse privée ; le certificat est obtenu par défi DNS-01, sans exposer la Box | reconnu par tous les navigateurs sans installation | exige un domaine et un accès API à la zone DNS ; les noms d'hôtes apparaissent dans les journaux publics de certificats (Certificate Transparency) |
Dans les deux cas, TLS 1.2 minimum, 1.3 préféré, certificats renouvelés automatiquement, et surveillance de l'expiration (monitoring). Le trafic interne entre conteneurs peut rester en clair sur le réseau Docker de la Box ; il doit être chiffré dès qu'il traverse un câble (base vectorielle sur un autre hôte, par exemple).
Accès distant : VPN
Un avocat en déplacement ou en télétravail accède à la Box par un tunnel, puis s'authentifie au SSO comme au bureau. Le VPN n'est pas un substitut au SSO ; c'est la couche qui rend la Box invisible depuis Internet.
| Solution | Licence | Modèle | Points d'attention | Source |
|---|---|---|---|---|
| WireGuard | noyau Linux (GPLv2, intégré depuis 5.6, mars 2020) ; outils BSD/Unlicense | pairs configurés à la main, clés statiques, protocole Noise IK | simple et robuste ; gestion des clés et des pairs manuelle pour 5 à 10 personnes, acceptable | 2 |
| Tailscale | clients BSD-3, serveur de coordination propriétaire ; plan Personal gratuit affiché « jusqu'à 6 utilisateurs », 3 groupes ACL ; Standard 8 $/utilisateur/mois ; Premium 18 $ | maillage WireGuard, SSO, ACL, coordination par un service SaaS (le trafic reste chiffré de bout en bout) | dépendance à un tiers pour la coordination ; plan gratuit non destiné à un usage professionnel ; chiffres volatils | 3 |
| Headscale | BSD-3 | réimplémentation open source du serveur de coordination Tailscale, compatible clients officiels, mono-tailnet | à héberger et maintenir soi-même ; suit les évolutions des clients Tailscale | 4 |
| NetBird | clients BSD-3 ; management, signal, relay et dashboard sous AGPLv3 | maillage WireGuard entièrement auto-hébergeable, intégration IdP OIDC (Authentik, Keycloak, Entra) | AGPL sur les composants serveur ; maturité à tester | 4 |
Hypothèse de départ : WireGuard natif sur la Box pour le POC (une dizaine de pairs, configuration versionnée), puis NetBird ou Headscale si le cabinet veut l'ergonomie d'un maillage avec SSO sans dépendre d'un SaaS. Tailscale reste pertinent si le cabinet l'accepte contractuellement (la coordination, pas le contenu, passe par Tailscale).
Pourquoi éviter Cloudflare Tunnel
cloudflared établit une connexion sortante vers Cloudflare et publie la Box sous un nom Cloudflare sans ouvrir de port entrant, ce qui est séduisant. Mais la documentation Cloudflare One décrit le déchiffrement TLS et une analyse tierce confirme que le TLS est terminé chez Cloudflare, le trafic étant en clair à l'edge 5. Pour un cabinet, cela signifie qu'un tiers américain peut techniquement lire les questions posées à la Box et les extraits de dossiers renvoyés : incompatible avec le secret professionnel et avec la promesse « rien ne sort du cabinet », sauf à ajouter un chiffrement applicatif de bout en bout (estimation), ce qui annule la simplicité recherchée. Les mêmes réserves valent pour tout proxy d'accès hébergé par un tiers qui termine le TLS.
Questions ouvertes
Sources
- 1Comparatifs Nginx Proxy Manager / Traefik / Caddy (2026)Article techniqueFiabilité faibleDEV / Dokploy · publié 2026 · consulté le 16 sept. 2026 · fiche source
- 2WireGuard — site officielDocumentation officielleFiabilité hauteWireGuard · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
- 3Tailscale — page PricingConstructeur / éditeurFiabilité moyenneTailscale · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
- 4NetBird vs Tailscale vs Headscale (2026)Article techniqueFiabilité moyenneInfralovers / Big Iron · publié 27/05/2026 · consulté le 16 sept. 2026 · fiche source
- 5Cloudflare Tunnel — connexion et déchiffrement TLSDocumentation officielleFiabilité hauteCloudflare (et analyse Pluggie) · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
- 6Open WebUI — SSO (OAuth, OIDC, LDAP, trusted header)Documentation officielleFiabilité hauteOpen WebUI · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source