#mpclinid2014
Intégration du serveur Active Directory avec
LinID
Matinée pour comprendre – LinID – 3 avril 2014
2#mpclinid2014
Le serveur Active Directory
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)
4#mpclinid2014
Synchronisation OpenLDAP ↔ AD
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
6#mpclinid2014
Démonstration
● Synchronisation en temps réel des utilisateurs de LinID Directory Server
vers Active Directory
LinID
Directory
Server
Active
DirectoryLinID Provisionning Manager
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
8#mpclinid2014
Fonctionnement de la délégation SASL
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#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
11#mpclinid2014
Authentification sur Active Directory
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#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#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#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
#mpclinid2014
Merci de votre attention

Matinée Pour Comprendre LinID - Intégration du serveur Active Directory avec LinID

  • 1.
    #mpclinid2014 Intégration du serveurActive Directory avec LinID Matinée pour comprendre – LinID – 3 avril 2014
  • 2.
  • 3.
    3#mpclinid2014 Active Directory ● ActiveDirectory 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)
  • 4.
  • 5.
    5#mpclinid2014 Objectifs de lasynchronisation ● 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
  • 6.
    6#mpclinid2014 Démonstration ● Synchronisation entemps réel des utilisateurs de LinID Directory Server vers Active Directory LinID Directory Server Active DirectoryLinID Provisionning Manager
  • 7.
    7#mpclinid2014 Stratégies de synchronisationdu 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
  • 8.
  • 9.
    9#mpclinid2014 Utilisation d'un chiffrementré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
  • 11.
  • 12.
    12#mpclinid2014 Support AD dansLinID 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 dansLinID 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
  • 16.