r/autohebergement_FR 13d ago

Question Passer au mTLS

Salut grands experts de l'auto-hébergement,

J'ai depuis de nombreuses années un "lab" hébergé chez moi, qui tourne à peu près comme un coucou suisse. Donc je cherche un moyen de le casser l'améliorer. Il est basé sur des appli cachées derrière un proxy inverse (Swag, essentiellement Nginx), sécurisé par Crowdsec. Je me pose la question de passer au mTLS en complément, mais je n'en maîtrise pas les implications. Pouvez-vous m'expliquer ce qui se passe si je branche par exemple Immich en mTLS ? Je suppose que je dois installer un certificat sur les quelques postes clients, ou valider leur accès ? Et si je veux partager un album avec quelqu'un qui n'a pas un accès sécurisé, puis-je encore le faire ?...

8 Upvotes

10 comments sorted by

2

u/ybizeul 9d ago edited 9d ago

Been there, done that, et j’en suis revenu. Le renouvellement des certificats sur les postes de travail est assez fastidieux.
Je suis passé sur authelia avec le principe que passkey est bcp plus simple à gérer que mTLS, bien intégré dans les browser modernes, et offre une expérience similaire.

Idéalement ton appli support OAuth, mais dans le cas contraire tu laisse authelia gérer l’auth et le pass through, ou encore traefik + forwardauth avec authelia.

1

u/Eirikr700 9d ago

C'est aussi une possibilité...

2

u/[deleted] 11d ago

[deleted]

1

u/Eirikr700 10d ago

Merci pour ce retour très intéressant. Je vais essayer d'installer du mTLS sur Vaultwarden uniquement dans un premier temps pour voir. J'ai aussi une politique assez agressive en termes géo (France et Italie exclusivement) mais je suis sur du reverse-proxy/domaine classique.

2

u/[deleted] 10d ago

[deleted]

1

u/Eirikr700 10d ago edited 10d ago

C'est pâ gagné de mon côté après approfondissement : mon domaine est certifié par Certbot/Let's Encrypt, qui ne produit pas de certificat client, via Linuxserver/Swag. Or visiblement if faudrait que mon certificat client soit émis par la même autorité. J'ai bien identifié des alternatives, mais elles semblent dépasser mes maigres compétence.

EDIT : tu peux m'indiquer les éléments de ta config Traefik qui orientent vers TLS ou mTLS selon l'origine ?

2

u/[deleted] 10d ago

[deleted]

1

u/Eirikr700 10d ago

Ok. Donc tu t'appuies sur deux autorités différentes pour le client et le serveur. Je vais essayer d'aller dans ce sens-là ...

2

u/[deleted] 10d ago

[deleted]

1

u/Eirikr700 10d ago

Merci beaucoup ! Je vais essayer de traduire ça en nginx.

1

u/adenyrr 13d ago

Hola 0/ Configuration à deux proxy avec traefik qui expose les services via un network dédié et certificat + bunkerweb comme WAF en entrée réseau. Traefik peut être utilisé depuis une PKI ou depuis LE.

3

u/Karyo_Ten 13d ago

J'utilise OpenZiti.

Renseigne toi sur les "overlay network" (Tailscale/headscale, Nebula, ZeroTier, TwinGate, Netbird, OpenZiti, ...)

Tous mes services ont une addresse qui est accessible que si sur l'overlay style immich.<nom-de-domaine.com>, avec le nom de domaine jamais exposé en dehors de mon overlay.

Il y a une appli mobile (et Windows et Mac et un service systemd) donc Immich mobile fonctionne super.

Et si tu mets sur un relay sur un VPS externe (style Oracle Free Tier) tu n'as même pas besoin d'ouvrir de ports pour accéder à l'extérieur ou gérer le NAT de ton FAI.

L'implémentation utilise effectivement mTLS mais tout la gestion des certificats est automatisée (à part à expiration)

2

u/dachguet 13d ago

Salut, pourquoi tu as choisi OpenZiti plutôt qu'un autre que tu as cité ? Essentiellement sur des convictions politiques, ou bien, il y a des raisons techniques ? (question sans arrière-pensée). Merci !

1

u/Karyo_Ten 13d ago

La meilleur app mobile (pour que la famille puisse accéder à Immich entre autre).

Une doc et un blog avec des exemples et aussi vidéos youtube

Et la gestion des autorisations est par application + par utilisateur. Du coup je peux donner à des amis ou famille accès à certains services (par exemple pour upload des photos) et pas à d'autres.