Adam the Automator

Comment gérez-vous actuellement les mots de passe des administrateurs Windows locaux ? Chaque système Windows en possède un et ils ont les clés du royaume de chaque PC. Comme les mots de passe des administrateurs locaux ne font pas partie d’Active Directory (AD), vous devez gérer chaque compte sur chaque ordinateur séparément. C’est une plaie.

La plupart du temps, les organisations n’y pensent pas trop et se contentent de définir un mot de passe administrateur standard sur chaque machine Windows. Cette pratique, bien que pratique, ouvre les organisations à un problème beaucoup plus grand lorsque ce mot de passe unique et maître est mis dans de mauvaises mains. Avoir un mot de passe administrateur local distinct sur chaque ordinateur n’empêche pas nécessairement un individu malveillant d’accéder à un PC, mais cela empêche considérablement l’exploitation latérale d’autres PC.

La solution Microsoft de mot de passe d’administrateur local (LAPS) peut aider.

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

Table des matières

Qu’est-ce que Microsoft LAPS ?

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

LAPS garantit que vous avez des mots de passe d’administrateur local randomisés à travers votre domaine et empêche les mouvements latéraux des pirates et des logiciels malveillants. Maintenant, vous pourriez penser qu’un long mot de passe d’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 tomber sur un identifiant d’administrateur de domaine en utilisant la même méthode. LAPS empêche cette activité en forçant les individus malveillants à découvrir un mot de passe pour chaque machine, individuellement.

LAPS en pratique

LAPS a trois parties principales:

Attributs AD verrouillés

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

Paramètres GPO

Pour provisionner LAPS sur un ordinateur et changer le mot de passe, LAPS dispose également d’un ensemble de paramètres GPO. Lorsque la GPO est liée à un ensemble d’ordinateurs, les paramètres 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.

Lorsque LAPS voit que la date actuelle dépasse la date d’expiration du mot de passe, il va :

  • Randomiser un nouveau mot de passe et le définir comme le mot de passe de l’administrateur local.
  • Écrire le nouveau mot de passe de l’administrateur local dans l’attribut Ms-Mcs-AdmPwd dans AD.
  • Ecrit 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, voyons réellement ce que LAPS peut faire ! La configuration de LAPS n’est pas compliquée mais nécessite quelques étapes que vous allez apprendre dans ce tutoriel. Ce sont :

  1. Installer les outils de gestion LAPS sur votre machine d’administration.
  2. Etendre le schéma AD pour ajouter les deux attributs AD personnalisés que LAPS utilise.
  3. Définir les privilèges appropriés pour les différents composants dans AD.
  4. Construire la GPO LAPS qui sera appliquée aux ordinateurs Windows.
  5. Déploiement de l’extension GPO LAPS sur les ordinateurs Windows applicables.

Une fois que vous êtes avec les étapes ci-dessus, vous aurez un environnement LAPS entièrement fonctionnel configuré et prêt à fonctionner !

Prérequis

Dans cet article, vous allez configurer LAPS pour de vrai. Si vous souhaitez suivre, assurez-vous d’abord de remplir quelques conditions préalables.

  • Un domaine AD (2003 et supérieur)
  • Un ordinateur fonctionnant sous Windows (10 ou Server 2012+ est recommandé) a RSAT pour Active Directory installé.
  • Avoir accès à un compte qui est à la fois membre des groupes AD Domain Admins et Schema Admins.

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

La meilleure pratique pour le groupe admin de schéma est de n’en être membre que lorsque vous avez besoin des autorisations.

Installation des outils de gestion Microsoft LAPS

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

  1. Débutez en téléchargeant le fichier LAPS.x64.msi et lancez-le en tant qu’administrateur, puis cliquez sur Suivant.

Installation de Microsoft LAPS

2. Appuyez sur Next jusqu’à ce que vous arriviez à la configuration personnalisée puis cliquez sur Management Tools and Entire feature sera installé 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 alors sélectionnez AdmPwd GPO Extension.

Cliquez sur Management Tools

3. Cliquez sur Next jusqu’à ce que l’installation se termine et quittez le programme d’installation.

Vous avez maintenant installé les extensions GPO de LAPS (si elles ont été sélectionnées) et ses 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. Débutez en ajoutant un membre des groupes Admins du domaine au groupe Admins du schéma si le compte n’en est pas déjà membre. Nous appellerons cela votre « compte admin ».
  2. Démarrez PowerShell en tant que votre compte admin 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.
Compte Admin Powershell

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

Configuration des permissions Active Directory

Chaque ordinateur doit pouvoir mettre à jour son mot de passe d’administrateur local et son attribut AD de temps d’expiration. Pour ce faire, chaque ordinateur doit avoir la permission d’auto-écriture 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

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

Dans PowerShell, exécutez Set-AdmPwdComputerSelfPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' en vous souvenant de mettre à jour votre OU et votre nom de domaine spécifiques.

Mettre à jour le OU et le nom de domaine

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

Verrouiller les attributs AD en trouvant des droits étendus

Pour vous assurer que seuls les utilisateurs et les groupes que vous voulez ont les autorisations de lire et de réinitialiser le mot de passe de l’administrateur local de chaque ordinateur, vous devez auditer qui y a accès. Plus précisément, vous devez savoir que seuls les comptes qui doivent avoir des « droits étendus » l’ont.

Pour trouver les comptes avec des droits étendus, exécutez Find-AdmPwdExtendedRights -OrgUnit 'OU=Workstations,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders en vous assurant de remplacer votre OU et votre 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 le OU des postes de travail.

Workstations OU

La permission MDT-service a effectivement besoin du droit étendu, mais pas joe-the-admin. Vous devez maintenant supprimer la permission pour joe-the-admin.

Vous devrez répéter ce processus pour tous les OU sur lesquels vous avez défini la permission d’auto-écriture dans une étape précédente.

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 réellement.

  1. Ouvrez Active Directory Users And Computers et cliquez sur View dans le menu supérieur et assurez-vous que les fonctionnalités avancées sont activées. Lorsque vous activez les fonctionnalités avancées, vous verrez tous les OU typiquement cachés comme indiqué dans la capture d’écran suivante.
Hidden OUs

2. Faites un clic droit sur l’OU sur lequel vous voulez supprimer le droit étendu et cliquez sur Propriétés.

Clic droit sur l’OU à supprimer

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

Onglet Sécurité pour la suppression du compte

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

Donner la permission 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 de l’administrateur local appelés LAPS Workstations Password Read et LAPS Workstations Password Reset.

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

Avec une console PowerShell toujours ouverte avec votre compte admin, entrez les commandes suivantes pour donner aux deux groupes AD la permission de lire le mot de passe de l’administrateur local pour les ordinateurs de l’OU Workstations.

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 de l’administrateur local pour les ordinateurs de l’OU Workstations. Vous devez maintenant ajouter les administrateurs ou les groupes requis 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.

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

  1. Choisissez un contrôleur de domaine dans AD ; n’importe quel contrôleur de domaine fonctionnera.
  2. Assurez-vous qu’un \\\contoso.com\SYSVOL\Policies\PolicyDefinitions existe. Si ce n’est pas le cas, créez-le maintenant.
  3. Copiez le contenu de C:\Windows\PolicyDefinitions sur votre ordinateur d’administration (celui sur lequel vous avez installé LAPS) vers le dossier \contoso.com\SYSVOL\Policies\PolicyDefinitions sur le contrôleur de domaine.

Création de la GPO

Copions maintenant les modèles de GPO LAPS vers le magasin central (dossier PolicyDefinitions).

  1. Ouvrez la gestion des politiques de groupe sous votre compte administrateur,cliquez avec le bouton droit de la souris sur le OU dans lequel vous voulez activer LAPS et cliquez sur Lier une GPO existante…
Gestion des politiques de groupe

2. Naviguez vers Configuration de l’ordinateur -> Modèles d’administration -> LAPS et définissez Activer la gestion des mots de passe de l’administrateur local sur Activé. Si vous avez des exigences différentes pour la complexité du mot de passe, modifiez les paramètres du mot de passe en conséquence.

Lier le GPO à tous les OU

Vous avez presque terminé ! Maintenant, liez cette GPO à tous les OUs dans lesquels vous voulez utiliser LAPS.

Déploiement de l’extension GPO LAPS

Une fois que la GPO est appliquée à tous les OUs applicables avec des ordinateurs dedans, vous devez maintenant déployer l’extension GPO LAPS. Vous avez deux façons différentes d’installer cette extension en installant le MSI (comme indiqué précédemment) ou 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 la 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 dont vous disposez pour exécuter ces commandes sur les ordinateurs.

Déploiement du MSI LAPS avec une GPO

L’utilisation d’une GPO est la méthode la plus simple pour s’assurer que l’extension GPO LAPS est installée sur tous les ordinateurs.

  1. Copier LAPS.x64.msi sur un partage réseau accessible par tous les ordinateurs du domaine.
  2. Ouvrir la gestion des stratégies de groupe sur votre ordinateur d’administration et créer une GPO appelée Installer LAPS ou quelque chose de similaire.
Créer une GPO appelée Installer LAPS

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

LAPS GPO Installation du logiciel

4. Cliquez avec le bouton droit sur Installation du logiciel et naviguez jusqu’à Nouveau-> Paquet…

GPO Nouveau Paquet

5. Naviguez jusqu’au partage où vous avez copié LAPS.x64.msi, sélectionnez-le, cliquez sur OK et sélectionnez Assigned.

Assigning LAPS.x64.msi

6. Reliez maintenant la GPO aux mêmes OU que ceux pour lesquels vous avez configuré LAPS. Vous êtes maintenant prêt à tester LAPS!

Tester LAPS

Pour s’assurer que LAPS fonctionne comme prévu sur les ordinateurs contrôlés, forçons maintenant l’un des ordinateurs à appliquer la GPO susmentionnée et voyons ce qui se passe.

  1. Redémarrez un ordinateur qui est situé sous l’un des OU que vous venez de configurer. Une fois redémarré, l’ordinateur devrait commencer à installer LAPS.
  2. Une fois que LAPS est 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 en tant que compte membre des groupes AD LAPS Workstation Password Read et LAPS Workstation Password Reset .
  3. Exécutez la commande Get-AdmPwdPassword <computername> en utilisant le nom de l’ordinateur sur lequel vous veniez de redémarrer et d’installer LAPS. Si tout s’est bien passé, vous verrez quelque chose de similaire à la sortie dans la capture d’écran suivante.

Sortie de l’installation de LAPS

4. Essayez maintenant de vous connecter à l’ordinateur contrôlé par LAPS avec le mot de passe affiché ci-dessus. Si cela a fonctionné, vous devriez être connecté.
5. Essayez maintenant de réinitialiser le mot de passe en exécutant Reset-AdmPwdPassword <ComputerName> et en redémarrant l’ordinateur. Voyez comment il a changé les mots de passe dans la capture d’écran suivante?

Réinitialisation du mot de passe LAPS

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

Trucs et astuces pour utiliser LAPS pour de vrai

Bien que la configuration couverte ci-dessus soit suffisante pour la plupart des petits environnements, elle pourrait ê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 si l’on considère que vous pouvez y accrocher des alarmes si quelqu’un lit le mot de passe de tous les ordinateurs. Heureusement, le module AdmPwd nous fournit un cmdlet pour permettre cela.

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

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

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

3. Réinitialiser l’attribut Ms-Mcs-AdmPwdTime pendant l’imagerie du disque

Vous devez vous rappeler 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. Il se déclenchera cependant après l’expiration du Ms-Mcs-AdmPwdTime.

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

# With RSAT Get-ADComputer Workstation1 | Set-ADObject -Replace @{"ms-mcs-AdmPwdExpirationTime"=(Get-Date)} # Without RSAT$Computer = New-Object DirectoryServices.DirectoryEntry "LDAP://CN=Workstation1,OU=Workstations,DC=contoso,DC=com"$Computer.'ms-Mcs-AdmPwdExpirationTime'.Clear()$Computer.CommitChanges()

4. Rappelez-vous 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é de cela !

5. LAPS n’est pas pour l’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 un administrateur local de cet ordinateur spécifique et utilisez TimeToLive sur les appartenances de groupe.

Conclusion

Vous avez maintenant appris à déployer LAPS, à définir ses permissions et quelques conseils et astuces pour le rendre plus sûr. Avec un environnement où LAPS est déployé, tous les mots de passe de l’administrateur local changent régulièrement et automatiquement. Cela réduit considérablement les risques de voir un ordinateur relié à un domaine pris en charge par des pirates ou des logiciels malveillants et, espérons-le, cela vous évite de nombreux maux de tête.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.