Windows Server 2008 - Active Directory et les politiques de mots de passe multiples (FGPP)

FGPP kezako ? En français pas grand chose à part "Fédération de Gobeurs de Petits Pots" mais en anglais de Seattle l'acronyme prend toute sa signification à savoir "Fine Grained Password Policy".

Une des principales évolutions d'Active Directory avec Windows Server 2008 consiste en effet en la possibilité de définir non plus une unique mais de multiples politiques de mots de passe au sein d'un domaine. Pour ce faire une nouvelle classe d'objet appelée msDS-PasswordSettings est utilisée. Cette nouvelle classe d'objet est intégrée au schema d'Active Directory lors de l'extension réalisée de manière préalable à l'installation du premier contrôleur de domaine Windows Server 2008 via la commande ADPREP /FORESTPREP. Afin de mettre en oeuvre cette nouvelle fonctionnalité il est nécessaire que l'ensemble des contrôleurs du domaine soit en version 2008.

Voilà pour les pré requis, regardons maintenant d'un peu plus près comment ça marche. Pour commencer, ce qui ne change pas: les critères sont les mêmes que ceux que l'on pouvait appliquer avec la politique de mot de passe définie à l'échelle du domaine. En suite, ce qui change: la première étape est de créer une politique en utilisant pour cela ADSIEDIT et en ciblant le container Password Settings Container et en précisant son nom (cn), son ordre de précédence (msDS-PasswordSettingsPrecedence), la possibilité de stocker les mots de passe de manière chiffrée réversible (msDs-PasswordReversibleEncryptionEnabled), le nombre de mots de passe conservés dans l'historique (msDS-PasswordHistoryLength), l'utilisation de mots de passe complexes (msDS-PasswordComplexityEnabled), la longueur minimale du mot de passe (msDS-MinimumPasswordLength), la durée de validité minimale du mot de pass (msDS-MinimumPasswordAge), la durée de validité maximale du mot de passe (msDS-MaximumPasswordAge), le nombre d'essais infructueux avant verrouillage du compte (msDS-LockoutThreshold), la durée d'observation du verrouillage du compte (msDS-LockoutObservationWindow), la durée de verrouillage du compte (msDS-LockoutDuration), soit 11 attributs dont 4 exprimés en millisecondes à définir pour chaque PSO.

 

Une fois l'objet PSO définit il peut être modifié via ADSIEdit ou la MMC Users & Computer à condition d'avoir activé la vue avancée. Si d'autres objets PSO doivent être créés (ce qui sera probablement le cas car se limiter à une seule politique n'a aucun intérêt vs ce qu'il était possible de faire jusqu'ici), le plus simple et le plus sure est certainement de d'utiliser un script LDIF comme celui disponible ci-dessous.

 

Le script pourra être généré soit via export d'une instance existante vis LDIFDE ou via DSQUERY avec la commande suivante: DSQUERY * DC=Nom_Du_Domaine,DC=com -FILTER (objectclass=msDS-PasswordSettings) -ATTR * comme montré dans la capture d'écran ci-dessous.

 

Il ne nous reste plus maintenant qu'a faire en sorte d'appliquer les différents politiques aux populations concernées, l'approche retenue pour cela sera de créer un groupe que l'on associera à chaque PSO. Passons sur la création des groupes qui n'a pas grand intérêt pour nous concentrer sur l'association des groupes aux PSO qui est réalisée en modifiant l'attribut multivalué msDS-AppliesTo de chaque PSO de façon à y inclure le ou les groupes.

Nous pouvons donc maintenant gérer la politique de mot de passe qui s'appliquera aux utilisateurs via leur appartenance à un ou des groupes.
Quelques commentaires complémentaires: il est aussi possible d'associer directement un PSO à un utilisateur sans passer par un groupe et si l'on souhaite connaitre la politique qui s'applique à un utilisateur à un instant donné, il suffira d'utiliser DSGET avec le nouveau commutateur -EFFECTIVEPSO, la copie d'écran ci-dessous montrant comment combiner DSQUERY et DSGET de façon à connaitre la politique s'appliquant à chaque utilisateur.

Dernier point avant de conclure, une et une seule politique pouvant être appliquée à un utilisateur, dans le cas ou plus d'une politique pourrait s'appliquer du fait de l'appartenance à plus d'un groupe, le choix de la politique qui sera appliquée est fait en fonction de la valeur de l'attribut msDS-PasswordSettingsPrecedence (la politique avec la valeur la plus élevée étant prise en compte).

C'est tout sur FGPP, au programme du prochain épisode le RODC