Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

La gestion des mots de passe utilisateur

Introduction

Afin d’entrer dans un domaine Active Directory quelconque et de profiter des ressources disponibles, un compte d’utilisateur a besoin d’être authentifié. L’authentification dont il est question passe, entre autres, par un mot de passe. C’est un fait, un compte d’utilisateur Active Directory doit avoir un mot de passe pour accéder à une infrastructure Active Directory et donc utiliser les différentes ressources existantes, si bien sûr les permissions adéquates sont définies. Un mot de passe est une chaîne de caractères « sécurisée » et associée à un compte d’utilisateur, mais aussi une condition sine qua non d’accès à plus de sécurité dans un écosystème Active Directory.

Toute infrastructure Active Directory a sa propre politique de mot de passe, et en fonction de celle-ci, c’est-à-dire finalement le contexte induit par un domaine comme contoso.com, nous apprendrons dans ce chapitre à définir un mot de passe utilisateur, obtenir la stratégie de mot de passe résultante pour un compte d’utilisateur, prévenir le changement ou l’expiration d’un mot de passe, forcer le changement de mot de passe lors de la prochaine ouverture de session, et enfin rechercher des comptes d’utilisateurs...

Définir un mot de passe utilisateur

Windows PowerShell rend possible la définition des mots de passe de comptes d’utilisateurs Active Directory de manière tout à fait aisée. En effet, la possibilité de modifier un mot de passe en utilisant Windows PowerShell ouvre des perspectives très intéressantes d’un point de vue de l’automatisation. Ce qui est sûr est que le module Active Directory PowerShell ne serait pas ce qu’il est s’il n’avait pas, dans son arsenal, une commande telle que Set-ADAccountPassword.

1. La cmdlet Set-ADAccountPassword

Set-ADAccountPassword est une cmdlet dont le but unique est de modifier un mot de passe lié notamment à un compte d’utilisateur Active Directory. Pour cela, il suffit de lui passer en paramètre une identité correspondant à l’objet visé, qui n’est pas forcément un compte d’utilisateur, mais peut aussi être un compte d’ordinateur ou un compte de service. Les paramètres dont dispose la cmdlet Set-ADAccountPassword lui permettent d’atteindre son objectif :

Le paramètre -Identity

Ce paramètre spécifie l’objet utilisateur dont le mot de passe doit être modifié. Il accepte plusieurs valeurs, entre autres le DN, le GUID, ainsi que le nom SAM de l’objet. 

Le paramètre -NewPassword

Ce paramètre...

Obtenir la stratégie de mot de passe résultante pour un compte d’utilisateur Active Directory

Une des grandes forces du service d’annuaire Active Directory est sa capacité à proposer aux administrateurs la possibilité de créer des stratégies de mots de passe affinées différentes les unes des autres dans un même domaine. Historiquement, cela n’a pas toujours été le cas, car, au sein d’un domaine Active Directory et dans les versions 2000 et 2003 de Windows Server, une seule stratégie de mot de passe et de verrouillage de compte était possible. Il fallait donc passer par d’autres mécanismes comme celui du filtrage de mot de passe.

Le système de stratégie de mot de passe affinée est une véritable bénédiction pour les administrateurs Active Directory dans la mesure où la gestion des mots de passe, réalité que nous ne pouvons pas éviter, doit être menée de la meilleure des façons. En effet, la possibilité de construire des stratégies de mot de passe différentes selon un périmètre bien précis permet une gestion plus fine et plus flexible en la matière.

1. La cmdlet Get-ADUserResultantPasswordPolicy

L’objet Active Directory correspondant à une stratégie de mot de passe affinée se nomme PSO (ou Password Settings Object) et s’applique aux objets utilisateurs et aux groupes de sécurité globaux. Plusieurs objets PSO peuvent donc être assignés à un compte d’utilisateur Active Directory ou à un groupe de sécurité global. Si plusieurs objets PSO sont appliqués sur un seul objet utilisateur ou un groupe de sécurité global, alors un objet RSOP (Resultant Set Of Policy) est calculé automatiquement....

Empêcher le changement ou l’expiration d’un mot de passe

Une politique de sécurité liée à une infrastructure Active Directory doit comporter des modalités de gestion des mots de passe. Parmi ces modalités se trouve celle consistant à régler la fréquence de changement des mots de passe, ou, dans certains cas, à empêcher strictement ce type de changement pour des comptes d’utilisateurs bien précis. Une autre modalité est celle qui consiste à empêcher l’expiration du mot de passe dans certains cas.

De telles modalités dépendent entièrement de contextes aussi différents qu’il existe des infrastructures différentes. Dans tous les cas, la cmdlet Set-ADAccountControl constitue un excellent moyen de réaliser ces modalités à partir du matériau Windows PowerShell.

1. La cmdlet Set-ADAccountControl

Des valeur>s de contrôle de compte d’utilisateur (UAC ou User Account Control) permettent de définir le comportement d’un compte d’utilisateur ou d’ordinateur. Plus précisément, les valeurs de contrôle de compte définissent ses attributs spécifiques : répertoire de base d’un compte, contexte de sécurité d’un compte pour la délégation, activation ou désactivation d’un compte, etc.

Tous ces éléments autorisent un meilleur contrôle du compte dans l’absolu, ce qui permettra de mieux affiner des politiques de sécurité de manière plus large. La commande Set-ADAccountControl contient des paramètres dont les valeurs sont reliées aux différentes valeurs de contrôle de compte. Voici...

Forcer le changement d’un mot de passe lors de la prochaine ouverture de session

Pour s’assurer qu’un utilisateur est la seule personne à connaître son mot de passe, il est possible de forcer le changement de son mot de passe lors de la prochaine ouverture de session. Cela constitue un moyen efficace pour permettre plus de confidentialité concernant la notion de compte d’utilisateur d’une manière générale.

1. La cmdlet Set-ADUser

La commande Set-ADUser est la candidate idéale pour effectuer une telle opération. Nous ne reviendrons évidemment pas sur sa description (voir le chapitre sur la gestion des utilisateurs), mais nous la réutilisons cependant, avec son paramètre -ChangePasswordAtLogon. L’option est activée pour le compte d’utilisateur Allison Brown, faisant partie de l’unité d’organisation Accounts (nous traiterons des unités d’organisation dans un prochain chapitre) :

PS> Get-ADUser -Filter {Name -eq 'Allison Brown'}  
-Properties 'PasswordLastSet' 
 
 
DistinguishedName : CN=Allison Brown,OU=Accounts,DC=contoso,DC=com 
Enabled           : True 
GivenName         : Allison 
Name              :...

Trouver des comptes d’utilisateurs Active Directory dont les mots de passe n’expirent jamais

Pour des raisons diverses et variées, pouvant par exemple être d’ordre statistique, il arrive souvent que des informaticiens dont la charge est de gérer tout ou partie d’une infrastructure Active Directory doivent effectuer des recherches à propos de comptes d’utilisateurs, entre autres objets. Lorsque cela arrive, de multiples outils existent pour les aider à accomplir leurs opérations de recherche d’objets Active Directory. Il y a parmi ces outils la commande Search-ADAccount, dont le principe est justement d’obtenir un ou plusieurs comptes d’utilisateurs Active Directory, mais pas seulement.

1. La cmdlet Search-ADAccount

Comme évoqué plus haut, Search-ADAccount est une commande très utile dans la recherche de comptes d’utilisateurs, mais ce n’est pas tout : cette commande permet aussi de lister des comptes d’ordinateurs et de services Active Directory. Sa fonction lui confère du coup un statut d’outil de recherche particulièrement efficace. Les modalités de recherche autorisées par la commande Search-ADAccount englobent l’état des comptes ainsi que les mots de passe associés, comme le démontrent ses paramètres les plus communément utilisés.

Le paramètre -AccountDisabled...