Protégez les mots de passe d’administration Windows avec Microsoft LAPS

Comment gérez-vous actuellement les mots de passe administrateur locaux de Windows? Chaque système Windows en a un et ils ont les clés du royaume de chaque PC. Étant donné que les mots de passe administrateur locaux ne font pas partie de Active Directory (AD), vous devez gérer chaque compte sur chaque ordinateur séparément. C’est une douleur.

La plupart du temps, les organisations n’y pensent pas trop et définissent simplement un mot de passe administrateur standard sur chaque machine Windows. Cette pratique, bien que pratique, expose les organisations à un problème beaucoup plus grave lorsque ce mot de passe maître est mis entre de mauvaises mains. Avoir un mot de passe administrateur local séparé sur chaque ordinateur ne prévient pas nécessairement un individu malveillant d’accéder à un PC, mais cela empêche considérablement l’exploitation latérale d’autres PC.

Microsoft Local Administrator Password Solution (LAPS) peut aider.

Dans cet article, vous allez apprendre comment sécuriser vos ordinateurs joints à un AD en configurant LAPS.

Qu’est-ce que Microsoft LAPS?

LAPS est un élément vital pour maintenir un environnement Windows sécurisé. LAPS est un outil qui fonctionne de manière intelligente; il randomise automatiquement le mot de passe administrateur local sur tous les ordinateurs de domaine avec LAPS activé et change régulièrement chaque mot de passe.

LAPS garantit que vous avez des mots de passe administrateur local randomisés sur l’ensemble de votre domaine et empêche les déplacements latéraux des pirates informatiques et des logiciels malveillants. Maintenant, vous pourriez penser qu’un long mot de passe administrateur local sur le client pourrait vous protéger de cela, mais ce n’est pas vrai.

Les pirates peuvent utiliser une méthode Pass-The-Hash pour se propager rapidement dans votre domaine et pourraient même découvrir des informations d’administrateur de domaine en utilisant la même méthode. LAPS empêche cette activité en obligeant les individus malveillants à découvrir un mot de passe pour chaque machine individuelle.

LAPS en pratique

LAPS se compose de trois parties principales:

Attributs AD verrouillés

LAPS stocke chaque mot de passe administrateur local pour chaque ordinateur contrôlé dans AD, appelé ms-Mcs-AdmPwd. LAPS doit également savoir quand les mots de passe expirent pour les changer, il stocke donc un autre attribut AD appelé ms-Mcs-AdmPwdExpirationTime. Ces attributs AD ne sont lisibles/inscriptibles que par des principaux AD spécifiés tels qu’un groupe ou un utilisateur, et également inscriptibles par le compte d’ordinateur qui utilise le mot de passe.

Paramètres de la GPO

Pour mettre en place LAPS sur un ordinateur et changer le mot de passe, LAPS dispose également d’un ensemble de paramètres de GPO. Lorsque la GPO est liée à un ensemble d’ordinateurs, les paramètres de LAPS sont distribués à chaque ordinateur. Lorsque l’ordinateur applique les paramètres de la GPO, LAPS utilise un fichier DLL spécial pour les interpréter.

Quand LAPS constate que la date actuelle est postérieure à la date d’expiration du mot de passe, il va :

  • Générer un nouveau mot de passe aléatoire et le définir comme mot de passe administrateur local.
  • Écrire le nouveau mot de passe administrateur local dans l’attribut Ms-Mcs-AdmPwd dans AD.
  • Écrire une nouvelle date d’expiration dans ms-Mcs-AdmPwdExpirationTime.

En utilisant cette méthode astucieuse mais simple, les ordinateurs du domaine restent encore plus sécurisés.

Configuration de LAPS

Assez d’informations, passons maintenant à la découverte de ce que LAPS peut faire ! La configuration de LAPS n’est pas compliquée, mais nécessite quelques étapes que vous apprendrez dans ce tutoriel. Les voici :

  1. Installation des outils de gestion LAPS sur votre machine d’administration.
  2. Extension du schéma AD pour ajouter les deux attributs AD personnalisés utilisés par LAPS.
  3. Définition des privilèges appropriés pour les différents composants dans AD.
  4. Création de la stratégie de groupe LAPS qui sera appliquée aux ordinateurs Windows.
  5. Déploiement de l’extension de stratégie de groupe LAPS sur les ordinateurs Windows concernés.

Une fois que vous avez terminé ces étapes, vous disposerez d’un environnement LAPS entièrement fonctionnel et prêt à l’emploi !

Prérequis

Dans cet article, vous allez configurer LAPS pour de vrai. Si vous souhaitez suivre, assurez-vous de remplir quelques prérequis au préalable.

  • Un domaine AD (2003 et supérieur)
  • A computer running Windows (10 or Server 2012+ is recommended) has RSAT for Active Directory installed.
  • Avoir accès à un compte qui est à la fois membre des groupes AD Domain Admins et Schema Admins.

Tous les exemples dans cet article utiliseront un domaine AD appelé contoso.com.

La meilleure pratique pour le groupe d’administration du schéma consiste à n’en être membre que lorsque vous avez besoin des autorisations.

Installation des outils de gestion de Microsoft LAPS

Pour commencer, vous devez d’abord installer les outils de gestion de LAPS sur votre ordinateur d’administration. Ces outils de gestion installeront à la fois l’extension GPO LAPS (si sélectionnée) et les outils de gestion pour configurer LAPS.

  1. Commencez par télécharger le fichier LAPS.x64.msi et lancez-le en tant qu’administrateur, puis cliquez sur Suivant.
Installing Microsoft LAPS

2. Appuyez sur Suivant jusqu’à ce que vous arriviez à la configuration personnalisée, puis cliquez sur Outils de gestion et La fonctionnalité entière sera installée sur le disque dur local pour installer ces deux composants. Si vous ne souhaitez pas que la machine actuelle soit gérée par LAPS, sélectionnez Extension GPO AdmPwd.

Click Management Tools

3. Cliquez sur Suivant jusqu’à la fin de l’installation, puis quittez le programme d’installation.

Vous avez maintenant installé les extensions GPO LAPS (si sélectionnées) et les outils de gestion, et nous pouvons maintenant commencer à étendre le schéma AD et ajouter nos GPO.

Extension du schéma AD

Comme mentionné précédemment, LAPS utilise deux attributs AD appelés ms-Mcs-AdmPwd et ms-Mcs-AdmPwdExpirationTime. Ces deux attributs ne sont pas par défaut et doivent être ajoutés au schéma AD.

  1. Commencez par ajouter un membre du groupe Domain Admins au groupe Schema Admins si le compte n’est pas déjà membre. Nous appellerons ceci votre « compte administrateur ».
  2. Démarrez PowerShell en tant que votre compte administrateur et importez le module PowerShell AdmPwd en exécutant Import-module AdmPwd.PS.
  3. Une fois le module importé, exécutez la commande Update-AdmPwdADSchema pour mettre à jour le schéma AD en ajoutant les deux attributs AD. Vous pouvez voir la sortie dans la capture d’écran suivante.
Powershell Admin Account

Vous avez maintenant étendu notre schéma AD pour prendre en charge LAPS et êtes prêt à définir des autorisations dans Active Directory.

Configuration des autorisations dans Active Directory

Chaque ordinateur doit pouvoir mettre à jour son mot de passe administrateur local et l’attribut de temps d’expiration AD. Pour ce faire, chaque ordinateur doit avoir l’autorisation d’écriture automatique sur les attributs AD ms-Mcs-AdmPwd et ms-Mcs-AdmPwdExpirationTime. Heureusement, la plupart de ce travail est facilement réalisé avec le module PowerShell AdmPwd.

Autoriser les machines à enregistrer leur mot de passe

Tout d’abord, assurez-vous que chaque ordinateur peut enregistrer son mot de passe dans l’attribut AD ms-Mcs-AdmPwd et le mettre à jour lorsque ce mot de passe expire dans l’attribut AD ms-Mcs-AdmPwdExpirationTime. Le module PowerShell AdPwd a une commande que vous pouvez utiliser pour définir ces autorisations appelée Set-AdmPwdComputerSelfPermission par unité organisationnelle (OU) qui s’applique à toutes les sous-OU.

En PowerShell, exécutez la commande suivante : Set-AdmPwdComputerSelfPermission -OrgUnit ‘OU=Workstations,DC=contoso,DC=com’, en n’oubliant pas de mettre à jour votre OU spécifique et le nom de domaine correspondant.

Update OU and Domain Name

Si vous souhaitez que LAPS contrôle davantage d’OU, répétez la commande ci-dessus pour chaque OU dans AD.

Sécurisation des attributs AD en trouvant les droits étendus

Pour vous assurer que seuls les utilisateurs et groupes auxquels vous souhaitez accorder des autorisations de lecture et de réinitialisation du mot de passe administrateur local de chaque ordinateur ont accès, vous devez auditer les accès. Plus précisément, vous devez savoir que seuls les comptes qui ont besoin des « droits étendus » les ont.

Pour trouver les comptes avec des droits étendus, exécutez la commande suivante : Find-AdmPwdExtendedRights -OrgUnit 'OU=Workstations,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders, en veillant à remplacer votre OU et le nom de domaine.

Vous pouvez maintenant voir dans la capture d’écran suivante que CONTOSO\joe-the-admin et CONTOSO\MDT-service ont des droits étendus sur l’OU Workstations.

Workstations OU

La permission du MDT-service nécessite effectivement le droit étendu, mais joe-the-admin ne le nécessite pas. Vous devez maintenant supprimer l’autorisation pour joe-the-admin.

Vous devrez répéter ce processus pour toutes les OUs pour lesquelles vous avez défini la permission d’auto-écriture à une étape antérieure.

Suppression des droits étendus

Une fois que vous avez identifié chaque compte dont vous devez supprimer les droits étendus, il est maintenant temps de le faire.

  1. Ouvrez Gestionnaire des utilisateurs et ordinateurs Active Directory et cliquez sur Affichage dans le menu supérieur pour vous assurer que les Fonctionnalités avancées sont activées. Lorsque vous activez les fonctionnalités avancées, vous verrez toutes les UO généralement cachées comme indiqué dans la capture d’écran suivante.
Hidden OUs

2. Cliquez avec le bouton droit de la souris sur l’UO dont vous souhaitez supprimer les droits étendus, puis cliquez sur Propriétés.

Right Click OU to Remove

3. Cliquez sur l’onglet Sécurité, puis sur le bouton Avancé.
4. Trouvez le compte ou le groupe dont vous souhaitez supprimer les droits étendus et supprimez-le en le sélectionnant puis en cliquant sur Supprimer.

Security Tab for Account Removal

5. Répétez ces étapes au besoin pour tous les principaux avec des droits étendus.

Accorder l’autorisation de lire et de réinitialiser le mot de passe de l’administrateur local

Maintenant que vous vous êtes assuré que seuls les comptes appropriés ont des droits étendus, vous devez maintenant créer deux groupes AD pour lire et réinitialiser le mot de passe d’administrateur local appelés Lire mot de passe des postes de travail LAPS et Réinitialiser mot de passe des postes de travail LAPS.

Notez que les noms de groupe spécifiés ici ne sont pas obligatoires. Vous êtes libre d’utiliser le nom de groupe que vous souhaitez.

Avec une console PowerShell toujours ouverte avec votre compte administrateur, saisissez les commandes suivantes pour donner aux deux groupes AD l’autorisation de lire le mot de passe d’administrateur local pour les ordinateurs dans l’UO Postes de travail.

PS> Set-AdmPwdReadPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Read"

PS> Set-AdmPwdResetPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Reset" 

Vous avez maintenant activé les groupes AD ci-dessus pour lire et réinitialiser les mots de passe des administrateurs locaux des ordinateurs dans l’OU Workstations. Vous devez maintenant ajouter les administrateurs ou groupes nécessaires pour lire ou réinitialiser les mots de passe.

Création d’un magasin central pour les modèles de stratégie de groupe

Pour que LAPS s’active une fois installé sur les ordinateurs, créez d’abord une stratégie de groupe en important les modèles de stratégie de groupe dans le magasin PolicyDefinition. Le magasin PolicyDefinition est un dossier situé sur tous les contrôleurs de domaine.

N’activez jamais une GPO LAPS qui cible les contrôleurs de domaine. Ce n’est pas pris en charge et peut causer des problèmes inattendus.

  1. Choisissez un contrôleur de domaine dans AD ; n’importe quel contrôleur de domaine fera l’affaire.
  2. Assurez-vous qu’un \\contoso.com\SYSVOL\Policies\PolicyDefinitions existe. Sinon, créez-le maintenant.
  3. Copiez le contenu de C:\Windows\PolicyDefinitions sur votre ordinateur administratif (celui sur lequel vous avez installé LAPS) dans le dossier \\contoso.com\SYSVOL\Policies\PolicyDefinitions sur le contrôleur de domaine.

Création de la GPO

Passons maintenant à la copie des modèles de GPO LAPS vers le magasin central (dossier PolicyDefinitions).

  1. Ouvrez la Gestion des stratégies de groupe sous votre compte administrateur, faites un clic droit sur l’OU dans laquelle vous souhaitez activer LAPS, puis cliquez sur Associer un GPO existant…
Group Policy Management

2. Accédez à Configuration de l’ordinateur —> Modèles d’administration —> LAPS et définissez Activer la gestion du mot de passe administrateur local sur Activé. Si vous avez des exigences différentes en matière de complexité des mots de passe, modifiez les Paramètres de mot de passe en conséquence.

Linking GPO to all OUs

Vous avez presque terminé ! Maintenant, associez ce GPO à toutes les OUs dans lesquelles vous souhaitez utiliser LAPS.

Déploiement de l’extension de GPO LAPS

Une fois que le GPO est appliqué à toutes les OUs concernées contenant des ordinateurs, vous devez maintenant déployer l’extension de GPO LAPS. Vous avez plusieurs façons d’installer cette extension, soit en installant le MSI (comme indiqué précédemment), soit en enregistrant le fichier DLL LAPS.

Si vous choisissez d’installer le MSI, sur chaque ordinateur à l’intérieur d’une OU contrôlée par LAPS, exécutez la commande suivante pour activer LAPS.

> msiexec /q /i \\server\share\LAPS.x64.msi

Si vous choisissez d’activer LAPS en enregistrant le DLL, vous pouvez le faire avec la commande suivante.

> regsvr32.dll \\server\share\AdmPwd.dll

Vous pouvez utiliser n’importe quel outil d’exécution à distance que vous avez pour exécuter ces commandes sur les ordinateurs.

Déploiement du MSI LAPS avec un GPO

Utiliser un GPO est la méthode la plus simple pour garantir que l’extension de GPO LAPS est installée sur tous les ordinateurs.

  1. Copiez le fichier LAPS.x64.msi vers un partage réseau accessible par tous les ordinateurs du domaine.
  2. Ouvrez la gestion des stratégies de groupe (Group Policy Management) sur votre ordinateur d’administration et créez une GPO appelée Installer LAPS ou quelque chose de similaire.
Creating GPO called Install LAPS

3. Cliquez avec le bouton droit sur la GPO Installer LAPS, cliquez sur Modifier et accédez à Configuration de l’ordinateur —> Stratégies —> Paramètres du logiciel —> Installation de logiciels.

LAPS GPO Software Installation

4. Cliquez avec le bouton droit sur Installation de logiciels et accédez à Nouveau—> Package…

GPO New Package

5. Accédez au partage où vous avez copié LAPS.x64.msi, sélectionnez-le, cliquez sur OK et choisissez Assigné.

Assigning LAPS.x64.msi

6. Liez maintenant la GPO aux mêmes OUs que vous avez configurés pour LAPS. Vous êtes maintenant prêt à tester LAPS!

Test de LAPS

Pour vous assurer que LAPS fonctionne comme prévu sur les ordinateurs contrôlés, forcez l’application de la GPO susmentionnée sur l’un des ordinateurs et observez ce qui se passe.

  1. Redémarrez un ordinateur situé sous l’une des OUs que vous avez configurées. Une fois redémarré, l’ordinateur devrait commencer à installer LAPS.
  2. Une fois LAPS installé sur l’ordinateur, redémarrez la machine une fois de plus et ouvrez une console PowerShell en tant qu’administrateur sur votre ordinateur d’administration avec un compte membre des groupes AD LAPS Workstation Password Read et LAPS Workstation Password Reset.
  3. Exécutez la commande Get-AdmPwdPassword <nom_ordinateur> en utilisant le nom de l’ordinateur que vous venez de redémarrer et sur lequel vous avez installé LAPS. Si tout s’est bien passé, vous verrez quelque chose de similaire à la sortie dans la capture d’écran suivante.
LAPS Installation Output

4. Maintenant, essayez de vous connecter à l’ordinateur contrôlé par LAPS avec le mot de passe affiché ci-dessus. Si cela fonctionne, vous devriez être connecté.
5. Maintenant, essayez de réinitialiser le mot de passe en exécutant la commande Reset-AdmPwdPassword <nom_ordinateur> et redémarrez l’ordinateur. Voyez comment les mots de passe ont changé dans la capture d’écran suivante ?

LAPS Password Reset

Vous avez maintenant LAPS fonctionnant dans votre environnement. Et bien que l’administration soit assez facile, il y a quelques choses que vous devriez savoir…

Astuces et astuces pour utiliser LAPS dans la vraie vie

Alors que la configuration décrite ci-dessus est suffisante pour la plupart des environnements plus petits, elle peut être trop peu sécurisée ou ne pas offrir le niveau d’audit nécessaire pour les grandes organisations. Voici quelques conseils pour le faire fonctionner dans le monde réel.

1. Activez l’audit

L’audit lorsque quelqu’un lit ou réinitialise un mot de passe est important, surtout compte tenu du fait que vous pouvez y associer des alarmes si quelqu’un lit le mot de passe de tous les ordinateurs. Heureusement, le module AdmPwd nous fournit une cmdlet pour activer cela.

PS> Set-AdmPwdAuditing -AuditedPrincipals Everyone -OrgUnit "OU=Workstations,DC=contoso,DC=com"

2. Assurez-vous qu’aucun utilisateur ne peut lire directement l’attribut AD ms-mcs-AdmPwd

Une façon de s’assurer qu’un utilisateur ne peut pas lire l’attribut AD ms-mcs-AdmPwd consiste à créer une méthode d’auto-assistance pour obtenir le mot de passe administrateur local d’un ordinateur. Bien que cela soit hors de portée de cet article, consultez des outils tels que JEA ou WebJEA si vous n’avez pas de portail d’auto-assistance existant adapté à cela.

3. Réinitialisez l’attribut Ms-Mcs-AdmPwdTime lors de l’imagerie disque

N’oubliez pas de réinitialiser l’attribut Ms-Mcs-AdmPwdTime lors de la réimagerie d’un ordinateur contrôlé par LAPS, sinon il ne déclenchera pas le changement de mot de passe et conservera le mot de passe administrateur local donné par l’image. Cependant, il se déclenchera après l’expiration de Ms-Mcs-AdmPwdTime.

Vous pouvez utiliser la commande PowerShell suivante pour réinitialiser ExpirationTime sans le module AdmPwd :

# Avec RSAT 
Get-ADComputer Workstation1 | Set-ADObject -Replace @{"ms-mcs-AdmPwdExpirationTime"=(Get-Date)} 

# Sans RSAT
$Computer = New-Object DirectoryServices.DirectoryEntry "LDAP://CN=Workstation1,OU=Workstations,DC=contoso,DC=com"
$Computer.'ms-Mcs-AdmPwdExpirationTime'.Clear()
$Computer.CommitChanges()

4. N’oubliez pas que l’attribut ms-Mcs-AdmPwd reste dans la corbeille AD

Lorsque vous supprimez un objet dans AD et que la corbeille AD est activée, AD supprime généralement des attributs importants ; heureusement, ms-Mcs-AdmPwd est protégé contre cela !

5. LAPS n’est pas destiné à un accès temporaire

Bien que tentant, LAPS n’est pas destiné à donner un accès temporaire aux fournisseurs, utilisateurs et autres types de comptes. Au lieu d’utiliser LAPS, utilisez un groupe AD qui est administrateur local de cet ordinateur spécifique et utilisez TimeToLive sur les adhésions au groupe.

Conclusion

Vous avez maintenant appris comment déployer LAPS, définir ses autorisations et quelques astuces pour le rendre plus sécurisé. Avec un environnement où LAPS est déployé, le mot de passe de l’administrateur local change régulièrement et automatiquement. Cela réduit considérablement les risques qu’un ordinateur joint au domaine soit pris en main par des pirates ou des logiciels malveillants, et espérons que cela vous évitera beaucoup de maux de tête.

Si vous avez des questions, n’hésitez pas à me tweeter à @AlexAsplund ou à laisser un commentaire ci-dessous.

Source:
https://adamtheautomator.com/microsoft-laps/