URL: https://linuxfr.org/news/sortie-de-lemonldap-ng-2-0 Title: Sortie de LemonLDAP::NG 2.0 Authors: KPTN yadd, ZeroHeure, bubarđŸŠ„, Xavier Teyssier, paucur, Davy Defaud et M5oul Date: 2018ćčŽ12月03æ—„T08:55:35+01:00 License: CC By-SA Tags: sso, lemonldap et sortie_version Score: 35 LemonLDAP::NG est un logiciel libre d’authentification unique pour applications Web (WebSSO), de contrĂŽle d’accĂšs et de fĂ©dĂ©ration d’identitĂ©s, Ă©crit en Perl et publiĂ© sous licence GPL. Cette nouvelle version majeure apporte de grands changements au logiciel comme le prise en charge de Node.js, des seconds facteurs d’authentification (OTP, U2F, Yubikey...), un mĂ©canisme de greffons, la protection de micro‐services et bien d’autres qui seront dĂ©veloppĂ©s dans la suite de cet article. ![logo LemonLDAP::NG](https://lemonldap-ng.org/_media/wiki/logo.png) ---- [DĂ©pĂȘche sur la sortie de la version 1.9](https://linuxfr.org/news/sortie-de-lemonldap-ng-1-9) [Annonce officielle sur le site OW2](https://projects.ow2.org/view/lemonldap-ng/lemonldap-ng-2-0-0-is-out/) [TĂ©lĂ©chargement](https://lemonldap-ng.org/download) [Documentation](https://lemonldap-ng.org/documentation/latest/start) [SSOaaS : notre concept du SSO en tant que service](https://lemonldap-ng.org/documentation/2.0/ssoaas) ---- Le projet LemonLDAP::NG a Ă©tĂ© publiĂ© pour la premiĂšre fois en 2005 par la Gendarmerie nationale. Il est aujourd’hui trĂšs largement dĂ©ployĂ© en France, notamment dans les administrations et collectivitĂ©s territoriales. Ses grands principes sont : - le SSO doit ĂȘtre faiblement intrusif dans les applications : pas d’obligation d’utiliser une bibliothĂšque ou un langage spĂ©cifique, prise en charge d’un maximum de protocoles, etc. ; - le SSO ne doit pas pĂ©naliser les performances des applications (architecture extensible, faible surcharge...) ; - pont protocolaire : LemonLDAP::NG permet de connecter une application utilisant le protocole standard X sur une infrastructure basĂ©e sur le protocole Y ; - et, bien sĂ»r, la sĂ©curitĂ© et le confort des utilisateurs. ![interface utilisateur LemonLDAP::NG](https://lemonldap-ng.org/_media/screenshots/references/screenshot_radiofrance2.png) # Principales nouveautĂ©s de la version 2.0 # Voici les principales nouveautĂ©s de cette nouvelle version majeure : - meilleur fonctionnement du pont protocolaire : de nombreux tests unitaires valident le fonctionnement du SSO lors du passage d’un protocole Ă  un autre ; par exemple, une application qui s’authentifie en SAML sur le portail WebSSO, qui lui‐mĂȘme redirige en OpenID Connect sur un fournisseur d’identitĂ© externe (France Connect, Google, etc.) ; - authentification multi‐facteur ; - SSOaaS (_SSO as a Service_) ; - un moteur de greffons permettant de crĂ©er des composants d’authentification ou toutes sortes d’applications s’intĂ©grant au portail sans avoir Ă  modifier le code source et ainsi mieux gĂ©rer les montĂ©es de version. Vous pouvez consulter la [liste complĂšte des nouveautĂ©s](https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/milestones/51). ## Handler Node.js ## Node.js est une plate‐forme trĂšs populaire pour le dĂ©veloppement d’applications Web. La version 2.0 inclut un [_handler_ node.js](https://lemonldap-ng.org/documentation/2.0/nodehandler) en version bĂȘta, qui permet de protĂ©ger une application Node.js par LemonLDAP, directement dans le code de l’application. Cela permet Ă©galement de rendre facilement une application compatible avec des protocoles de SSO comme SAML ou OpenID Connect. Ce _handler_ ne gĂšre pas encore toutes les fonctionnalitĂ©s de LL::NG. Le _handler_ Node.js fournit Ă©galement un moteur alternatif pour le SSO en tant que service. ## Seconds facteurs d’authentification ## LemonLDAP::NG gĂšre dĂ©sormais directement les seconds facteurs d’authentification (2FA), en particulier : * les pĂ©riphĂ©riques U2F ; * TOTP (FreeOTP, Authy, GoogleAuthenticator...) ; * les clefs Yubikey ; * les appels [REST](https://lemonldap-ng.org/documentation/2.0/rest2f) Ă  un service Web externe ; * n’importe quelle autre commande via le module [External 2F](https://lemonldap-ng.org/documentation/2.0/external2f). ## Greffons ## LemonLDAP::NG est dĂ©sormais capable de gĂ©rer des dĂ©veloppements spĂ©cifiques sans pour autant risquer de les casser en cas de mise Ă  jour, via un [systĂšme de greffons](https://lemonldap-ng.org/documentation/2.0/start#plugins). Quelques exemples dĂ©jĂ  disponibles : * [_Auto Signin_](https://lemonldap-ng.org/documentation/2.0/autosignin) : permet de s’authentifier automatiquement en fonction d’une rĂšgle, par exemple une adresse IP ; * [_Brute Force Protection_](https://lemonldap-ng.org/documentation/2.0/bruteforceprotection) : permet de gĂ©rer la protection contre les attaques en force brute directement dans LemonLDAP::NG ; * [_Check State_](https://lemonldap-ng.org/documentation/2.0/checkstate) : permet de gĂ©nĂ©rer une page de statut pour une meilleure intĂ©gration avec des outils de supervision ; * etc. ## SSO as a Service (SSOaaS) ## Le contrĂŽle d’accĂšs SSO fournit trois services : * authentification globale ; * gestion des autorisations : authentifier n’est pas suffisant, les droits d’accĂšs doivent ĂȘtre examinĂ©s ; * traçabilitĂ© : * traces d’accĂšs issues du SSO, * traces des actions de l’utilisateur. LemonLDAP::NG fournit tous ces services (Ă  l’exception des traces des actions des utilisateurs qui doivent ĂȘtre gĂ©nĂ©rĂ©es par l’application, mais LemonLDAP::NG fournit les identifiants Ă  enregistrer via les en‐tĂȘtes HTTP). Les acronymes « \*aaS » signifient que l’application peut piloter la couche sous‐jacente (IaaS, pour l’infrastructure ; PaaS, pour la plate‐forme...). Pour nous, le SSOaaS doit fournir la possibilitĂ© pour une application de gĂ©rer ses droits et choisir les attributs Ă  transmettre : un fichier [JSON](https://fr.wikipedia.org/wiki/JavaScript_Object_Notation "JavaScript Object Notation") est prĂ©sent Ă  la racine de l’application et permet de dĂ©finir ces paramĂštres, sans avoir Ă  manipuler la configuration centrale du WebSSO. L’authentification SSO ne peut ĂȘtre rĂ©ellement « \*aaS » : l’application l’utilise sans la gĂ©rer, bien sĂ»r. LemonLDAP::NG fournit donc les fonctionnalitĂ©s permettant de mettre en Ɠuvre le SSOaaS dans ces conditions. Encore un peu rustique, cette prise en charge sera amĂ©liorĂ©e dans les prochaines mises Ă  jour de la branche 2.0. ## Serveur Ă  Serveur ## Les applications modernes utilisent des micro‐services Web. LemonLDAP::NG fournit un dispositif permettant de donner Ă  une application un ticket qu’elle peut utiliser sur d’autres micro‐services protĂ©gĂ©s par le WebSSO pour : - propager l’identitĂ© de l’utilisateur final ; - permettre aux micro‐services de vĂ©rifier les droits de l’utilisateur final ; - limiter l’accĂšs de cette application aux seuls micro‐services autorisĂ©s dans la console d’administration LemonLDAP::NG ; - limiter l’usage dans le temps de ce ticket (30 secondes). L’alternative consistant Ă  donner Ă  l’application le ticket SSO de l’utilisateur est nettement moins sĂ©curisĂ©e : l’application obtiendrait ainsi tous les droits de l’utilisateur pendant tout le temps de sa session. La solution apportĂ©e par LemonLDAP::NG est une alternative Ă  OAuth2, moins intrusive : le micro‐service n’a pas besoin de valider le jeton d’accĂšs, ce jeton est consommĂ© directement par un _handler_ qui retransmet ensuite l’identitĂ© de l’utilisateur via des en‐tĂȘtes HTTP. ## FĂ©dĂ©ration Renater ## LemonLDAP::NG est dĂ©sormais compatible nativement avec le systĂšme de [fĂ©dĂ©ration de Renater](https://lemonldap-ng.org/documentation/2.0/renater), permettant de rendre son dĂ©ploiement plus facile dans l’éducation, les universitĂ©s, les laboratoires et le secteur public utilisant la fĂ©dĂ©ration de Renater. ## Manager ## ### DiffĂ©rentiel des configurations ### Cette nouvelle fonctionnalitĂ© permet d’afficher directement dans le _Manager_ la diffĂ©rence entre deux versions de la configuration et donc d’identifier plus facilement les paramĂštres qui ont Ă©tĂ© modifiĂ©s. ### Gestion des ACL pour les protocoles CAS, SAML et OpenID Connect ### Il est dĂ©sormais possible de dĂ©finir des listes de contrĂŽle d’accĂšs (ACL) pour des applications reliĂ©es par CAS, SAML et OpenID Connect. Ces rĂšgles peuvent ĂȘtre Ă©galement utilisĂ©es pour afficher ou non l’icĂŽne des applications dans le menu. ### Autres - explorateur de sessions : possibilitĂ© de trier les sessions par date de crĂ©ation et de modification ; - journaux : possibilitĂ© de gĂ©rer les journaux sĂ©parĂ©ment (traces techniques et traces des utilisateurs) : - journaux du serveur (Apache uniquement) ; - journal systĂšme (syslog) ; - Log4Perl (compatible Log4J) ; - [Sentry](https://sentry.io/welcome/) (Ă  utiliser de prĂ©fĂ©rence avec Dispatch) ; - Dispatch : permet de tracer sĂ©parĂ©ment en fonction du niveau d’alerte. ## Portail ## ### RafraĂźchissement de la session Il est Ă  prĂ©sent possible pour l’utilisateur de rafraĂźchir sa session sans avoir besoin de se dĂ©connecter, utile dans le cas de l’ajout Ă  un nouveau groupe apportant de nouvelles applications sur le portail. ### Autres * sĂ©lection de la langue avant la connexion ; * nouvelles langues : vietnamien, arabe et italien, en plus de l’anglais et du français ; * gestion du changement de logo du portail sans modifier le thĂšme ; * passage du portail sur Bootstrap 4. # Contributeurs Les contributeurs suivants ont participĂ© Ă  cette nouvelle version : * dĂ©veloppeurs principaux : Xavier Guimard, Christophe Maudoux et ClĂ©ment Oudot ; * organisations (sponsors et bĂȘta‐testeurs) : la Gendarmerie nationale, Worteks, Orange, Huma Num, Campus Condorcet, Agirc‐Arrco et Urgences SantĂ© QuĂ©bec ; * communautĂ© (ouvertures de tickets, tests et correctifs) : ValĂ©rie Bauche, David Coutadeur, FrĂ©dĂ©ric Massot, Mathieu Lecompte‐Melançon, Nicolas Chauvet, Mathieu Parent, Rick Jongbloed, JĂ©rĂ©my Kespite, Philippe Baye, Pasi Karkkainen, Julian Layen, Quentin JabƓuf, StĂ©phane Liabat, Emmanuel Lesouef, François‐Xavier Deltombe, Iheb Khemissi, Jean‐Charles Rogez, Nicolas Dutertre, Maxime de Roucy, _pit pit_, Carl R., Dave Conroy, Paul Curie, Dejan Sanader, Jean‐François Vincent, Anthony Roussel, Xavier Bachelot, _Lulandco_, CĂ©dric Liard, FrĂ©dĂ©ric PĂ©gĂ©, Jonathan Swaelens et Michael Goldfinger.

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /