matinée pour comprendre linid - intégration du serveur active directory avec linid
TRANSCRIPT
#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
LinIDDirectoryServer
ActiveDirectoryLinID 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