21/05/2024

Installation de LAPS sur un contrôleur de domaine

La présentation de LAPS étant faite, nous allons pouvoir mettre en place la solution sur notre infrastructure. Pour ma part, je vais procéder à l'installation de LAPS directement mon contrôleur de domaine, et cette installation va se dérouler en plusieurs étapes :

  • Installation de l'outil LAPS sur le contrôleur de domaine (faisant office de serveur de management)
  • Préparer l'Active Directory et étendre le schéma
  • Préparer la GPO de configuration de LAPS
  • Déployer le client LAPS sur les machines à gérer

Dans ce chapitre, nous allons traiter les deux premières étapes, puis les deux dernières dans les chapitres qui vont suivre.

Avant de commencer, téléchargez LAPS gratuitement sur le site de Microsoft : Télécharger LAPS. Vous devez télécharger à minima "LAPS.x64.msi" pour les machines 64 bits et "LAPS.x86.msi" pour les machines 32 bits, en fonction de vos besoins.

Téléchargement de LAPS
Téléchargement de LAPS

I. Installation de LAPS

Sur le contrôleur de domaine, nous allons installer les outils de gestion LAPS. Cela pourrait être installé sur un autre serveur où vous avez les outils d'administration Active Directory déjà installés.

Exécutez le package MSI correspondant à la version de Windows de votre serveur : 32 bits ou 64 bits. Vous allez voir, l'installation est simple et s'effectue en quelques clics... Cliquez sur "Next".

Cochez l'option "I accept the terms in the License Agreement" et cliquez sur "Next".

Ensuite, vous devez installer tous les outils d'administration (comme sur l'image ci-dessous) et vous pouvez désélectionner l'entrée "AdmPwd GPO Extension" car elle n'est pas utile sur le contrôle de domaine. En fait, le composant "AdmPwd GPO Extension" doit être déployé sur l'ensemble des machines à gérer via LAPS. Poursuivez.

Voici l'utilité des différents outils de gestion :

  • Fat client UI : outil graphique pour la gestion de LAPS
  • PowerShell module : commandes PowerShell pour LAPS
  • GPO Editor templates : modèle ADMX de LAPS

Démarrez l'installation, quelques secondes seront suffisantes. Cliquez sur "Finish" une fois que c'est fait.

La première étape est faite, passons à la suite.

II. Préparation de l'Active Directory pour LAPS

La phase de préparation de l'Active Directory se déroule en plusieurs sous-étapes, dont voici la liste afin de vous donner un aperçu de ce que nous allons faire :

  • Mettre à jour le schéma Active Directory
  • Déléguer l'accès à certains objets "computers" pour qu'ils puissent mettre à jour le mot de passe et la date d'expiration dans l'annuaire Active Directory
  • Gérer les permissions par défaut / actuelles
  • Autoriser certains utilisateurs ou groupes de sécurité à lire les mots de passe
  • Autoriser certains utilisateurs ou groupes de sécurité à réinitialiser le mot de passe d'un ordinateur

A. Mettre à jour le schéma Active Directory

Ouvrez une console Windows PowerShell sur votre contrôleur de domaine. Il faut que ce soit un contrôleur de domaine en écriture (donc pas un RODC !) et qu'il dispose du rôle FSMO "Maître de schéma" puisque l'on va modifier le schéma Active Directory.

Si vous avez besoin de localiser le contrôleur de domaine qui dispose de ce rôle FSMO, voici une commande PowerShell qui vous donnera la réponse :

Get-ADForest | Select-Object Name, SchemaMaster

Cette modification du schéma Active Directory va ajouter deux attributs au sein des objets de la class "computers" :

- ms-MCS-AdmPwd : stocker le mot de passe en clair
- ms-MCS-AdmPwdExpirationTime : stocker la date d’expiration du mot de passe

Exécutez la commande suivante pour importer le module PowerShell de LAPS :

Import-Module AdmPwd.PS

Ensuite, exécuter la commande ci-dessous pour mettre à jour le schéma AD :

Update-AdmPwdADSchema

La commande doit retourner trois lignes avec le statut "Success" à chaque fois.

Mise à jour du schéma AD pour LAPS
Mise à jour du schéma AD pour LAPS

Si l'on ouvre la console "Utilisateurs et ordinateurs Active Directory" et que l'on regarde les propriétés d'un ordinateur membre du domaine, on peut voir la présence des deux nouveaux attributs. Voici un exemple :

Attributs AD de LAPS
Attributs AD de LAPS

B. Attribuer les droits d'écriture aux machines

Les machines qui doivent être managées via LAPS ont besoin de mettre à jour les attributs ms-MCS-AdmPwdExpirationTime et ms-MCS-AdmPwd au sein de notre annuaire Active Directory. Sinon, il ne sera pas possible de stocker dans l'AD la date d'expiration et le mot de passe.

Le module LAPS de PowerShell contient un cmdlet pour réaliser cette action. Pour l'utiliser, c'est tout simple puisqu'il suffit d’indiquer le nom de l’OU cible. Pour ma part, je vais cibler l'OU "PC" (visible sur la copie d'écran ci-dessus) car elle contient les machines que je souhaite gérer avec LAPS. Je vous recommande de préciser le DistinguishedName de l'OU pour être sûr de cibler la bonne OU, sauf si vous êtes sûr qu'il n'y en a qu'une seule qui a ce nom.

Set-AdmPwdComputerSelfPermission -OrgUnit "OU=PC,DC=it-connect,DC=local"

On obtient un retour dans la console avec le statut "Delegated".

Déléguer l'accès en écriture pour LAPS
Déléguer l'accès en écriture pour LAPS

C. Gérer les permissions par défaut / actuelles

En fonction de la configuration de votre annuaire Active Directory, certains utilisateurs ou groupes ont probablement les permissions pour lire les attributs étendus. Afin d'éviter que les attributs créés par LAPS soient accessibles par n'importe qui, nous devons contrôler et adapter les permissions. Nous devons retirer les permissions aux utilisateurs/groupes qui ont accès aux attributs étendus sur l'OU "PC", s'il y a des entrées correspondantes à des utilisateurs non habilités.

Plutôt que de parcourir les droits via l'interface graphique, on peut s'appuyer sur PowerShell pour visualiser quels sont les comptes qui ont un accès à ces attributs étendus. Pour ma part, je vais auditer l'OU "PC" qui contient mes postes à manager avec LAPS.

Find-AdmPwdExtendedrights -Identity "PC" | Format-Table

Je peux voir que les membres du groupe "Admins du domaine" ont un accès à ces informations : c'est normal, c'est la configuration par défaut.

LAPS : accès aux attributs étendus de l'AD
LAPS : accès aux attributs étendus de l'AD

Voyons comment gérer cette permission...

Ouvrez la console "Modification ADSI" puis effectuez un clic droit sur "Modification ADSI" afin de cliquer sur "Connexion". Une fenêtre s'ouvre... Laissez le choix par défaut, à savoir "Contexte d'attribution de noms par défaut" et validez.

Ensuite, parcourez l'Active Directory jusqu'à trouver l'OU qui contient les ordinateurs managés par LAPS (et donc qui vont venir écrire leur mot de passe). Effectuez un clic droit sur cette OU, pour ma part c'est l'OU "PC" et accédez aux propriétés via un clic droit.

Cliquez sur l'onglet "Sécurité" puis sur le bouton "Avancé". Ensuite, si l'on souhaite retirer les droits, par exemple sur le groupe "Utilisateurs authentifiés" (même si ici ils n'ont pas les droits, c'est un exemple...), il suffit de sélectionner "Utilisateurs authentifiés" dans la liste et cliquer sur le bouton "Modifier". Il ne reste plus qu'à décocher les droits "Tous les droits étendus".

 

Sélectionnez dans la liste l’utilisateur ou le groupe qui ne doit pas être capable de visualiser les mots de passe, et retirer l’autorisation « Tous les droits étendus » (si elle est active). Cette permission permet de lire la valeur de l’attribut ms-MCS-AdmPwd et les paramètres confidentiels.

D. Ajouter des autorisations de lire le mot de passe LAPS

Au sein de l'annuaire Active Directory, je dispose d'un groupe nommé "GG-Adm-LAPS" qui contient tous les utilisateurs qui doivent être en mesure de lire le mot de passe LAPS de chaque ordinateur (correspondant au compte Administrateur local de la machine).

Pour ajouter l'autorisation de lire le mot de passe, nous allons utiliser le cmdlet "Set-AdmPwdReadPasswordPermission" avec deux paramètres qui vont permettre de préciser l'OU (-Identity) et le nom du groupe (ou l'utilisateur) à autoriser (-AllowedPrincipals). Ce qui donne :

Set-AdmPwdReadPasswordPermission -Identity "OU=PC,DC=it-connect,DC=local" -AllowedPrincipals "GG-Adm-LAPS"

Le tour est joué, passons à la suite.

E. Ajouter des autorisations de réinitialisation le mot de passe LAPS

En fonction de l'organisation du service informatique de votre entreprise, peut-être que les administrateurs et les techniciens du support sont différents, et qu'ils ont des autorisations différentes. On peut imaginer avoir deux groupes pour les autorisations LAPS : un groupe qui permet de lire le mot de passe et un second groupe qui permet en plus la réinitialisation du mot de passe. Dans le cadre de ce cours, je vais continuer d'utiliser le groupe "GG-Adm-LAPS".

Le cmdlet pour cette autorisation se nomme "Set-AdmPwdResetPasswordPermission" et il fonctionne comme le cmdlet précédent. Ce qui donne :

Set-AdmPwdResetPasswordPermission -Identity "OU=PC,DC=it-connect,DC=local" -AllowedPrincipals "GG-Adm-LAPS"

Les autorisations sont effectives et s'appliquent au groupe "GG-Adm-LAPS" :

Set-AdmPwdReadPasswordPermission et Set-AdmPwdResetPasswordPermission
Set-AdmPwdReadPasswordPermission et Set-AdmPwdResetPasswordPermission

Si vous utilisez deux groupes, vous pouvez les préciser dans la même commande en les séparant par une virgule. Voici un exemple :

Set-AdmPwdResetPasswordPermission -Identity "OU=PC,DC=it-connect,DC=local" -AllowedPrincipals "GG-Adm-LAPS-Read","GG-Adm-LAPS-Reset"

Vous devez répéter cette opération via ces deux commandes sur toutes les OU qui contiennent des machines que vous souhaitez gérer avec LAPS. Attention, ces autorisations s'appliquent sur les sous-OU, donc si je crée une OU sous mon OU "PC", ce sera automatiquement appliqué.

Note : si vous relancez la commande "Find-AdmPwdExtendedrights" que l'on a utilisée précédemment, vous allez remarquer la présence du groupe "GG-Adm-LAPS".

En complément, il est fortement recommandé de configurer l'annuaire Active Directory pour interdire les utilisateurs d'ajouter des ordinateurs au domaine : sinon l'utilisateur disposera des droits pour lire le mot de passe de l'ordinateur qu'il a ajouté lui-même au domaine. Par défaut, chaque utilisateur peut ajouter jusqu'à 10 machines au domaine (selon un quota définit au sein de l'attribut msDS-MachineAccountQuota) sans avoir besoin des droits d'administrateur au niveau du domaine. Voir ce tutoriel.

Note : la présence d'un contrôleur de domaine en lecture seule (RODC) au sein de votre infrastructure n'est pas à exclure. Si c'est le cas, vous devez envisager de répliquer l'attribut "ms-Mcs-AdmPwd" de votre schéma Active Directory en le marquant comme confidentiel. Pour cela, suivez cette documentation de Microsoft.

La configuration de notre Active Directory pour LAPS est terminée, passons au chapitre suivant : la configuration de la GPO LAPS.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail