Sortie de LemonLDAP::NG 1.4

Posté par  (site web personnel, Mastodon) . Édité par Xavier Teyssier et palm123. Modéré par bubar🦥. Licence CC By‑SA.
Étiquettes :
28
26
juil.
2014
Sécurité

LemonLDAP::NG est un logiciel libre de SSO, de gestion des accès et de fédération des identités. Il est publié sous licence GPL. Il est développé par la Gendarmerie Nationale et la société Linagora.

Logo LemonLDAP::NG

Il implémente de nombreux protocoles standards, tels que Central Authentication Service, OpenID et SAML.

La version 1.4 est sortie fin juin. Cette dépêche présente les principales nouveautés de cette version.

Thème graphique

Un nouveau thème graphique basé sur Bootstrap est disponible. Ce thème est adaptatif (responsive), il permet donc d'utiliser le SSO depuis tout type de périphérique (téléphone, tablette, poste de travail).

Capture d'écran du nouveau thème graphique

De nombreux thèmes sont disponibles sur Internet permettant de changer l’apparence d'un site utilisant Bootstrap, facilitant ainsi la personnalisation de l'interface Web de LemonLDAP::NG.

Création de compte

LemonLDAP::NG propose plusieurs libre-services (self service), en particulier la possibilité de réinitialiser son mot de passe lorsqu'il a été perdu. La nouvelle version propose désormais dans le même esprit de pouvoir créer un compte si l'on n'en possède pas.

La démarche est simple, calquée sur la plupart des services similaires proposés par des sites en ligne :
1. L'utilisateur remplit un formulaire avec nom, prénom et adresse mail
2. Il reçoit un message avec un lien sur lequel cliquer
3. Après avoir cliqué, il reçoit un message lui confirmant la création de son compte, avec ses informations de connexion

Formulaire de création de compte

Bien entendu cette fonctionnalité a peu d'intérêt en entreprise, où les utilisateurs sont déclarés dans un annuaire central et ne peuvent choisir de s'inscrire ou non au service. Toutefois cela offre désormais la possibilité de proposer plusieurs services en ligne protégés par LemonLDAP::NG, permettant à un nouvel utilisateur de s'inscrire s'il ne possède pas de compte.

Utilisation de Mouse

Mouse est un module Perl permettant une manipulation haut niveau des objets. Ce module est utilisé dans la nouvelle version de LemonLDAP::NG, ce qui a entraîné beaucoup de réécriture de code, avec un objectif de meilleure maintenabilité.

Ces changements sont visibles essentiellement des développeurs, mais ils ont tout de même permis quelques améliorations :
- gestion unifiée du cache des sessions, pour tous les types de session (SSO, CAS, SAML, etc.) ;
- centralisation des valeurs par défaut des attributs de configuration ;
- simplification des appels au Handler dans la configuration Apache ;
- support des captcha en cluster ;

Génération des identifiants

C'est le principe du SSO : l'accès aux différentes applications est possible à l'aide d'un jeton, en l'occurrence pour LemonLDAP::NG une clé de session stockée dans un cookie.

Par défaut, les identifiants de session sont générés en MD5 avec une taille de 32 caractères. Cela peut poser des problèmes de sécurité, en particulier si un attaquant tente de découvrir un identifiant de session par force brute. Ce n'est pas spécifique au SSO, ce type d'attaque est possible sur toute application utilisant un cookie de session. Toutefois dans le cas du SSO, la découverte de la session permet l'accès à toutes les applications protégées.

La nouvelle version de LemonLDAP::NG permet de choisir son propre module de génération d'identifiant de session, et propose un module basé sur SHA, créant des clés sur 64 caractères.

SAML

Le mode SSO initié par le fournisseur d'identité (SSO IDP initiated) est désormais disponible. Il permet de générer des URLs sur le portail LemonLDAP::NG (agissant comme IDP SAML) qui transmettent directement une réponse SAML à un fournisseur de service (SP).

Cela permet une authentification en deux étapes (authentification sur l'IDP puis accès au SP) au lieu des trois étapes du processus standard (accès au SP, authentification sur l'IDP puis retour sur le SP).

La nouvelle version de LemonLDAP::NG permet également une configuration plus fine des dates utilisées dans les messages SAML (durée de validité des assertions et des sessions).

Nginx

Depuis ses origines (il y a plus de 10 ans), LemonLDAP::NG a été conçu pour fonctionner avec Apache. Le support de Nginx étant une demande de plus en plus forte, l'équipe de développement a planché sur le sujet.

Une première implémentation du Handler en LUA a été publiée. Cette implémentation ne permet pas de couvrir 100% des fonctionnalités offertes par le Handler standard (gestion des expressions régulières, de l'interception des déconnexion, etc.), c'est toutefois une bonne base de départ pour protéger l'accès à une application derrière Nginx.

Des travaux sont encore en cours sur un Handler Perl pour Nginx, pour l'instant freinés par les manques de l'API Perl de Nginx. Les discussions entre les communautés sont en cours (et toute aide est la bienvenue sur le sujet).

Aller plus loin

  • # Mais pourquoi une doc uniquement en anglais ?

    Posté par  (site web personnel) . Évalué à 2.

    Si j'ai bien compris c'est un projet en grande partie français. Que la doc soit en anglais, je comprends, c'est sûr que c'est plus pratique pour permettre le rayonnement de lemonLDAP::NG à travers le monde. Mais une version française, ça serait pas désagréable pour comprendre certaines subtilités quand on a un niveau d'anglais au ras des pâquerettes.

    Je fais un peu de chauvinisme, certes, mais zut… "développé par la gendarmerie nationale" et vu le logo semblerait que ce soit celle de France… Ça va donc être principalement utilisé par un tas de français, pays connu pour son grand talent dans les langues étrangères, et la doc n'est disponible qu'en anglais…

    Bon, malgré cette critique de déprimée de la langue française, bravo pour le boulot ;)
    Je me dit que je vais peut-être tenter de le réinstaller, cette nouvelle version a l'air encore plus sympa que les précédentes. Et les traducteurs automatiques m'aideront à avancer (ou pas).

  • # racheté par Facebook ???

    Posté par  . Évalué à -1.

    Si Facebook s'en mêle, alors je suis dubitatif !
    C'était à vendre ?

  • # Autres solutions ?

    Posté par  (site web personnel) . Évalué à 3.

    Si je me mets en mode décideur pressé, quelles sont les autres solutions open source existantes comparables à LemonLDAP::NG, quelques avantages/inconvénients de chacune ?

    Merci :).

    • [^] # Re: Autres solutions ?

      Posté par  . Évalué à 2.

      Je connais OpenAM, Central Authentication Service, FreeIPA…

      Par contre je ne les utilise pas alors je me garderai bien de les comparer :)

      • [^] # Re: Autres solutions ?

        Posté par  . Évalué à 3.

        En tous cas, si je compare avec FreeIPA, ce n'est pas le même domaine d'application. Chez LemonLDAP, malgré ce que son nom suggère, tu n'as pas d'annuaire de fourni. Par contre, tu as un produit assez complet pour se brancher à un annuaire (ou plusieurs, ou d'autres sources de données utilisateur) et gérer l'authentification à tes services web en évitant de demander l'authentification à chaque service. C'est tout, et c'est déjà très utile. Son gros point fort, c'est pour moi sa capacité à être assez souple, et à s'adapter à toute sorte de situation (tant niveau sources d'authentification que services à protéger).

      • [^] # Re: Autres solutions ?

        Posté par  (site web personnel) . Évalué à 2.

        Authentic 2.0 qui repose concernant SAML sur la même brique que LemonLDAP, développée par ma boite.

  • # Doc handler

    Posté par  . Évalué à 1.

    Bonjour,

    Est-il possible de créer facilement son propre handler ??
    Votre projet m'intéresse beaucoup. Nous utilisons de nombreuses applications web (pas de soucis sur ce point)
    Mais nous utilisons également d'autres services pas forcément web et j'aurais aimez utilisé LemonLDAP::NG pour du AAA qui serait donc toujours gérer au même endroit quelque soit l'application/service.
    Par exemple, j'ai un service TACACS+ maison. Il serait sympa que je puis codé mon propre handler pour discuter avec LemonLDAP::NG.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.