Posted
over 12 years
ago
by
KPTN
Big Brother is watching you
Bien, pour débuter cet article, la première question qui se pose est : pourquoi mémoriser la date de dernière authentification ?
Une des raisons pourrait être de tracer l'activité des utilisateurs, pour être
... [More]
certain qu'ils se connectent au système et qu'ils travaillent... Mais le vrai intérêt est plutôt inverse : cette date permet d'identifier les comptes qui sont obsolètes dans l'annuaire, par exemple qui n'ont pas été utilisés pour s'authentifier depuis plusieurs mois.
Pas si simple
On pourrait croire que cette information est simple à récupérer, surtout dans OpenLDAP, l'annuaire LDAP de référence.
Jusqu'à récemment, les seules solutions étaient d'analyser les logs systèmes (avec un niveau de log OpenLDAP à 256), ou de mettre en place l'overlay accesslog, qui stocke dans une base LDAP les opérations effectuées sur l'annuaire. Cette base devait alors être analysée pour retrouver la date de dernière authentification (opération BIND).
Les contributions, c'est bon
OpenLDAP est avant tout un logiciel libre avec une communauté active. Il existe dans le code source d'OpenLDAP un répertoire dédié aux contributions : ces modules ne sont pas maintenus par l'équipe principale du projet, mais assez matures pour être distribués avec le logiciel. Toutefois, cela signifie que si vous ne compilez pas explicitement ces modules, il ne seront pas disponibles pour votre installation OpenLDAP.
Parmi ces modules contribués, il y a l'overlay lastbind. Cet overlay a été écrit par Jonathan Clarke, ancien salarié de Linagora et l'un des fondateurs de la société Normation. Cet overlay permet de stocker dans l'attribut authTimestamp la date dernière authentification.
Assez parlé
Il est temps de passer aux travaux pratiques. Certains modules contribués sont désormais disponibles dans les RPMs fournis par le projet LDAP Tool Box. Le paquet en question s'appelle openldap-ltb-contrib-overlays et peut être téléchargé ici.
Une fois installé, on peu alors modifier la configuration d'OpenLDAP pour charger cet overlay :
# vi /usr/local/openldap/etc/openldap/slapd.conf
Tout d'abord, modifier le répertoire de chargement des modules, et charger le module :
modulepath /usr/local/openldap/lib:/usr/local/openldap/libexec/openldap
moduleload lastbind.so
On notera qu'on peut indiquer plusieurs répertoires pour le chargement des modules. Dans notre cas, le premier sert à charger le module password policy checker, et le second pour l'overlay lastbind.
Ensuite, il reste à instancier l'overlay au niveau de la base LDAP souhaitée :
overlay lastbind
Et c'est tout ! Pour les plus assidus, on pourra ajouter un paramètre de configuration, permettant de ne pas mettre à jour la date à chaque authentification, mais de limiter la précision à un certain nombre de secondes :
lastbind-precision 60
Bien entendu, l'overlay peut aussi être configuré par la branche cn=config.
Initialisation
Une fois l'overlay chargé et OpenLDAP redémarré, pour toute nouvelle authentification, une date sera stockée dans l'attribut authTimestamp, par exemple :
authtimestamp: 20120612073806Z
Seulement, il s'agit d'un attribut opérationnel, et il n'est donc pas possible de le modifier, ou de l'ajouter aux entrées qui n'en possèdent pas encore.
Enfin, rien n'est jamais impossible... OpenLDAP a implémenté le contrôle relax, qui permet d'effectuer des opérations d'administration sur les données, en particulier modifier des attributs opérationnels.
Par exemple, on peut créer le fichier LDIF suivant :
dn: uid=coudot,ou=users,dc=example,dc=com
changetype: modify
replace: authtimestamp
authtimestamp: 20120511144318Z
Et importer ce fichier dans l'annuaire :
$ ldapmodify -D cn=manager,dc=example,dc=com -W -e relax -f authtimestamp.ldif
Finalement, c'est simple, non ? [Less]
|
Posted
over 12 years
ago
by
KPTN
Big Brother is watching you
Bien, pour débuter cet article, la première question qui se pose est : pourquoi mémoriser la date de dernière authentification ?
Une des raisons pourrait être de tracer l'activité des utilisateurs, pour être certain
... [More]
qu'ils se connectent au système et qu'ils travaillent... Mais le vrai intérêt est plutôt inverse : cette date permet d'identifier les comptes qui sont obsolètes dans l'annuaire, par exemple qui n'ont pas été utilisés pour s'authentifier depuis plusieurs mois.
Pas si simple
On pourrait croire que cette information est simple à récupérer, surtout dans OpenLDAP, l'annuaire LDAP de référence.
Jusqu'à récemment, les seules solutions étaient d'analyser les logs systèmes (avec un niveau de log OpenLDAP à 256), ou de mettre en place l'overlay accesslog, qui stocke dans une base LDAP les opérations effectuées sur l'annuaire. Cette base devait alors être analysée pour retrouver la date de dernière authentification (opération BIND).
Les contributions, c'est bon
OpenLDAP est avant tout un logiciel libre avec une communauté active. Il existe dans le code source d'OpenLDAP un répertoire dédié aux contributions : ces modules ne sont pas maintenus par l'équipe principale du projet, mais assez matures pour être distribués avec le logiciel. Toutefois, cela signifie que si vous ne compilez pas explicitement ces modules, il ne seront pas disponibles pour votre installation OpenLDAP.
Parmi ces modules contribués, il y a l'overlay lastbind. Cet overlay a été écrit par Jonathan Clarke, ancien salarié de Linagora et l'un des fondateurs de la société Normation. Cet overlay permet de stocker dans l'attribut authTimestamp la date dernière authentification.
Assez parlé
Il est temps de passer aux travaux pratiques. Certains modules contribués sont désormais disponibles dans les RPMs fournis par le projet LDAP Tool Box. Le paquet en question s'appelle openldap-ltb-contrib-overlays et peut être téléchargé ici.
Une fois installé, on peu alors modifier la configuration d'OpenLDAP pour charger cet overlay :
# vi /usr/local/openldap/etc/openldap/slapd.conf
Tout d'abord, modifier le répertoire de chargement des modules, et charger le module :
modulepath /usr/local/openldap/lib:/usr/local/openldap/libexec/openldap
moduleload lastbind.so
On notera qu'on peut indiquer plusieurs répertoires pour le chargement des modules. Dans notre cas, le premier sert à charger le module password policy checker, et le second pour l'overlay lastbind.
Ensuite, il reste à instancier l'overlay au niveau de la base LDAP souhaitée :
overlay lastbind
Et c'est tout ! Pour les plus assidus, on pourra ajouter un paramètre de configuration, permettant de ne pas mettre à jour la date à chaque authentification, mais de limiter la précision à un certain nombre de secondes :
lastbind-precision 60
Bien entendu, l'overlay peut aussi être configuré par la branche cn=config.
Initialisation
Une fois l'overlay chargé et OpenLDAP redémarré, pour toute nouvelle authentification, une date sera stockée dans l'attribut authTimestamp, par exemple :
authtimestamp: 20120612073806Z
Seulement, il s'agit d'un attribut opérationnel, et il n'est donc pas possible de le modifier, ou de l'ajouter aux entrées qui n'en possèdent pas encore.
Enfin, rien n'est jamais impossible... OpenLDAP a implémenté le contrôle relax, qui permet d'effectuer des opérations d'administration sur les données, en particulier modifier des attributs opérationnels.
Par exemple, on peut créer le fichier LDIF suivant :
dn: uid=coudot,ou=users,dc=example,dc=com
changetype: modify
replace: authtimestamp
authtimestamp: 20120511144318Z
Et importer ce fichier dans l'annuaire :
$ ldapmodify -D cn=manager,dc=example,dc=com -W -e relax -f authtimestamp.ldif
Finalement, c'est simple, non ? [Less]
|
Posted
about 13 years
ago
by
Clément OUDOT
|
Posted
about 13 years
ago
by
Clément OUDOT
|
Posted
about 13 years
ago
by
KPTN
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
... [More]
est en PHP, sous licence GPL.
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
Présentation de Self Service Password
Captures d'écran
Téléchargement
Annonce officielle
[Less]
|
Posted
about 13 years
ago
by
KPTN
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
... [More]
en PHP, sous licence GPL.
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
Présentation de Self Service Password
Captures d'écran
Téléchargement
Annonce officielle
[Less]
|
Posted
about 13 years
ago
by
KPTN
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
... [More]
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 [Less]
|
Posted
about 13 years
ago
by
KPTN
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
... [More]
"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 [Less]
|
Posted
about 13 years
ago
by
Clément OUDOT
|
Posted
about 13 years
ago
by
Clément OUDOT
|