Bonnes ID ~ Clément Oudot

Aller au contenu | Aller au menu | Aller à la recherche

Un blog sur la gestion d'identité Open Source

Retrouvez ici les actualités des projets libres sur lesquels je travaille.

vendredi, mars 16 2012

Configuration Apache : du bon usage de RedirectMatch et de mod_proxy

La configuration d'un serveur HTTP d'Apache est une source d'occupation sans limite tellement les possibilités d'utilisation sont nombreuses. Ma casquette de développeur et intégrateur LemonLDAP::NG m'amène souvent à les explorer.

Dernière découverte en date, l'utilisation conjointe de RedirectMatch et mod_proxy.

RedirectMatch

La clause RedirectMatch permet de faire des redirections basées sur une expression régulière. Le cas d'utilisation le plus classique quand on fait un proxy vers une application hébergée dans un serveur JEE est de rediriger la racine / vers le répertoire de l'application /appli/ :

RedirectMatch ^/$ /appli/

mod_proxy

Le module mod_proxy permet de passer les requêtes à un autre serveur, au hasard un serveur JEE :

ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

Cohabitation

Si vous mettez les deux configurations présentées ci-dessus ensemble, la redirection vers /appli/ ne fonctionnera plus. Alors qu'elle fonctionne sans mod_proxy.

Et c'est parti pour quelques heures de doute sur la condition humaine, jusqu'à ce qu'une recherche sur internet vous amène sur cet article.

La clé du mystère est que quand ProxyPass est configuré sur "/", cette clause prévaut sur les autres, et donc la requête est transmise avant que la redirection ne soit effectuée.

La solution est donc de limiter le champ d'action du proxy :

RedirectMatch ^/$ /appli/
ProxyPass /appli/ http://localhost:8080/appli/
ProxyPassReverse /appli/ http://localhost:8080/appli/

En espérant que cela vous fera gagner du temps ;)

vendredi, février 10 2012

Actualités de l'activité LinID, la gestion des identités de LINAGORA

LinID

Le sigle LinID est apparu il y a quelques années pour agréger l'activité de LINAGORA dans le domaine de la gestion des identités autour d'une marque s'inscrivant dans la lignée des autres produits (LinShare, LinSign, LinPKI, etc.).

linid_logo.png

LinID, c'est aussi et avant tout une suite logicielle. Cette suite regroupe des logiciels sur lesquels les membres de l'équipe sont fortement impliqués, ainsi que des logiciels développés par LINAGORA :

  • LinID Directory Server : Annuaire OpenLDAP, avec les outils du projet LDAP Tool Box comme le script d'initialisation, le packaging RPM.
  • LinID Directory Manager : Framework web java bâti au-dessus de Spring et Tapestry 5 permettant de créer des interfaces de gestion des objets LDAP
  • LinID OpenLDAP Manager : Console web de configuration OpenLDAP, utilisant le framework LinID Directory Manager
  • LinID Access Manager : WebSSO LemonLDAP::NG permettant le contrôle d'accès aux applications Web et la fédération d'identités (SAML 2.0, OpenID)
  • LinID Provisionning Manager : Moteur de connecteurs LDAP Synchronization Connector permettant la synchronisation d'annuaires LDAP, de bases de données

LinID Directory Manager

LinID Directory Manager est un framework Java qui permet de créer des interfaces de gestion d'annuaire LDAP. Ces interfaces peuvent être très différentes, pour certaines très techniques (gestion de règles sudo, authentification unifiée PAM, etc.) ou d'autres très fonctionnelles (pages blanches, pages jaunes, modification de ses coordonnées personnelles, etc.)

display_user_anonymous.png

LinID Directory Manager est publié sous AGPLv3.

La version 1.0 du framework est sortie en janvier, fruit de plusieurs années de développement. Pour les connaisseurs, c'est la reprise du projet InterLDAP, enrichi des évolutions réalisées dans le cadre du projet de recherche FederID.

Pour avoir une idée des possibilités offertes par le framework, une application de démonstration est fournie. Après téléchargement et extraction, il suffit de cette commande pour lancer l'application sur votre poste :

mvn -Popends jetty:run

Plus de détails sont fournis sur le wiki du projet.

Si cette application vous a convaincu, l'étape suivante est de créer votre propre application, en démarrant avec les artefacts maven du framework !

Nous développons actuellement la version 2.0 qui contient la migration vers Tapestry 5.3 (la version 1.0 de LinID DM est basée sur Tapestry 5.1). Cette version peut-être testée dès maintenant en utilisant les artefacts déployés dans notre dépôt nexus ou directement en utilisant notre dépôt subversion.

LinID OpenLDAP Manager

Autre exemple d'utilisation du framework LinID Directory Manager, LinID OpenLDAP Manager est une application web de gestion de la configuration OpenLDAP. En effet, depuis la version 2.4, OpenLDAP peut stocker sa configuration dans un arbre LDAP (cn=config) et la modification peut donc être éditée par un client LDAP.

LinID OpenLDAP Manager propose donc des interfaces de gestion des backends, des overlays et du schéma :

linid-om-home.png

LinID OpenLDAP Manager est publié sous AGPLv3.

La version 0.6 de LinID OpenLDAP Manager est sortie le 10 février (voir l'annonce de la publication). Pour la tester, téléchargez, désarchivez puis :

./linid-om.sh start

La documentation complète est sur le wiki du projet.

Autres

Les autres produits sur lesquels nous travaillons sont également très actifs !

Charge

Charge est un logiciel utilisé pour des tests de performances d'annuaires LDAP. Développé en C avec les bibliothèques OpenLDAP, il permet d'injecter un très grand nombre de requêtes LDAP pour tester la montée en charge des annuaires.

La version 1.3 est sortie début janvier, amenant son lot de nouveautés, en particulier :

  • Support du SSL
  • Packaging RPM (CentOS 5 et CentOS 6)

LDAP Tool Box

Le projet LDAP Tool Box regroupe divers outils. En particulier, il fournit des RPMs d'OpenLDAP (CentOS 5 et CentOS 6) pour les versions les plus récentes publiées par le communauté. Un des autres outils phare est l'interface de changement et de réinitialisation de mot de passe appelée Self Service Password.

Pour plus de détails, consultez le site du projet ou parcourez les articles de ce blog.

LDAP Synchronization Connector

Une première version candidate de LSC 2.0 est sortie, la version stable devrait être publiée prochainement. Cette nouvelle version tranche véritablement avec les versions 1 :

  • Configuration en XML
  • Interface d'administration en java (Tapestry 5)
  • Connexion persistent sur OpenLDAP pour propagation en temps réel des mises à jour
  • Support des bases de données en destination

Pour plus de détails, consultez le site du projet.

LemonLDAP::NG

La version 1.2 présentée au FOSDEM est en préparation, comme cela est indiqué dans le précédent article.

Pour plus de détails, consultez le site du projet ou parcourez les articles de ce blog.

On recrute !

Toutes ces actualités montrent à quel point le sujet de la gestion d'identité Open Source est active. Si ce domaine vous intéresse, plusieurs annonces ont été publiées sur notre site pour des postes à pourvoir sur Paris ou sur Lyon :

J'attends de vos nouvelles !

mardi, février 7 2012

Conférence LemonLDAP::NG au FOSDEM 2012

Comme chaque année, le FOSDEM a lieu à Bruxelles et rassemble de nombreux développeurs de logiciels libres venant de différents pays.

Cette année, pour la première fois, j'ai eu le plaisir de pouvoir présenter LemonLDAP::NG dans la devroom Perl :

Cette présentation a été l'occasion d'annoncer quelques nouveautés qui apparaîtront dans la prochaine version (1.2.0) sur laquelle nous travaillons activement :

  • Historique des connexions : les connexions réussies ou échouées sont conservées et peuvent être affichée dans le menu du portail. Cela permettra en particulier de vérifier quand son compte a été utilisé.
  • Module d'authentification Radius : contribué par des utilisateurs avancés du logiciel, ce module est utile entre autres pour l'utilisation de l'authentification multi-facteurs de Google (voir le blog de Romain Vrignaud)
  • Règles d'ouverture de session personnalisées : on pourra paramétrer des règles refusant l'ouverture d'une session avec l'affichage d'un message contextuel

Cette nouvelle version apportera bien entendu son lot de correctifs et d'autres évolutions, elle devrait sortir d'ici le mois de mars. En attendant, vous pouvez retrouver les diapositives de la conférence du FOSDEM.

jeudi, décembre 22 2011

Sortie de Self Service Password 0.7

Présentation

Self Service Password est une interface web très simple permettant à un utilisateur de changer son mot de passe dans un annuaire LDAP. Cet annuaire peut être Active Directory ou un annuaire LDAP conforme au standard.

Le logiciel est en PHP, sous licence GPL.

recaptcha.png

Fonctionnalités principales

  • Mode Samba (pour les mots de passe NT et LM)
  • Mode Active directory (pour les mots de passe AD), avec déverrouillage et réinitialisation à la prochaine connexion
  • Mode Shadow account
  • Politique des mots de passe locale :
    • Taille minimale/maximale
    • Caractères interdits
    • Compteurs pour les majuscules, minuscules, chiffres et caractères spéciaux
    • Non réutilisation du mot de passe actuel
    • Complexité (nombre de classes de caractères différentes)
  • Messages d'aide
  • Réinitialisation par questions/réponses
  • Réinitialisation par un challenge par mail
  • reCAPTCHA (Google API)
  • Notification par mail après changement de mot de passe

L'application est désormais disponible en 8 langues : anglais, français, allemand, espagnol, brésilien, néerlandais, catalan et polonais !

Quelques liens

vendredi, décembre 2 2011

Sortie des RPMs OpenLDAP 2.4.28 sur LDAP Tool Box Project

OpenLDAPlogo.png

La version 2.4.28 d'OpenLDAP est sortie en début de semaine, et les RPMs du projet LDAP Tool Box ont suivi peu après.

Ces RPMs apportent les fonctionnalités suivantes:

  • Backend BDB, HDB, MDB et LDAP
  • Tous les overlays officiels
  • Certains overlays "contrib" (lastbind et smbk5pwd)
  • Support SSL (via OpenSSL)
  • Support de la délégation SASL
  • Support SLAPI
  • Autoconfiguration de la rotation des logs
  • Script d'initialisation en version 1.3
  • Module pwdChecker pour la politique des mots de passe

Le script d'initialisation propose de nombreuses fonctionnalités, comme la sauvegarde et la restauration des données. Ces simples commandes suffisent:

# service slapd backup
# service slapd restore

Il permet également de démarrer simplement OpenLDAP en mode debug:

# service slapd debug

Ce script est bien entendu compatible avec cn=config, et permettra dans sa prochaine version la sauvegarde et restauration de la configuration :

# service slapd backupconfig
# service slapd restoreconfig

Cette fonctionnalité sera fournie dans la prochaine version (1.4).

Pour télécharger tout ça, rendez-vous sur le site du projet LDAP Tool Box : http://ltb-project.org

vendredi, octobre 7 2011

Sortie de LemonLDAP::NG 1.1.2

Sortie d'une nouvelle version de LemonLDAP::NG en ce début d'automne, corrigeant quelques problèmes de la version 1.1.1, et apportant une amélioration du module fournisseur CAS.

Un problème ? Quel problème ? Mais y'a pas de problème

Parmi les petits soucis corrigés, on notera:

  • Meilleure gestion des dépendances Debian (Lasso et javascript-common)
  • Importation des fonctions étendues dans le Handler si la cage Safe est désactivée
  • Amélioration de la gestion des erreurs du Handler SecureToken
  • Modification du comportement de la fonction d'autorisation du portail : si l'application à afficher n'est pas connue du portail, elle est ignorée. On peut forcer l'affichage d'une application dans le portail avec le paramètre Display qu'il suffit de mettre à On.

CAS / Lemon, un cocktail d'enfer

LemonLDAP::NG est fournisseur CAS depuis la version 1.0. Cela permet de remplacer facilement son serveur CAS par LemonLDAP::NG. Il manquait toutefois une petite fonctionnalité : la gestion des autorisations pour les services CAS.

Avant cette version, le fournisseur CAS de LemonLDAP::NG renvoyait des tickets CAS aux services sans contrôler que l'utilisateur était bien autorisé à accéder à ce service. L'autorisation devait se faire soit en interne à l'application, soit en positionnant un Handler LL::NG devant.

Désormais, le fournisseur CAS peut vérifier l'autorisation d'accès à l'émission du ticket. Deux solutions alors si l'utilisateur n'est pas autorisé:

  • L'utilisateur reste sur le portail avec un message d'erreur adéquat
  • L'utilisateur repart sur le service avec un faux ticket, et l'erreur est alors gérée au niveau de l'application

À ma connaissance, cela fait de LemonLDAP::NG le seul serveur CAS sachant gérer les autorisations d'accès aux services !

On s'est pas déjà vu quelque part ?

C'est possible. Mais si vous voulez être certain de me croiser, ne ratez pas les prochaines occasions :

vendredi, juillet 29 2011

Sortie de LemonLDAP::NG 1.1.1

En cette fin de juillet ensoleillée est sortie une nouvelle version mineure de LemonLDAP::NG, la 1.1.1

Cette version corrige les problèmes suivants :

  • Les fonctions SOAP n'étaient plus disponibles lorsque les notifications étaient activées
  • Les notifications devaient être acceptées deux fois par les utilisateurs déjà authentifiés
  • Le séparateur dans les nom de fichier des notifications n'était pas configurable
  • La recherche des groupes LDAP ne fonctionnait pas si le DN de l'utilisateur contenait des caractères spéciaux (comme l'anitslash)

La nouvelle version est téléchargeable ici : http://lemonldap-ng.org/download

mercredi, juillet 27 2011

Sortie de Self Service Password 0.6

Présentation

Self Service Password est une interface web très simple permettant à un utilisateur de changer son mot de passe dans un annuaire LDAP. Cet annuaire peut être Active Directory ou un annuaire LDAP conforme au standard.

Le logiciel est en PHP, sous licence GPL.

recaptcha.png

Fonctionnalités principales

  • Mode Samba (pour les mots de passe NT et LM)
  • Mode Active directory (pour les mots de passe AD)
  • Politique des mots de passe locale :
    • Taille minimale/maximale
    • Caractères interdits
    • Compteurs pour les majuscules, minuscules, chiffres et caractères spéciaux
    • Non réutilisation du mot de passe actuel
    • Complexité (nombre de classes de caractères différentes)
  • Messages d'aide
  • Réinitialisation par questions/réponses
  • Réinitialisation par un challenge par mail
  • reCAPTCHA (Google API)
  • Notification par mail après changement de mot de passe

L'application est désormais disponible en 6 langues : anglais, français, allemand, espagnol, brésilien et néerlandais.

Quelques liens

jeudi, juillet 21 2011

Sortie de LemonLDAP::NG 1.1

Ceci est la reprise de l'article rédigé pour LinuxFR, disponible ici : http://linuxfr.org/news/sortie-de-lemonldapng-11

Le 8 juillet dernier, à la veille de l'ouverture des RMLL, est sortie une nouvelle version majeure de LemonLDAP::NG.

LemonLDAP::NG est un logiciel de Web-SSO destiné à protéger des applications Web. Pour les utilisateurs, cela permet de ne s'authentifier qu'une seule fois (Single Sign-On) et pour les administrateurs du WebSSO cela permet de contrôler de manière centralisée les droits d'accès aux applications. LemonLDAP::NG supporte désormais de nombreux protocoles d'authentification et de fédération d'identités comme CAS, OpenID ou SAML 2.0.

La version 1.1 apporte un certain nombre de nouveautés présentées ci-dessous.

Gestion des notifications

Une notification est un message affiché à l'utilisateur lors de son accès au portail d'authentification (accès obligatoire pour la création de sa session SSO). Une notification peut contenir des cases à cocher, qui devront alors être activées par l'utilisateur pour poursuivre.

Ce système permet par exemple d'avertir un utilisateur sur la modification de ses habilitations, ou sur l'ajout ou la suppression d'une application dans le portail.

Les notifications existent dans LemonLDAP::NG depuis la version 0.9.4, mais le paramétrage de cette fonctionnalité était complexe. Depuis la version 1.1, le Manager (interface d'administration de la solution) possède désormais un explorateur qui permet de créer et parcourir les notifications.

De plus, les notifications peuvent désormais :

  • S'adresser à tous les utilisateurs (auparavant, une notification était enregistrée pour un utilisateur précis)
  • Posséder une condition d'affichage (ce qui permet par exemple d'afficher une notification pour des utilisateurs provenant d'un certain réseau, ou possédant certains attributs)

Pour plus d'informations, vous pouvez consulter la documentation en ligne.

Réinitialisation du mot de passe par mail

Lorsqu'un utilisateur a perdu son mot de passe, LemonLDAP::NG propose une page où il peut réinitialiser son mot de passe par mail. Il n'est bien entendu pas question de lui transmettre son mot de passe actuel, mais bien de lui permettre d'en changer via un challenge par mail. Cette méthode est inefficace si le mot de passe du WebSSO est le même que le mot de passe de sa messagerie, mais dans les autres cas, elle permet d'alléger considérablement les appels au support.

La cinématique est la suivante :

  • L'utilisateur fait une demande de réinitialisation en entrant son identifiant (ou tout attribut permettant de l'identifier de manière unique, comme son mail)
  • Un mail est envoyée avec un lien, dont la validité est configurable (par défaut 24 heures)
  • Le lien mène à une page permettant de saisir un nouveau mot de passe, ou de demander sa génération automatique
  • Le nouveau mot de passe est envoyé par mail

Pour plus d'informations, vous pouvez consulter la documentation en ligne.

Authentification par Yubikey

La Yubikey est un périphérique physique permettant de faire de l'authentification avec mot de passe à usage unique (One Time Password, OTP).

LemonLDAP::NG permet désormais d'utiliser ce périphérique pour ouvrir une session SSO. Les attributs de l'utilisateur peuvent être ensuite récupéré en associant l'identifiant de la clé à l'identifiant de l'utilisateur dans la base des comptes (LDAP ou SQL).

Pour plus d'informations, vous pouvez consulter la documentation en ligne.

Personnalisation

La personnalisation du produit est facilitée dans la dernière version, en particulier :

  • Les messages d'erreurs peuvent être surchargés dans le fichier INI
  • Les thèmes possèdent désormais des modèles HTML "custom" inclus dans les modèles par défaut

Pour plus d'informations, vous pouvez consulter la documentation en ligne.

dimanche, juillet 17 2011

Problème suite à la mise à jour du noyau dans Ubuntu

Si comme moi vous avez parfois des soucis après une mise à jour du noyau dans Ubuntu, voici la commande magique :

apt-get install linux-headers-$(uname -r)

Le paquet en s'installant exécutera automatiquement dkms pour recharger vos modules (comme nvidia ou virtualbox) :

Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 2.6.38-10-generic-pae /boot/vmlinuz-2.6.38-10-generic-pae
 * dkms: running auto installation service for kernel 2.6.38-10-generic-pae                                                                  
 *       nvidia-current (270.41.06)...                                                                                                [ OK ] 
 *       virtualbox-ose (4.0.4)...                                                                                                    [ OK ] 
run-parts: executing /etc/kernel/header_postinst.d/nvidia-common 2.6.38-10-generic-pae /boot/vmlinuz-2.6.38-10-generic-pae

mercredi, juin 1 2011

Sortie de LemonLDAP::NG 1.0.6 et autres actualités

La version 1.0.6 de LemonLDAP::NG est sortie le 30 mai, apportant quelques corrections :

  • La recherche LDAP de l'utilisateur requête à présent explicitement la liste des attributs (et non la totalité des attributs)
  • La syntaxe de configuration de l'authentification multiple (backend Multi) est désormais acceptée dans le Manager
  • Les valeurs base64 sont correctement échappées dans le javascript du Manager pour être compatibles avec les sélecteurs jQuery

Cette version peut être téléchargée ici : http://lemonldap-ng.org/download

La prochaine version sera une version majeure, la 1.1.0, incluant quelques nouvelles fonctionnalités sympa :

  • Authentification par Yubikey
  • Authentification "esclave", c'est-à-dire liée à un produit de SSO frontal qui transmet les données dans les en-têtes HTTP (LemonLDAP::NG, SiteMinder, OpenAM, etc.)
  • Simplification de la personnalisation du thème graphique (pour les pages du portail et les mails HTML envoyés)
  • Amélioration de la fonctionnalité de réinitialisation du mot de passe par mail, avec renvoi possible du mail de confirmation, et saisie du nouveau mot de passe sur le portail, en plus de la possibilité de le générer
  • Gestion d'une notification globale, c'est-à-dire applicable à tous les utilisateurs (les notifications en 1.0 doivent être attribuées nominativement)

Cette nouvelle version devrait sortir fin juin/début juillet, on pourra en entendre alors parler lors de deux événements :

Sinon, vous pourrez trouver quelques informations sur LemonLDAP::NG dans le GNU/Linux Magazine de ce mois-ci (n°139 / juin 2011) dans le reportage sur ConFoo.

vendredi, avril 15 2011

Sortie de LemonLDAP::NG 1.0.5

Une nouvelle version de LemonLDAP::NG vient de sortir. Celle-ci apporte les changement suivants :

  • Correction d'un bug sur le menu des applications, qui masquait des applications autorisées à certains utilisateurs parce qu'elles étaient interdites à d'autres
  • Possibilité de définir une sous-routine dans lemonldap-ng.ini : cela permet de surcharger des méthodes à la volée, sans toucher au script index.pl
  • Gestion de l'authentification SMTP, pour la fonctionnalité de réinitialisation du mot de passe par mail

Cette version implique l'installation d'une nouvelle dépendance Perl: Clone. Si vous utilisez les paquets RPM ou DEB, cette dépendance sera installée automatiquement (il faudra toutefois un apt-get dist-upgrade au lieu d'un simple apt-get upgrade sous Debian).

Téléchargement: http://lemonldap-ng.org/download

lundi, avril 11 2011

LDAP Tool Box Self Service Password sort en version 0.5

ltb-logo.png

On n'est jamais mieux servi que par soi-même

C'est en tout cas ce que chaque employé d'un service de support informatique vous dira. Traiter les demandes d'utilisateurs ayant perdu leur mot de passe, ou tout simplement voulant changer leur mot de passe, est une activité sans beaucoup de valeur ajoutée.

Pour tenter de réduire le temps investi sur ce sujet, des logiciels dits de "Self Service" sont arrivés. Le principe est simple : si l'utilisateur perd son mot de passe, il se rend sur l'application et demande un nouveau mot de passe, tout seul, comme un grand.

Génial, où est-ce qu'on peut l'acheter ?

Le projet LDAP Tool Box fournit une petite interface Web remplissant ce rôle, elle est nommée avec grande originalité Self Service Password (SSP pour les intimes).

SSP propose les fonctions suivantes :

  • Changement du mot de passe dans un annuaire LDAP
  • Support de Active Directory
  • Support de Samba
  • Politique des mots de passe locale (taille, types de caractères, etc.)
  • Réinitialisation par questions/réponses
  • Réinitialisation par challenge mail

Grâce à de nombreuses contributions, l'interface est disponible en français, anglais, allemand, espagnol, brésilien et hollandais.

La version 0.5 est sortie ce week-end (pas de repos pour les libristes), elle est disponible en archive simple, en paquet RPM ou paquet Debian. N'attendez plus pour l'essayer !

vendredi, avril 1 2011

Le SSO, cause principale de la maladie d'Alzheimer

Une étude de l'institut NAZ (Neuroscience AlZheimer) vient de prouver le lien entre le déploiement du SSO en entreprise et la maladie d'Alzheimer, désormais classée dans les accidents du travail.

De la paresse mémorielle à la maladie

Le SSO, Single Sign On, est un système informatique permettant aux utilisateurs de n'avoir qu'un seul mot de passe pour accéder à toutes leurs applications. La généralisation de ce système change radicalement les habitudes des usagers, qui sollicitent de moins en moins leur mémoire dans leur travail quotidien.

Certains systèmes SSO peuvent même déclencher l'authentification de l'utilisateur à partir d'une carte à puce, ou de son empreinte digitale : plus aucun accès mémoire n'est requis !

Le cerveau doit être sans cesse sollicité pour fonctionner. Avec le SSO, le voici devenu presque inutile, avec les conséquences que l'on connaît maintenant.

Le téléphone portable, une première alerte ignorée

L'arrivée des téléphones portable avait déjà créé du remous dans la communauté médicale, accusant le répertoire téléphonique d'affaiblir les capacités cognitives de ses utilisateurs : aujourd'hui, personne ne connaît plus que 3 ou 4 numéros de téléphone, contre plusieurs dizaines auparavant.

La riposte est en cours

Pour palier à ce problème, plusieurs entreprises ont décidé d'abandonner le SSO. Elles exigent désormais au moins deux mots de passe pour se connecter aux applications, dont un doit être une date d'anniversaire, ou le prénom d'un proche. Elles espèrent ainsi faire reculer la maladie, au moins jusqu'à la retraite de leurs salariés.

À votre échelle, vous pouvez également agir : jetez tous les papiers que vous trouverez sur lesquels des mots de passe sont écrits. Vous contribuerez ainsi à l'amélioration de la santé mentale de vos collègues.

vendredi, mars 25 2011

Nouveaux RPMs pour OpenLDAP 2.4.24 sur LTB-project

ltb-logo.png

La version 2.4.24 d'OpenLDAP est sortie en début d'année. Les RPMs ont été mis en ligne sur LTB-project et sont téléchargeables ici.

Les paquets fournis par LTB-Project incluent en plus d'OpenLDAP un script d'initialisation et un module de contrôle de mot de passe pour l'overlay ppolicy.

Le script d'initialisation est en version 1.2, qui apporte en particulier une fonctionnalité supplémentaire : le démarrage en mode "debug". Cela permet de demander le lancement d'OpenLDAP dans la console avec un niveau de logs configurable (niveau "stats").

Par exemple :

root@ader:~# service slapd debug
slapd[3519]: [INFO] Using /etc/default/slapd for configuration
slapd[3524]: [INFO] Halting OpenLDAP...
slapd[3528]: [OK] OpenLDAP stopped after 1 seconds
slapd[3529]: [INFO] no data backup done
slapd[3530]: [INFO] Halting OpenLDAP replication...
slapd[3531]: [INFO] no replica found in configuration, aborting stopping slurpd
slapd[3532]: [INFO] Launching OpenLDAP replication...
slapd[3533]: [INFO] no replica found in configuration, aborting lauching slurpd
slapd[3534]: [INFO] no db_recover done
slapd[3535]: [INFO] Launching OpenLDAP...
slapd[3536]: [OK] file descriptor limit set to 1024
@(#) $OpenLDAP: slapd 2.4.23 (Dec  8 2010 14:28:30) $
        clement@ader:/home/clement/Programmes/openldap-2.4.23/servers/slapd
slapd starting
conn=1000 fd=13 ACCEPT from IP=127.0.0.1:48634 (IP=0.0.0.0:389)
conn=1000 op=0 BIND dn="" method=128
conn=1000 op=0 RESULT tag=97 err=0 text=
connection_input: conn=1000 deferring operation: binding
conn=1000 op=1 SRCH base="" scope=2 deref=0 filter="(objectClass=*)"
conn=1000 op=1 SEARCH RESULT tag=101 err=32 nentries=0 text=
conn=1000 op=2 UNBIND
conn=1000 fd=13 closed

Liens :

jeudi, mars 24 2011

Mise à jour de sécurité sur LemonLDAP::NG (sortie de la version 1.0.4)

Une nouvelle version de LemonLDAP::NG est sortie cette semaine, numérotée 1.0.4.

Cette version corrige entre autres un problème important, lié à la refactorisation du code de la cage d'exécution (Safe) : les macros et les groupes étaient conservés en mémoire, et pouvaient donc être copiés d'une session d'utilisateur à une autre. Conséquence : si les règles d'accès utilisent les macros ou les groupes, cela pouvait permettre l'accès à des personnes non autorisées aux applications.

Il est donc vivement conseillé de migrer vers la nouvelle version.

Page de téléchargement de LemonLDAP::NG.

mardi, mars 15 2011

Retour sur ConFoo 2011

Voilà, j'ai quitté la belle province de Montréal pour rentrer en France en début de semaine, après avoir passé quelques jours au Québec pour participer à ConFoo, et entre autres présenter LemonLDAP::NG.

Sécurité et HTML5

Mon penchant naturel pour les sujets de gestion des identités et des accès m'ont amené à suivre une grande majorité des conférences sur la sécurité. Celles-ci traitaient en général des attaques classiques sur les applications Web, en tenant compte des nouvelles spécificités du cloud computing, et des web services, souvent ignorés et sources de failles majeures.

Une grande partie des conférenciers sur ce sujet appartenaient à l'OWASP, comme Sébastien GIORIA, Philippe GAMACHE, Sylvain MARET ou Antonio FONTES.

J'ai également pu croiser Allan Foster de ForgeRock qui a présenté XACML et son support dans OpenAM.

L'autre sujet à l'honneur, c'est bien entendu HTML5, accompagné de CSS3. Sur cette dernière technologie, une conférence très intéressante de Daniel GLAZMAN, co-chairman W3C CSS Working Group, dont on peut retenir en substance : CSS 2.1 est enfin publié, CSS 3 en en maturation. Les démonstrations sur les transformations ou les bordures de cadres donnent toutefois très envie d'utiliser CSS 3 dès à présent. Quelques démonstrations sur HTML5, en particulier la vidéo, ont fait également leur petit effet. Là aussi, la bonne nouvelle est que le support des périphériques d'entrée (comme une webcam) sont des sujets à l'étude.

Microsoft se joint aux festivités

Le sponsor principal de ConFoo 2011 était Microsoft. Suprenant, sachant que ConFoo n'est que le digne successeur de PHPQuébec, une conférence dédiée à PHP. On a même pu croiser des affiches ventant le support de Java, Python ou PHP sur Microsoft Azure, leur offre cloud.

Le responsable Open Source de Microsoft, Gianugo Rabellino, est venu en personne parler d'Internet Explorer 9, et de l'implication de sa société dans l'établissement des standards et dans l'interopérabilité.

Un bon lavage de cerveau en quelque sorte, même si l'on ne peut que saluer les efforts faits par Microsoft pour rattraper son retard dans ce domaine.

Pour conclure

Je tiens à remercier toute l'équipe de l'organisation de ConFoo, qui a fait un travail remarquable, dont le résultat n'est pas moins que 150 conférences assurées par une centaine d'intervenants sur trois journées bien remplies !

Vous trouverez quelques photos de l'évènement sur mon compte picasa. Un article plus complet devrait sortir prochainement dans Linux Magazine.

Sortie de LemonLDAP::NG 1.0.3

Une nouvelle version mineure de LemonLDAP::NG, la version 1.0.3, est sortie le 7 mars dernier, très rapidement après la 1.0.2.

Cette sortie se justifie par la correction d'un bug apparu dans la 1.0.2 et qui empêchait les applications en mode automatique (c'est à dire dont les droits d'accès sont calculés à la volée) d'apparaître dans le menu des applications. Ce bug a été introduit pour une modification de la gestion de la cage d'exécution (Safe.pm), il est à présent corrigé.

Page de téléchargement de LemonLDAP::NG.

vendredi, mars 4 2011

Sujet du jour : comment instaurer une politique des mots de passe commune à OpenLDAP et Samba ?

LDAP.png

La politique c'est pas fait pour les politiciens

Rappelons d'abord qu'une politique des mots de passe est un ensemble de règles permettant :

  • de contrôler les authentifications (blocage de compte après plusieurs tentatives infructueuses)
  • de contrôler les changements de mot de passe (expiration, force du mot de passe, réinitalisation à la prochaine connexion, présence dans un historique, etc.)



Samba et OpenLDAP sont sur un bateau

Pour ceux qui ont pratiqué Samba, il est assez simple de gérer la politique des mots de passe Samba (à l'aide des outils Samba ou des Samba LDAP tools). Cependant cette politique ne s'applique qu'à Samba, et ses mots de passes spécifiques (sambaLMPassword et sambaNTPassword).

Pour ceux qui ont pratiqué OpenLDAP, il est aussi assez simple de gérer la politique des mots de passe, en activant l'overlay ppolicy. Cependant cette politique ne s'applique qu'au mot de passe LDAP (userPassword).

Je ne veux voir qu'une politique !

C'est donc bien joli tout ça, mais il me faut une solution pour gérer de manière unique ces contraintes suivantes :

  • Taille du mot de passe au moins de 8 caractères
  • Stockage des 4 derniers mots de passe dans un historique

Bien entendu cela devra être appliqué pour une modification du mot de passe à travers Samba (donc potentiellement à travers la GINA Windows) et à travers une interface Web de changement de mot de passe LDAP.

Et on est bien d'accord que si je change le mot de passe LDAP par l'interface Web, les mots de passe Samba sont aussi mis à jour.

Et plus vite que ça !

Samba

Configurons Samba pour qu'il ne modifie que le mot de passe LDAP. En effet, on va déléguer le reste du travail à OpenLDAP :

# vi /etc/samba/smb.conf

---8<---
ldap passwd sync = only
---8<---

Cela va en fait indiquer à Samba de ne changer que le champ 'userPassword', et ne de pas toucher aux champs 'sambaLMPassword' et 'sambaNTPassword'.

À noter que Samba utilise l'opération étendue password modify pour changer le mot de passe.

OpenLDAP

Il faut activer deux overlays :

  • ppolicy : politique des mots de passe OpenLDAP (contrôle des authentifications et des changements de mot de passe)
  • smbk5pwd : modification des mots de passe Samba et Kerberos en parallèle du mot de passe LDAP, uniquement sur l'opération étendue de changement de mot de passe

L'overlay smbk5pwd n'est pas un overlay officiel, il se trouve dans le répertoire contribs/slapd-modules/smbk5pwd. Certains distributions l'incluent toutefois dans leurs paquetages OpenLDAP (par exemple CentOS), sinon il faut compiler l'overlay à la main.

# vi /etc/openldap/slapd.conf

---8<---
modulepath /usr/lib/openldap/
moduleload ppolicy.la
moduleload smbk5pwd.la

database bdb
overlay ppolicy
ppolicy_default ou=default,ou=ppolicy,dc=example,dc=com

overlay smbk5pwd
smbk5pwd-enable samba
---8<---

Et on configure par exemple la politique des mots de passe avec cette entrée :

dn: ou=default,ou=ppolicy,dc=example,dc=com
objectClass: organizationalUnit
objectClass: pwdPolicy
objectClass: top
ou: default
pwdAttribute: userPassword
pwdCheckQuality: 2
pwdInHistory: 4
pwdMinLength: 10

Croisons les doigts

Changement de mot de passe d'un utilisateur par Samba :

  • Mot de passe valide :
# smbpasswd coudot
New SMB password:
Retype new SMB password:
  • Mot de passe invalide (trop court ou dans l'historique) :
# smbpasswd coudot
New SMB password:
Retype new SMB password:
ldapsam_modify_entry: LDAP Password could not be changed for user coudot: Constraint violation
        Password fails quality checking policy
Failed to modify entry for user coudot.
Failed to modify password entry for user coudot

L'erreur LDAP remontée est bien celle de la politique des mots de passe OpenLDAP.

Ça ira pour cette fois

Cette solution a le mérite de fonctionner, mais on s'aperçoit vite qu'il est impossible par exemple d'avoir un seul compteur d'authentification erronées (car Samba ne fait pas de BIND LDAP), ou encore d'avoir une seule information pour forcer la réinitialisation à la prochaine connexion.

Reste à espérer que les travaux sur Samba 4 amélioreront l'interopérabilité des deux politiques.

mardi, mars 1 2011

Sortie de LemonLDAP::NG 1.0.2

Une nouvelle version mineure de LemonLDAP::NG vient de sortir, corrigeant quelques problèmes sur la 1.0, publiée en fin d'année dernière.

logo_lemonldap-ng.png

La version 1.0.2 apporte les améliorations principales suivantes :

  • Correction sur la prise en compte des niveaux d'authentification LDAP et DBI
  • L'option portalOpenLinkInNewWindow n'est pas prise en compte
  • Réinitialisation du mot de passe avec AuthChoice
  • Meilleure gestion du cache de configuration dans le portail
  • Protection de l'explorateur de sessions semblable à celle du Manager
  • Masquage des catégories vides dans le menu des applications
  • Correctifs sur le packaging Debian
  • Nouvelle option useSafeJail pour désactiver l'utilisation de Safe.pm

Quelques liens :

- page 1 de 3