Bonjour,
J'ai récemment acquis un serveur dédié chez Kimsufi pour quitter Scaleway (et son support IPv6 en carton). Du coup ça implique une migration des services d'un serveur vers un autre. Je voudrais profiter de cette migration pour commencer à utiliser Ansible et surtout un répertoire centralisé des utilisateurs pour avoir un login/mot de passe unique.
J'ai déjà par le passé tenté de déployer OpenLDAP, c'est complexe et je ne suis pas sur de vouloir intégrer un composant que je ne maîtrise pas bien. Je me demande aussi si c'est la solution la meilleure en terme de simplicité et robustesse pour mon cas d'usage.
Au niveau du contexte j'administre un serveur à destination de la famille et quelques amis. Donc j'ai pas besoin de haute-disponibilité, redondance et d'autres joyeuseté comme ça.
Mes contraintes sont les suivantes:
- Gestion de compte centralisé
- Interface web et/ou cli pour l'admin
- Interface web pour les utilisateurs (changement du mot de passe principalement)
- Intégration avec les services suivant: postfix, dovecot, nextcloud, ejabberd, gitlab et éventuellement TinyTinyRSS et Matomo (Piwik)
Dans les nice to have j'ai ça:
- Single Sign On (mais à priori avec un nextcloud bien configuré je dois pouvoir avoir accès aux emails directement)
- Authentification à multiple facteurs possible
Que me conseiller pour gérer ma base d'utilisateurs centralisée ? Je ne tiens pas à utiliser une techno en particulier, je suis ouvert à toute solution. Si vous avez des bonnes ressources pour apprendre je suis preneur.
amdg
PS: Pour ceux qui veulent troller j'ai décidé d'utiliser ArchLinux sur ce nouveau serveur.
# Fédération
Posté par Mathieu CLAUDEL (site web personnel) . Évalué à 1.
yop, si tu souhaites gérer des authentifications utilisateurs sur des services web (type nextcloud) la fédération est là pour ça (SAML V2, OpenId Connect) !
Un petit keycloak (avec ou non un ldap en backend) te permettra de faire les authentifications, délégué à d'autre provider d'identité pour les utilisateur qui le souhaite, utiliser l'application FreeOTP pour faire de l'authentification forte pour les utilisateur qui le souhaite, gérer une politique de mot de passe et de renouvellement,…
Par contre pour le mail, nextcloud fait du rejeu de mot de passe (de mémoire), qu'il n'aura plus. L'authentification sur le mail sera donc plus délicat. Il est certainement possible (si pas déjà fait !) de faire dès choses quand même !
[^] # Re: Fédération
Posté par amdg . Évalué à 1.
Donc si je te suis je dois déployer Keycloak qui va gérer l'authentification des utilisateurs depuis un peu n'importe quel type d'annuaire si j'en crois leur site.
Mais après je fais quoi ? J'arrive pas à comprendre comment l'utilisateur va pouvoir ensuite accéder à son nextcloud… Et ça marche pour IMAP et SMTP ?
Bon et puis c'est du Java et il n'y pas de paquets pour les distributions classiques, cela dit il y un candidat sur AUR mais il pas à jour…
Et c'est quoi cette histoire de fédération ? Je fédère quoi avec quoi ?
[^] # Re: Fédération
Posté par Mathieu CLAUDEL (site web personnel) . Évalué à 3. Dernière modification le 29 mai 2018 à 16:15.
Beaucoup, (mais pas toutes, c'est surtout dans le monde web, même si ça évolue) applications sont capable de déléguer leur authentification à une application dédié (dans le language SAML V2, on l'appel IdP : Identity Provider).
lorsque l'application à besoin d'authentifier un utilisateur, elle le redirige vers son IdP qui se charge de la partie authentification proprement dite (et est capable de détecter si un utilisateur est déjà connecter via sa session et donc de ne pas redemander l'authentification dans se cas. C'est donc transparent pour l'utilisateur). Une fois l'utilisateur authentifié, l'IdP envoie un jeton d'authentification à l'application. L'appliation n'a plus qu'a truster ce dernier pour ouvrir "ses portes" sans avoir connaissance des identifiants mot de passe de l'utilisateur.
en SAML la sécurité se base essentiellement par de la signature de jetons (le chiffrement et aussi possible). Tout passe par le navigateur, il n'y a pas besoin d'ouverture de flux.
en OpenId Connect, cela depend du token utilisé et du flow utilisé :
access_token : doit être valider par le client au prêt de "l'IdP"
un id_token, tout comme SAML est signé et est donc autoporteur
Note : OpenId Connect est utilisé par google, facebook,… pour leur authentification sociale. C'est aussi le protocole utilisé par france connect. SAML lui est beaucoup utilisé en entreprise ou université (exemple renater : https://services.renater.fr/federation/introduction/comment-ca-marche) car la techno est plus ancienne.
Note 2 : d'autres IdP que keycloak existe : shibboleth, simplesamlphp, …
[^] # Re: Fédération
Posté par amdg . Évalué à 1.
Je comprends mieux, merci pour les détails !
En regardant un peu la doc de Keycloak je comprends qu'il peut gérer son propre annuaire ou utiliser une source existante.
Dans mon cas il va falloir que je puisse utiliser le même annuaire d'utilisateur avec Nextcloud, le serveur mail et ejabberd. Tu as déjà fait ça ? Comment tu procéderais ?
Petite question supplémentaire, connais-tu la différence en FreeIPA et Keycloak ?
[^] # Re: Fédération
Posté par Mathieu CLAUDEL (site web personnel) . Évalué à 2.
Pour la base Nextcloud > il provisionne à la volé les comptes. quand le compte est désactivé coté IdP, l'utilisateur ne peut plus s’authentifie
serveur mail et ejabberd : Je ne sais pas. pas encore eu l’occasion de jouer. Mais il est possible en se basant sur le même référentiel (ldap ?) au minimun d'avoir du Common sign on et d'utiliser IdP pour la gestion des utilisateurs et "des authentifications web"
FreeIPA permet de faire de la gestion d'identité (et pas de l'authentification), qui est peut-etre du coup la solution pour ton cas https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-186/Gestion-d-identite-avec-FreeIPA
# Hors sujet − IPv6 / kimsufi
Posté par Pinaraf . Évalué à 3.
Hé ben on n'est pas sortis du sable… Je pense que ce n'est que Scaleway et pas tout online.net qui a un IPv6 en carton… du moins je l'espère. Parce que l'IPv6 chez OVH c'est clairement pas une priorité.
Je t'invite à lire cet article : https://otacon22.com/2016/02/21/two-hosting-providers-ipv6-setups-compared-ovh-online-net/
[^] # Re: Hors sujet − IPv6 / kimsufi
Posté par amdg . Évalué à 2.
Pour te donner un ordre d'idée du statut de la merde chez Scaleway:
Dans les autres trucs random:
parce que tu es radinpour palier à la pénurie d'IPv4. Mais dans ce cas là ton serveur n'a pas d'accès à internet en IPv6. oui.Bref c'est la merdouille. Alors peut-être que chez OVH c'est pas dans les règles de l'art mais je peux:
Merci pour le lien ça à l'air intéressant.
[^] # Re: Hors sujet − IPv6 / kimsufi
Posté par Pinaraf . Évalué à 3.
Je fais de l'IPv6 sans soucis sur un serveur online.net, y compris avec des reverse, et effectivement si t'as pas par exemple des VMs sur ton serveur l'IPv6 d'OVH est suffisante.
Par contre quand t'as des VMs ou que tu veux déléguer un bout de ton IPv6, là c'est la mort.
[^] # Re: Hors sujet − IPv6 / kimsufi
Posté par amdg . Évalué à 2.
Pour l'IPv6 chez Online j'espère qu'il fonctionne bien. Mais il faut savoir que la stack Online est différente de la stack Scaleway ;)
# Yunohost
Posté par Exosta . Évalué à 1.
Yunohost semble répondre à ton cahier des charges, tu y as songé ?
[^] # Re: Yunohost
Posté par amdg . Évalué à 1.
J'y ai pensé, mais je préfère comprendre et apprendre en administrant ce serveur. Du coup Yunohost fonctionne en effet, mais j'apprendrai moins et c'est du Debian (j'en ai marre de Debian).
# openldap et ses greffons qui vont bien
Posté par NeoX . Évalué à 3.
openldap pour le backend de gestion des comptes (ou samba4 en mode active directory si tu as aussi des posts windows)
puis les greffons LDAP de tous les outils que tu as cités, voire changer d'outils s'il ne dispose pas d'outils,
à une epoque je faisait l'authentification SSH via PAM et son module LDAP,
du coup des logiciels qui ne sont pas LDAP nativement (ou via un module/plugin) peuvent peut-etre passé par PAM
pour l'interface web pour changer le mot de passe :
[^] # Re: openldap et ses greffons qui vont bien
Posté par amdg . Évalué à 2.
Je sais que c'est possible comme ça, mais LDAP c'est assez complexe…
Je n'ai jamais réussi à trouver un guide pour construire mon annuaire par exemple. Tout le monde que c'est important de bien le construire, mais personne n'explique ce que ça veut dire !
As-tu des conseils à me donner ?
[^] # Re: openldap et ses greffons qui vont bien
Posté par NeoX . Évalué à 2.
ben si tu veux juste gerer des groupes et des utilisateurs,
tu fais l'installation par defaut,
tu prends ton outil de gestion de ldap (phpldapadmin ou autre)
et tu crees tes groupes et tes utilisateurs
evidemment si tu veux faire des trucs qui ne sont pas definit dans les schemas habituels, par exemple utiliser le ldap pour stocker des données pour ton appli developpée en interne,
alors oui, il te faudra sortir l'editeur de configuration pour creer ton schema d'entreprise, et definir ton arbre.
mais je crois pouvoir dire qu'on en n'est pas là ?
[^] # Re: openldap et ses greffons qui vont bien
Posté par amdg . Évalué à 1.
Je comprends, je ne sais pas trop si je vais retenter une install. Keycloak proposé plus haut me plait bien, il intègre directement la SSO et le 2FA.
Le seul problème c'est pour postfix et ejabberd.
Tu as des expériences avec 2FA et SSO avec LDAP ?
[^] # Re: openldap et ses greffons qui vont bien
Posté par Pinaraf . Évalué à 3.
Tu pourrais commencer à regarder du côté de FreeIPA (sur Fedora c'est facile à installer). Ça intègre LDAP + Kerberos + whatzillions de trucs pour couvrir SSO, 2FA…
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.