Les nouveautés de la version 0.9.4 ont été présentées lors des 10èmes RMLL à Nantes, pendant la journée consacrée à la gestion des identités. Pour ceux qui n'ont pas eu le privilège d'assister à cette conférence, cet article rappelle les principes de fonctionnement du produit et liste les nouvelles fonctionnalités. Les plus intéressés trouveront également dans le Linux Mag de cet été une bonne introduction au logiciel. LemonLDAP::NG fournit des mécanismes d'authentification unique à l'intérieur d'Apache en utilisant les capacités de mod_perl à traiter les requêtes HTTP depuis leur arrivée, leur traitement jusqu'au renvoi de la réponse au client. La gestion de la session repose sur un cookie échangé entre les clients et les agents LemonLDAP::NG (Handlers) ne contenant qu'une clé permettant d'accéder aux données de session qui sont partagées entre les agents.
Ces données de sessions sont collectées lors de la phase d'authentification et permettent d'établir des règles d'accès complexes, avec notamment la possibilité de recourir aux expressions régulières, ou d'appeler des fonctions qui contrôlent par exemple les jours et horaires d'accès.
Le portail d'authentification présente à l'utilisateur connecté la liste des applications qui lui sont autorisées ainsi qu'un formulaire de changement de mot de passe.
Pour les administrateurs, une interface graphique permet de modifier les principaux paramètres de configuration ainsi que de naviguer dans les sessions ouvertes par les utilisateurs.
La version 0.9.4 apporte les nouveautés suivantes :
Utilisation de LDAP pour la configuration et les sessions
il était déjà possible d'utiliser un annuaire LDAP pour l'authentification, l'obtention des informations de session et pour le changement de mot de passe. À présent la configuration et les sessions peuvent être stockées dans l'annuaire, ce qui simplifie la configuration en mode réparti ou en cluster. Cela ne nécessite pas d'extension de schéma.
Accès SOAP
Les fonctions SOAP ont été entièrement réécrites, avec pour conséquence la perte de compatibilité avec les configurations SOAP des versions précédentes. Toutefois l'objectif étant la simplification de l'architecture, c'est le portail qui devient un point d'accès SOAP, rendant obsolète l'écriture de scripts CGI dédiés. La protection du point d'accès SOAP est gérée directement dans l'hôte virtuel du portail au niveau de la configuration Apache.
Notifications
Des notifications peuvent être envoyées aux utilisateurs qui devront les valider pour poursuivre leur accès au portail. Cela permet en particulier d'avertir un utilisateur de l'ouverture d'un accès à une application.
Fonctions dans les règles d'accès
Des nouvelles fonctions permettent de configurer des accès sur une période (date de début, date de fin) ou sur des jours et horaires (par exemple du lundi au vendredi de 8h à 19h).
Adresse du portail dynamique
Cela permet de présenter un portail différent selon l'application protégée d'origine ou la provenance des utilisateurs. Il est alors possible d'héberger plusieurs WebSSO avec une seule instance d'Apache.
Séparation claire des modules d'authentification, de données utilisateur et de mots de passe
Il est possible alors de choisir par exemple Kerberos pour l'authentification et LDAP pour la lecture des informations utilisateur. Le module Multi permet de chaîner plusieurs méthodes.
Politique des mots de passe LDAP
Le WebSSO gère à présent l'ensemble de la politique des mots de passe implémentée dans la plupart des annuaires LDAP. En particulier, le portail saura exiger le renouvellement du mot de passe lorsque celui aura été réinitialisé par un administrateur. Lors du changement de mot de passe, des messages d'erreurs explicites sont retournés aux utilisateurs (mot de passe trop court, historique, etc.).
Configuration du cross-domain
L'activation du cross-domain est simplifiée par l'ajout d'un paramètre dans le portail et dans l'agent. Le cross-domain permet d'ouvrir une session SSO sur plusieurs domaines DNS différents.
Validation de formulaires
Cette fonctionnalité est juste apparue dans cette version et doit être utilisée avec précaution. Elle permet de poster des données sur des applications protégées, ce qui étend la compatibilité de LemonLDAP::NG avec n'importe quelle application Web.
Double cookie
Lorsqu'elle est activée, cette fonction créée deux cookies, un pour HTTP et l'autre pour HTTPS. Ainsi un cookie dérobé en HTTP ne pourra pas servir à entrer sur des applications HTTPS.
Aller plus loin
- Site officiel (20 clics)
- Captures d'écran (44 clics)
- Téléchargement (29 clics)
- Article Linux Mag (6 clics)
- Conférence RMLL (5 clics)
- DLFP : sortie de la version 0.9.3 (7 clics)
# Validation du cookie ?
Posté par Olivier Serve (site web personnel) . Évalué à 3.
Ça marche, sauf qu'on n'a aucun moyen de valider le cookie LemonLDAP. Autrement dit, n'importe qui peut se forger un tel cookie et va passer. Ce qui est d'une pourritude sans nom :-/
Je n'ai pas trouvé mention d'un tel service sur le site de LemonLDAP::NG. Est-ce que ça existe enfin ?
[^] # Re: Validation du cookie ?
Posté par KPTN (site web personnel, Mastodon) . Évalué à 3.
il suffit de récupérer l'identifiant de session stocké dans le cookie et se connecter à la base de session configurée (fichier, LDAP, SQL). Un accès SOAP aux sessions est possible :
[http://wiki.lemonldap.ow2.org/xwiki/bin/view/NG/DocSOAPSessi(...)]
Sinon il est possible de protéger l'autre SSO X par LemonLDAP::NG, en demandant au SSO X d'utiliser le REMOTE_USER.
Un système de couplage de portails peut également être utilisé :
http://wiki.lemonldap.ow2.org/xwiki/bin/view/NG/AuthRemote
Je suis preneur de tout retour d'expérience sur le couplage de LemonLDAP::NG avec d'autres SSO.
[^] # Re: Validation du cookie ?
Posté par Olivier Serve (site web personnel) . Évalué à 1.
Maintenant, il ne reste plus que mettre à jour leur LemonLDAP...
# Connexion avec Apache
Posté par Sytoka Modon (site web personnel) . Évalué à 3.
L'avantage, l'authentification est gérée par Apache et non par le code php... J'ai bien plus confiance (à tord peut être !). D'ailleurs, le login et le mot de passe devrait être géré par le navigateur et non via le code HTML... On aurait alors un bouton dans son navigateur pour se déconnecté. Ce serait bien mieux que les n systèmes d'aujourd'hui.
Je voudrais mettre un SSO directement dans le fichier de conf d'apache, Il y a moyen de faire cela simplement ?
[^] # Re: Connexion avec Apache
Posté par KPTN (site web personnel, Mastodon) . Évalué à 3.
Si tu as déjà configuré tes applications pour qu'elles reposent sur la sécurité Apache, alors il te suffit dans tes hôtes virtuels Apache de remplacer la configuration de l'authentification (généralement les paramètres Auth*) pour faire appel au module LemonLDAP::NG (PerlHeaderParserHandler My::Package).
Bien entendu il faudra inscrire les hôtes virtuels protégés dans l'interface d'administration de LemonLDAP::NG (le Manager).
En conclusion, toute application compatible avec un mécanisme htaccess d'Apache est directement compatible avec LemonLDAP::NG.
[^] # Re: Connexion avec Apache
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
J'ai un gros coup de mous... Il faut dire que je gère emmerde sur emmerde depuis quelques temps !
* Il y a un exemple clair ?
* Il y a un dépot pour debian ? etch ? lenny ?
En tout cas, merci. La dernière fois qu'il y avait eu une annonce ici, j'étais allé sur le site et je n'avais pas compris cela. C'est peut être un point à mettre plus en avant. Quand je vois les articles pour CASifier une application (il y en a un dans Linux Magazine en ce moment), cela ne donne pas du tout envie car il faut modifier les applications en profondeur et donc c'est clair pour moi que ce n'est pas maintenable avec mes ressources humaines.
Donc là, si on change juste la tuyauterie d'Apache, c'est bien plus maintenable.
[^] # Re: Connexion avec Apache
Posté par KPTN (site web personnel, Mastodon) . Évalué à 2.
Les paquets sont dans Debian, mais pour avoir la dernière version, il faut soir passer en testing ou unstable, soit installer les paquets manuellement:
http://wiki.lemonldap.ow2.org/xwiki/bin/view/NG/DocInstallDe(...)
Une archive de tous les paquets est disponible sur la forge OW2:
http://forge.ow2.org/project/download.php?group_id=274&f(...)
J'encourage vivement à poursuivre ces discussions sur la liste lemonldap-ng-users@ow2.org
# Validation de formulaires
Posté par nodens . Évalué à 2.
Par contre je ne trouve pas comment faire dans la doc, ni dans le manager (que ça soit la démo ou la version que j'ai installée vite fait)... Quelqu'un sait ?
[^] # Re: Validation de formulaires
Posté par KPTN (site web personnel, Mastodon) . Évalué à 1.
Pour Cacti par contre, il est possible d'utiliser un mécanisme d'authentification externe, donc ça s'intègre nativement.
De plus en plus d'applications sont capables de faire confiance au REMOTE_USER, c'est vers cette technique qu'il faut aller. Pour les vieilles applis, on pourra effectivement passer par la soumission de formulaires (avec une bonne doc...)
Clément.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.