3. 3#mpclinid2014
Active Directory
● Active Directory est le serveur de gestion de parc de Microsoft
● Parmi ses services, Active Directory propose un annuaire LDAP, toutefois
quelques libertés ont été prises vis-à-vis du standard LDAP :
– Chiffrement spécifique du mot de passe, pas d'export possible
– Limites sur le nombre d'entrées retournées (page size) et le nombre de
valeurs retournées par attributs (val range)
– Schéma non standard, en particulier la classe d'objet « user »
– Période de validité de l'ancien mot de passe même après son changement
– Utilisation de nombreux attributs binaires
– Format de temps spécifique (nombre de blocs de 100 ns depuis le 1er janvier
1601)
5. 5#mpclinid2014
Objectifs de la synchronisation
● Utiliser LinID Directory Server (OpenLDAP) comme référentiel des
identités
● Conserver Active Directory comme composant d'infrastructure
● Synchroniser utilisateurs et groupes entre les annuaires
● Le sens d'implémentation de la synchronisation dépend du serveur
gérant les créations/modifications/suppressions d'utilisateur
● La synchronisation du mot de passe nécessite un traitement particulier
7. 7#mpclinid2014
Stratégies de synchronisation du mot de passe
● 1ère solution : pas de synchronisation, conservation du mot de passe
dans AD et utilisation de la délégation SASL dans OpenLDAP
● 2ème solution : modification du mot de passe sur OpenLDAP, utilisation
d'un chiffrement réversible pour synchronisation vers AD
● 3ème solution : modification du mot de passe sur AD, utilisation d'une
DLL (passwdHK) pour transmettre le mot de passe à OpenLDAP
9. 9#mpclinid2014
Utilisation d'un chiffrement réversible
● LinID Provisionning Manager peut utiliser le chiffrement AES
● Un connecteur peut être écrit pour chiffrer à la volée un mot de passe en
clair :
– En SHA pour le mot de passe standard LDAP (userPassword)
– EN AES réversible dans un attribut dédié
● Le connecteur AD peut ensuite utiliser l'attribut dédié pour déchiffrer le
mot de passe avant de l'envoyer à AD
● On simule une authentification sur AD pour chaque entrée afin de ne
mettre à jour le mot de passe que s'il a changé
10. 10#mpclinid2014
Utilisation d'une DLL
● L'utilisation d'une DLL check password est un mécanisme standard
proposé par Active Directory, initialement pour implémenter sa propre
politique de vérification de mot de passe
● Cette DLL intercepte le mot de passe en clair lors du changement par
l'utilisateur, et accepte ou non son changement dans Active Directory
● Une implémentation libre de la DLL existe : passwdHK
● On configure alors un script qui est appelé par la DLL et qui va faire la
modification du mot de passe dans OpenLDAP
12. 12#mpclinid2014
Support AD dans LinID A&F Manager
● LinID Access & Federation Manager sait s'interfacer avec
l'authentification Active Directory :
– Soit en utilisant l'authentification LDAP (identifiant et mot de passe)
– Soit en utilisant l'authentification Windows intégrée (Kerberos)
– Soit les deux, en testant d'abord Kerberos, puis LDAP
● Le changement du mot de passe dans Active Directory peut également
se faire depuis le portail LinID A&F Manager
13. 13#mpclinid2014
Support AD dans LinID A&F Manager
● LinID Access & Federation Manager sait s'interfacer avec
l'authentification Active Directory :
– Soit en utilisant l'authentification LDAP (identifiant et mot de passe)
– Soit en utilisant l'authentification Windows intégrée (Kerberos)
– Soit les deux, en testant d'abord Kerberos, puis LDAP
● Le changement du mot de passe dans Active Directory peut également
se faire depuis le portail LinID A&F Manager
14. 14#mpclinid2014
Utilisation de LDAP
● L'authentification se fait de manière standard au protocole LDAP
● Le module AD vérifie en plus le champ « changement du mot de passe à
la prochaine connexion » et force l'utilisateur à faire ce changement au
niveau du portail
● Le module AD traite ensuite l'opération de changement de mot de passe
en utilisant l'attribut spécifique unicodePwd
15. 15#mpclinid2014
Utilisation de Kerberos
● L'authentification de l'utilisateur est réalisée grâce au ticket Kerberos
obtenu à l'ouverture de session et stocké dans le navigateur
● C'est un module d'authentification Apache qui traite les échanges
Kerberos
● Le portail LinID A&F Manager peut ensuite consolider les informations de
l'utilisateur en effectuant une recherche LDAP dans Active Directory
● Une configuration spécifique permet de présenter un formulaire
d'authentification standard dans le cas où l'authentification Kerberos
échoue