Stratégie de mot de passe affinée

Par défaut, l’objet de stratégie de groupe (GPO) « Default Domain Policy » contient les paramètres permettant de définir une politique de complexité des mots de passe et des verrouillages de compte sur le domaine Active Directory.

Le mauvais exemple typique : la politique de mots de passe par défaut désactivée.

Les stratégies de mots de passe affinées correspondent à des objets « Paramètres de mots de passe » et sont également appelées « PSO » pour « Password Settings Object ».

PSO (Password Settings Object) : Objet de Paramètres de mot de passe
PSC (Password Settings Container) : Conteneur de paramètres de mot de passe

Un PSO peut être appliqué directement sur un utilisateur, mais également sur un groupe, ce qui sera plus intéressant en termes de souplesse d’administration.

Un utilisateur/groupe peut être lié à plusieurs PSO, mais en cas de conflit de PSO, un attribut de priorité nommé « valeur de précédence » permet de définir une priorité quant à l’application de la stratégie.

En l’absence d’une politique PSO, la stratégie de mots de passe du domaine s’applique.

Créer une politique de mot de passe affinée

Sur votre contrôleur de domaine, ouvrez le « Centre d’administration Active Directory » qui est accessible dans les Outils d’administration ou via « dsac.exe ».

Choisissez la vue arborescence sur la gauche, déroulez l’arborescence au niveau de votre nom de domaine, puis « System » et « Password Settings Container ».

Accéder aux politiques de mot de passe affinées
Accéder aux politiques de mot de passe affinées

Dans le volet de droite, cliquez sur « Nouveau » puis « Paramètres de mot de passe » comme ceci :

Créer une nouvelle politique de mot de passe affinée
Créer une nouvelle politique de mot de passe affinée

Un formulaire complet s’affiche à l’écran : attelez-vous il va falloir le compléter. Comme je fais les choses bien, voici quelques indications pour vous aider :

Nom : Nom de la politique, pour ma part “PSO_ComptabiliteEzoicPriorité : Valeur supérieure à 0 qui servira à faire l’arbitrage en cas de conflit entre deux PSO qui s’appliquent sur un même objet. Pensez à espacer les valeurs de vos différents PSO afin de pouvoir jouer sur les priorités facilement.

Pour cela deux règles sont à connaître :

  • La valeur la plus faible sera prioritaire sur la valeur la plus haute.
  • En cas de priorité identique, c’est la politique avec le GUID le plus faible qui sera appliqué
  • Un PSO appliqué au niveau d’un utilisateur sera prioritaire appliqué au niveau du groupe.

Passons à la suite.

Appliquer la longueur minimale du mot de passe : chiffre entier pour définir la longueur minimale que doit faire le mot de passe. Partons sur 16 caractères pour cet exemple.

Appliquer l’historique des mots de passe : permet de définir le nombre d’anciens mots de passe qu’un utilisateur ne peut pas réutiliser, cela le force à « inventer » un nouveau mot de passe un certain nombre de fois. Par défaut, la valeur est de 24 ce qui me semble très correct.

Le mot de passe doit respecter des exigences de complexité : indiquez si oui ou non le mot de passe doit respecter ces exigences (conseillé par sécurité).

https://09552ae97f2bbd01db66af8a9a382f1d.safeframe.googlesyndication.com/safeframe/1-0-40/html/container.htmlEzoicStocker le mot de passe en utilisant un chiffrement réversible : il est préférable de ne pas activer cette option, là aussi par sécurité. Si vous activez cette option, cela signifie que le mot de passe stocké dans l’AD peut être récupéré en clair, ce qui n’est pas souhaitable.

Protéger contre la suppression accidentelle : permets de se protéger contre une éventuelle suppression involontaire de cet objet PSO.

Appliquer l’âge minimal de mot de passe : durée de vie minimale d’un mot de passe, ce qui permet d’empêcher un utilisateur de changer successivement plusieurs fois son mot de passe. Cela pourrait lui permettre de dépasser la limite de l’historique des mots de passe et de redéfinir son mot de passe initial…

Cette valeur doit correspondre à un nombre de jours.

Appliquer l’âge maximal de mot de passe : même principe que le paramètre précédent, mais là pour la durée de vie maximale. Si l’on se réfère aux recommandations de l’ANSSI, il ne faut pas imposer de délai d’expiration sur les mots de passe des comptes non sensibles (sans privilèges élevés), si la politique d’ensemble est assez robuste. Je décoche cette option.

Nombre de tentatives échouées autorisé : une fois que le nombre de tentatives autorisées sera dépassé, le compte sera verrouillé automatiquement. Cela permet d’éviter les attaques par brute force où de nombreuses tentatives seraient tentées…

Réinitialiser le nombre de tentatives de connexion échouées après (mins) : une fois ce délai écoulé, le nombre de tentatives échouées est remis zéro.

Prenons un exemple : vous définissez “3” comme valeur pour le paramètre “Nombre de tentatives échouées autorisé” et un délai de 60 minutes sur le paramètre “Réinitialiser le nombre de tentatives de connexion échouées après (mins)”. A partir du moment où l’utilisateur va se tromper de mot de passe une fois, un compte à rebours de 60 minutes va s’enclencher, et si dans ce laps de temps de 60 minutes il effectue 2 nouvelles tentatives en échecs (portant le total à 3) alors le compte sera verrouillé. Par contre, si au bout de 60 minutes il n’y a pas eu d’autres tentatives en échec (ou une seule, soit 2), le compteur est remis à zéro. Ce paramètre est indispensable, car sans lui le nombre de tentatives en échec ne serait jamais remis à zéro et donc le compte utilisateur finirait par être bloqué si le compteur s’incrémente tout le temps.

Le compte va être verrouillé :

https://09552ae97f2bbd01db66af8a9a382f1d.safeframe.googlesyndication.com/safeframe/1-0-40/html/container.htmlEzoicLors du verrouillage d’un compte, ce dernier peut être verrouillé :

  • Pendant une durée de (mins) : définissez une valeur de verrouillage du compte qui sera automatiquement déverrouillé une fois le délai terminé.
  • Jusqu’à ce qu’un administrateur déverrouille manuellement le compte : une action manuelle d’un administrateur est requise pour déverrouiller le compte

Quant à la section « S’applique directement à » vous devez ajouter les utilisateurs et/ou les groupes sur lesquels vous souhaitez appliquer cette stratégie PSO. Pour cela, cliquez sur le bouton « Ajouter » situé en bas à droite. Pour ma part, j’ajoute le groupe nommé “Comptabilité” et je vous recommande d’utiliser une gestion par groupe plutôt que par utilisateurs.

Au final, j’obtiens la configuration suivante :

Exemple d'une politique de mot de passe affinée
Exemple d’une politique de mot de passe affinée

Pour information, chaque objet PSO contient des attributs spécifiques appartenant à la classe msDS-PasswordSettings et qui contiennent les valeurs définit au moment de la création de la politique. Nous avons par exemple : msDS-LockoutDuration, msDS-LockoutThreshold et msDS-MaximumPasswordAge

Cliquez sur « OK » une fois la configuration terminée.

Vous êtes désormais en mesure de mettre en place une stratégie de mot de passe affinée au sein de votre infrastructure Microsoft. Vous pouvez en créer plusieurs et les appliquer sur différents groupes.

IV. Quelle politique de mot de passe affinée s’applique sur mon utilisateur ?

Si vous désirez voir quelle stratégie s’applique à un utilisateur, toujours dans le « Centre d’administration Active Directory » sélectionnez « Users » dans l’arborescence. Ensuite, recherchez votre utilisateur dans la liste, sélectionnez-le puis sur la droite cliquez sur « Afficher les paramètres de mot de passe ».

Une fenêtre va s’ouvrir et vous aurez la réponse à votre question !

Une autre façon de faire consiste à utiliser la console “Utilisateurs et ordinateurs Active Directory“. Ensuite, activez l’affichage avancé pour accéder à l’éditeur d’attributs (Affichage > Fonctionnalités avancées).

Recherchez votre utilisateur, accédez aux propriétés via un clic droit et cliquez sur l’onglet “Éditeur d’attributs“. Ensuite, cliquez sur le bouton “Filtrer” et cliquez sur “Construit” afin d’afficher l’attribut msDS-ResultantPSO.

Si vous recherchez cet attribut et que vous regardez sa valeur, vous pouvez voir le nom de la politique qui s’applique. Par exemple, j’obtiens :

CN=PSO_Comptabilite,CN=Password Settings Container,CN=System,DC=it-connect,DC=local

Mais finalement, il y a plus simple avec PowerShell et le cmdlet “Get-ADUserResultantPasswordPolicy” puisqu’il suffit de préciser l’identifiant du user :

 Get-ADUserResultantPasswordPolicy -Identity guy.mauve

La propriété “Name” nous donne directement le nom de la politique.

Continuons sur notre lancée et apprenons à créer une politique de mot de passe affinée avec PowerShell.

Post Comment

You May Have Missed