Clément OUDOT : LemonLDAP::NG 1.2.3 : Soleil !
mardi 19 février 2013 à 17:19Le 8 février dernier est sortie la version 1.2.3 de LemonLDAP::NG. Prévue à l'origine pour n'être qu'une version corrective de la branche 1.2, de nombreux bugs et améliorations ont été inclus dans cette version, ce qui explique sa sortie tardive (6 mois après la version 1.2.2). Panorama de ces changements.
Les signatures SAML au cœur du cyclone
En décembre, une alerte de sécurité a été diffusée concernant le traitement des signatures SAML dans LemonLDAP::NG (CVE-2012-6426), problème corrigé dès le 18 décembre sur le SVN du projet.
Concrètement, la vérification des signatures était désactivée par défaut lors de la réception des messages et la fonction chargée de vérifier ensuite la signature n'était pas effective (mauvais appel de fonction de la librairie Lasso).
Si vous travaillez donc avec le protocole SAML dans une version inférieur à 1.2.3, la mise à jour est chaleureusement conseillée pour revenir à une situation au beau fixe.
Cette version apporte de plus certaines améliorations sur SAML, comme le support des NameID transient, un meilleur log des échanges SAML et la compatibilité de l'IDP SAML avec une authentification CAS.
Soleil Orage Averse Pluie
Le support de SOAP a été amélioré :
- Support de DBI pour le web service de suppression des notifications
- Accès en écriture aux sessions SOAP pour les Handler, avec une mise à jour de la documentation associée
Le ciel est tombé sur l'en-tête X-Forwarded-For
Jusqu'ici, la gestion de l'en-tête X-Forwarded-For n'était pas évident. Cette en-tête est gérée par les proxys et permet de connaître l'adresse IP d'origine d'une requête HTTP, donc l'IP du client.
Avant la version 1.2.1, l'activation de la gestion de cette en-tête inscrivait l'IP dans une variable spécifique de la session ($xForwardedForIpAddr), laissant l'IP standard dans la variable $ipAddr. Hors, même s'il est possible d'utiliser la variable $xForwardedForIpAddr dans des règles, dans d'autres endroits du code, $ipAddr est forcément utilisé (par exemple dans les logs, ou dans les modèles HTML des mails envoyés).
Cette gestion a été revue, désormais si l'option X-Forwarded-For est activée dans LemonLDAP::NG, alors la variable de session $ipAddr prendra cette valeur, ce qui s'appliquera donc à toutes les fonctions utilisant cette variable.
De plus, depuis la version 1.2.3, pour éviter que la valeur de cette en-tête soit modifiée manuellement par les utilisateurs, une règle de sécurité est apparue pour n'accepter cette en-tête que depuis certaines IP (en l'occurrence les adresses IP des proxys s'ils existent).
Accalmie sur les rejeux de formulaire
Les rejeux de formulaire sont une fonctionnalité assez marginale, permettant de transformer des requêtes GET en POST, utilisant comme données POST des informations de la session de l'utilisateur. En utilisant la fonction de sauvegarde du mot de passe en session, cela permet donc de faire du SSO sur des applications mal écrites propriétaires.
Plusieurs bugs ont été corrigés pour rendre cette fonction plus opérationnelle :
- Utilisation d'une URL d'interception indépendante de l'URL du formulaire
- Correction des caches pour les requêtes suivant le rejeu de formulaire
Toutefois, cette fonctionnalité reste assez peu avancée, et il est préférable d'utiliser les modes standards de SSO (en-tête HTTP, CAS, SAML, ...).
Séance d'UV pour le portail
Le portail est la partie visible de LemonLDAP::NG, là où les utilisateurs s'authentifient, changent leur mot de passe et voient les applications auxquelles ils sont accès.
Comme le physique c'est important, la version 1.2.3 apporte deux nouveautés dans ce domaine :
- Les utilisateurs peuvent trier les catégories pour placer en haut celles qu'ils utilisent le plus tri catégorie
- Les administrateurs peuvent définir des règles de sélection d'un thème graphique, par rapport à l'URL de l'application protégée ou l'IP de l'utilisateur par exemple
- Le temps avant l'expiration du mot de passe est affiché en jour/heures/minutes/secondes, et plus uniquement en secondes
D'hiver
D'autres améliorations diverses ont été faites :
- Contrôle des applications demandant une authentification Cross Domain
- Fonctionnement même si des sessions fichiers sont corrompues
- Version installée affichée dans le Manager
Après la pluie
À présent que vous êtes convaincus qu'il faut absolument installer cette nouvelle version, courrez la télécharger, ou mettez à jour via vos distributions préférées !
L'équipe du projet LemonLDAP::NG travaille déjà sur la version 1.3. N'hésitez pas à venir nous prêter main forte !
Original post of Clément OUDOT.Votez pour ce billet sur Planet Libre.
Articles similaires
- Clément OUDOT : Sortie de LemonLDAP::NG 1.0 ! (01/12/2010)
- Clément OUDOT : LemonLDAP::NG sur un nuage (18/06/2010)
- Clément OUDOT : LemonLDAP::NG se présente à Montréal le 10 mars prochain (28/02/2011)
- Clément OUDOT : Mise à jour de sécurité sur LemonLDAP::NG (sortie de la version 1.0.4) (24/03/2011)
- Clément OUDOT : Sortie de LemonLDAP::NG 1.2 (20/06/2012)