Sécurité : Protéger les comptes Administrateur local avec LAPS

I. Présentation de Local Administrator Password Solution

La sécurité de vos postes de travail Windows doit être régulièrement au cœur de vos préoccupations, notamment le compte Administrateur local, qui représente une porte d’entrée importante sur votre machine. La portée d’un compte administrateur local est limitée puisqu’il a des autorisations uniquement sur la machine en elle-même.

logo-laps1Néanmoins, il peut s’avérer intéressant de sécuriser le compte Administrateur local de vos postes de travail, par exemple en renommant ce compte, ou encore avec un mot de passe complexe, qui sera bien souvent identique sur la majorité des machines (pour simplifier l'administration, et notamment si on déploie les machines via des images modèles).

Pour répondre à ce besoin de sécurité, Microsoft met à disposition un outil gratuit nommé « Local Administrator Password Solution » que l’on appellera « LAPS » qui permet de gérer automatiquement le mot de passe du compte « Administrateur » local de toutes les machines de votre domaine. Avec LAPS, le mot de passe est :

- Unique sur chaque poste de travail géré
- Généré aléatoirement
- Stocké de manière sécurisée dans l’annuaire Active Directory

L’intérêt est que cette solution s’intègre parfaitement dans un annuaire Active Directory déjà en place, et il n’est pas nécessaire d’installer et de gérer une solution tierce. Pour fonctionner, LAPS s’appuie sur les stratégies de groupe, deux attributs dans l’annuaire et quelques DLL.

Pour fonctionner l’application nécessite d’être installée les deux parties : les postes clients et sur au moins un contrôleur de domaine. Ce qui permettra de générer un nouveau mot de passe sur une machine lorsqu’il est expiré et le stocker dans l’annuaire Active Directory directement au niveau de l’objet ordinateur concerné, au sein d’un attribut spécifique.

Le contrôle de domaine doit être au minimum sous Windows Server 2003 SP1 et les postes clients au minimum sous Windows Vista. Pour les outils d'administration, PowerShell 2.0 au minimum et le .NET Framework 4.0.

Télécharger LAPS

II. LAPS - Installation sur le contrôleur de domaine

On commence par installer LAPS sur un contrôleur de domaine. Ce contrôleur de domaine doit être « Maître de Schéma » car il y a une mise à jour du schéma à faire à la suite de l’installation.
L’installation est très simple, suivez l’assistant jusqu’à l’étape de sélection des composants...

laps1

Étant donné que l’on se trouve sur le contrôleur de domaine, il est nécessaire d’installer les outils de gestion (Management Tools).

- Fat Client UI : Une interface qui permet de visualiser les mots de passe et options de façon graphique
- PowerShell module : Indispensable pour intégrer LAPS dans son infrastructure (AdmPwd.PS)
- GPO Editor Template : Intégration de paramètres GPO pour LAPS, via un fichier ADMX

Poursuivez la suite de l’installation, qui est classique et sans option particulière.

laps2

Avant de poursuivre la configuration du serveur, on va faire un saut sur la configuration des postes clients.

III. LAPS - Installation du client

« Local Administrator Password Solution » se présente sous la forme d’un package MSI, ce qui permet de le déployer facilement sur diverses machines via GPO, sinon on exécute l’installation en locale.

Pour procéder à une installation silencieuse (adaptez le chemin vers le fichier MSI) :

msiexec /i C :\LAPS.x64.msi /quiet

Si le fichier MSI se situe sur un partage, ça marche aussi bien entendu (intéressant pour scripter). Par exemple :

msiexec /i \\serveur\partage\LAPS.x64.msi /quiet

L’installation par défaut n’intègre pas les outils de gestion, ce qui permet de réaliser l’installation en mode silencieux. Dans la liste des programmes, LAPS apparaît bien suite à l’installation :

laps3

Pour le client, c’est tout il n’y a rien à faire d’autres. Enfin si, vous pouvez vérifier que le compte Administrateur local est bien actif sur la machine, au cas où.

IV. LAPS - Préparation du schéma Active Directory

Pour le bon fonctionnement de LAPS, le schéma de l’annuaire Active Directory doit être modifié afin d’ajouter deux nouveaux attributs :

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

Pour réaliser l’opération, il suffit d’exécuter deux commandes, la première pour charger le module PowerShell, la seconde pour déclencher la modification :

Import-Module AdmPwd.PS
Update-AdmPwdADSchema

Ce qui donnera le résultat suivant :

laps7

S’il y a un RODC dans votre infrastructure, prenez en considération cet article du TechNet pour intégrer les nouveaux attributs dessus : RODC LAPS

V. Les permissions – ACLs

Nous allons voir une série d’ajustement à effectuer au niveau des permissions pour que LAPS fonctionne et que ce soit sécurisé. Dans cet exemple, on appliquera les droits sur une OU nommée « Informatique » et qui contient un poste de travail nommé « WORK01 », faisant office de poste de travail de test pour ce tutoriel.

L’objectif sera de donner les droits au groupe « Admins du domaine » pour qu’il puisse avoir accès à la consultation des mots de passe, ainsi qu’à la modification notamment de la date d’expiration.

La procédure n’est pas généralisée pour tout l’annuaire, à chaque fois vous verrez que l’on cible une unité d’organisation en particulier. Ceci permet de gérer les autorisations finement, selon le niveau de l’OU dans l’arborescence.

A. Retirer les autorisations étendues

Certains groupes et utilisateurs sont en mesures de disposer d’autorisations étendues au sein de l’annuaire, ce qui permet de consulter la valeur de certains attributs, notamment ceux ajouté par LAPS.

Pour gérer ces droits, ouvrez la console ADSI avec le module « Contexte d’attribution de noms par défaut ». On effectue un clic droit sur l’OU « Informatique » et on accède aux propriétés.

laps8

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.

A l’inverse donnez cette autorisation au groupe ou à l’utilisateur qui doit être capable de consulter cet attribut. Je précise que les « Admins du domaine » ont par défaut cette autorisation.

laps9

Après avoir effectué vos différents changements, validez et passez sur une console PowerShell.

Pour visualiser qui dispose des droits étendus sur une unité d’organisation, le module PowerShell de LAPS intègre une commande adaptée. Il suffit d’ajouter le nom de l’OU à la suite du paramètre « Identity ».

Find-AdmPwdExtendedRights -Identity informatique | ft ExtendedRightHolders

laps10

Cette première phase est terminée, passons à la seconde !

B. Donner les droits d’écriture aux machines

Les machines doivent être en mesure de mettre à jour les attributs ms-MCS-AdmPwdExpirationTime et ms-MCS-AdmPwd dans l’annuaire Active Directory, notamment pour indiquer la date d’expiration à venir et de mettre à jour les mots de passe.

Il y a un commandlet PowerShell tout simple pour cela, où il suffit d’indiquer le nom de l’OU cible :

Set-AdmPwdComputerSelfPermission -OrgUnit Informatique

laps11

Répétez cette opération pour chaque unité d’organisation concernée.

C. Autoriser la visualisation du mot de passe

Maintenant, on va donner l’autorisation à un groupe, en l’occurrence « Admins du domaine » de visualiser les mots de passe des ordinateurs administrés et situés dans l’OU « Informatique ».

Set-AdmPwdReadPasswordPermission -OrgUnit Informatique -AllowedPrincipals "Admins du domaine" | ft Name, DistinguishedName, Status

laps12

D. Réinitialisation du mot de passe

Les utilisateurs sont susceptibles de modifier la date d’expiration d’un mot de passe sur un objet ordinateur spécifique, notamment pour forcer la réinitialisation du mot de passe. De ce fait, une autorisation d’écriture doit être ajoutée sur l’attribut « ms-MCS-AdmPwdExpirationTime ».

Pour définir cette autorisation, on fait à nouveau appel au PowerShell et plus particulièrement au commandlet « Set-AdmPwdResetPasswordPermission ». Deux paramètres seront à définir :

- L’unité d’organisation cible (qui contient les ordinateurs administrés via LAPS)
- L’utilisateur ou le groupe auquel il faut donner l’autorisation

Set-AdmPwdResetPasswordPermission -OrgUnit Informatique -AllowedPrincipals "Admins du domaine"

Il est important de préciser que lorsque le mot de passe est transféré entre la machine cliente et le contrôleur de domaine, il est protégé grâce au chiffrement Kerberos. Au niveau de l’annuaire, l’accès à l’attribut qui contient les mots de passe et géré par ACL.

Passons maintenant à la mise en place d’une stratégie de groupe qui permet de configurer LAPS sur les postes clients.

VI. Configurer la GPO « LAPS »

Désormais on va s’intéresser à la création de la GPO, puisque je vous rappelle que LAPS ajoute un fichier ADMX sur le serveur, ce qui ajoutera forcément de nouveaux paramètres. Ouvrez la console d’édition des stratégies de groupe et créez ou modifiez une stratégie de groupe (GPO).

laps13

Grâce au template ADMX ajouté lors de l’installation de LAPS, une nouvelle catégorie est disponible dans les paramètres liés à l’ordinateur. Elle s’appelle tout simplement « LAPS ».

laps14

Au menu, rien de monstrueux mais tout de même 4 paramètres à notre disposition :

- Password Settings : Définir la complexité du mot de passe, sa longueur et sa durée de vie

- Name of administrator account to manage : Définir un compte administrateur à configurer autre que le compte Administrateur intégré à Windows. En effet, le compte Administrateur BUILT-IN est automatiquement détecté, grâce au SID (Identifiant de sécurité unique) même s’il est renommé.

- Do not allow password expiration longer than required by policy : Ne pas autoriser une expiration du mot de passe plus longue que le permet la stratégie

- Enable local admin password management : Activer ou désactiver la gestion du mot de passe administrateur avec LAPS.

laps15

On commence par définir une stratégie quant à la complexité des mots de passe. Il suffit d’éditer et de configurer le paramètre « Password Settings ».

Avec la stratégie indiquée sur la copie d’écran ci-dessous, on obtient des mots de passe très complexes, comme « 6F5g@FRlb)1KE. »

laps16

Il convient également d’activer le paramètre « Enable local admin password management » sinon LAPS ne sera pas actif et ne gérera pas les mots de passe.

laps17

Les deux autres paramètres sont optionnels. Il ne reste plus qu’à effectuer une mise à jour de la stratégie de groupe sur les postes clients ciblés (gpupdate).

VII. Visualiser un mot de passe

Un point crucial de l’utilisation de cet outil : la visualisation des mots de passe. Connecté en tant qu’administrateur du domaine sur mon contrôleur de domaine, j’accède aux propriétés de mon poste client « WORK01 » après avoir passé la console en mode avancé (ceci permet de visualiser des onglets supplémentaires).

Dans l’onglet « Editeur d’attributs », on obtient la liste de tous les attributs de cet objet ordinateur, et on trouvera nos deux attributs LAPS. Comme on peut le voir dans la copie d’écran ci-dessous, le mot de passe apparaît en clair, et la date d’expiration est indiquée en timestamp. D’ailleurs, pour convertir le timestamp en valeur compréhensible il existe des convertisseurs en ligne, comme : EpochConverter

laps18

Lors de l’installation sur le serveur, on a installé divers outils de gestion dont « LAPS UI ». Cet outil très intéressant est plus efficace que la lecture des données dans l’annuaire.

Après l’avoir démarré, il suffit d’indiquer un nom d’ordinateur dans le champ « ComputerName » de cliquer sur « Search », et le mot de passe apparaîtra en clair ainsi que la date d’expiration directement traduite !

Intéressant aussi, la possibilité de définir une nouvelle date d’expiration voir même une réinitialisation immédiate en laissant vide, et en cliquant sur « Set ».

laps19

Ce tutoriel sur l’outil « Local Administrator Password Solution » touche à sa fin. J’estime que cet outil apporte un vrai plus en matière de sécurité avec cette gestion intelligente des mots de passe. De plus, il est simple à mettre en œuvre et s’appuie sur des fonctions natives de l’Active Directory et supportées intégralement par les postes clients.

Que pensez-vous de Local Administrator Password Solution, cet outil gratuit proposé par Microsoft ?

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Co-Fondateur d'IT-Connect, je souhaite partager mes connaissances et expériences avec vous, et comme la veille techno' est importante je partage aussi des actus.

florian a publié 1604 articles sur IT-Connect.See all posts by florian

13 réactions sur “Sécurité : Protéger les comptes Administrateur local avec LAPS

  • 08/07/2015 à 10:28
    Permalink

    Bonjour,

    J’ai voulu mettre en place cet utilitaire fort sympathique au sein de ma petite entreprise un peu etendue , une 50aine de postes assez éloigné , donc pas le temps de passer sur chaques postes mais j’ai rencontré un probleme dont je ne trouve pas la solution .

    une fois LAPS installé sur le DC , lorsque que je lance les commandes power shell suivantes

    Import-Module AdmPwd.PS
    pas de soucis mais lorsque je lance
    Update-AdmPwdADSchema
    j’ai une erreur PS C:\> Update-AdmPwdADSchema
    Update-AdmPwdADSchema : Une erreur de fonctionnement s’est produite.
    Au caractère Ligne:1 : 1
    + Update-AdmPwdADSchema
    + ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Update-AdmPwdADSchema], DirectoryOperationException
    + FullyQualifiedErrorId : System.DirectoryServices.Protocols.DirectoryOperationException,AdmPwd.PS.UpdateADSchema

    Je suis sous 2008R2 , avec PSV4 , Net Framework 4.5.2 , je suis l’administrateur du schema ainsi que celui du domaine , j’ai commencé par utiliser le compte nominatif que j’ai ajouté aux admins du schemas avant d’essayer le compte admin par defaut .

    Je lance bien le power shell en tant qu’admin .

    Je ne vois pas quoi dire d’autre .

    Des idées ?

    cordialement Mr Hell

    Répondre
    • 08/07/2015 à 11:10
      Permalink

      Bonjour,

      Votre configuration semble répondre au prérequis de LAPS, l’erreur est surprenante. Le serveur depuis lequel vous exécutez la commande dispose bien du rôle FSMO de maître de schéma ? Sinon, est-ce qu’il s’agit d’un serveur sous architecture Itanium (incompatible) ?

      Enfin, sur la page de téléchargement de LAPS lorsque l’on clic sur le bouton pour télécharger il est possible d’obtenir des docs techniques à propos de LAPS notamment avec des détails sur les prérequis (LAPS_Datasheet.docx, LAPS_OperationsGuide.docx, APS_TechnicalSpecification.docx).

      Si besoin, n’hésitez pas à venir au sein de notre forum 🙂
      Bon courage !
      Florian

      Répondre
  • 30/07/2015 à 14:42
    Permalink

    Avec IT-CONNECT on en apprend tous les jours.

    Encore un très bon article pour se coucher moins bête ce soir…

    Merci Florian!

    Répondre
  • 10/08/2015 à 10:48
    Permalink

    bonjour
    est ce qu’il y a une solution pour unifier le mot de passe local des administrateurs pour les machines clientes
    et merci

    Répondre
    • 03/05/2016 à 10:41
      Permalink

      +1 comment paramétrer un mot de passe identique sur tous les postes client?

      Répondre
      • 04/05/2016 à 22:43
        Permalink

        Bonjour,

        Pour paramétrer un mot de passe identique sur tous les postes clients, il n’y a pas d’intérêt à utiliser cette solution. Ceci est déjà intégré à Windows Server dans les GPO d’origine 😉

        Bon courage !
        Florian

        Répondre
      • 12/05/2016 à 15:19
        Permalink

        Bonjour,

        Ce n’est pas l’objectif de cet outil.
        Si vous voulez unifiez le mot de passe local des comptes administrateur, il faut rester sur une méthode classique : à savoir l’utilisation des GPOs.

        Répondre
  • 11/06/2016 à 22:36
    Permalink

    Une fois que le mot de passe administrateur a été dévoilé/utilisé, est-il possible d’automatiser que celui-ci soit remplacé par un nouveau?

    Comment gérer les situations où un poste n’est plus dans le domaine et a besoin d’être sortie puis réinscrit dans le domaine?

    Répondre
  • 18/04/2017 à 11:27
    Permalink

    Bonjour,

    est-ce que l’un de vous a testé LAPS avec des DC installés en Windows Server 2016 ?

    J’ai essayé dans différents environnements et j’ai toujours la même erreur lors de la mise à jour du schéma :

    Update-AdmPwdADSchema : The path is not of a legal form.
    At line:1 char:1
    + Update-AdmPwdADSchema
    + ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Update-AdmPwdADSchema], ArgumentException
    + FullyQualifiedErrorId : System.ArgumentException,AdmPwd.PS.UpdateADSchema

    La tentative est faite sur le FSMO SchemaMaster dans une console Powershell ouverte en administrateur.

    Je ne trouve pas d’infos sur le net à ce sujet.

    Merci de votre aide.

    Julien

    Répondre
  • 27/04/2017 à 12:42
    Permalink

    Bonjour à tous,

    Tout d’abord, Merci pour ce cours sur LAPS et pour le site de manière générale 🙂

    J’ai été confronté à cette erreur :

    Update-AdmPwdADSchema : An operation error occurred.
    At line:1 char:1
    + Update-AdmPwdADSchema
    + ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Update-AdmPwdADSchema], DirectoryOperationException
    + FullyQualifiedErrorId : System.DirectoryServices.Protocols.DirectoryOperationException,AdmPwd.PS.UpdateADSchema

    Et j’ai trouvé la solution (non sans mal :))
    Lors de l’installation de LAPS sur mon SRV2016 j’avais installé le composant AdmPwd GPO Extension.
    Il m’était alors impossible d’étendre le schéma.

    J’ai modifié l’install de LAPSx64 en désélectionnant ce composant, et là pouf, schéma étendu !

    En espérant que cela va vous aider 🙂

    Cordialement,
    John

    Répondre
  • 23/05/2017 à 11:51
    Permalink

    Bonjour,

    Avant tout je vous remercie pour ce beau travail,

    De mon coté j’ai mis en place cette solution, par contre j’ai eu problème le mot de passe administrateur du domaine a été changé.

    Est ce que cela est normale

    Cordialement,

    Répondre
  • 22/06/2017 à 14:48
    Permalink

    Bonjour,

    Super tuto, merci.

    Par contre, une fois l’installation de LAPS sur le contrôleur, le dossier de stratégies LAPS est introuvable…

    Quelqu’un a une idée ?

    Merci par avance.

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *