[TUTO] – LAPS – Sécuriser le mot de passe administrateur local

0 Flares Filament.io 0 Flares ×

Cet article fait suite à un audit sécurité réalisé chez un client, à la suite duquel, j’ai du proposé une solution afin de modifier la gestion du compte “Administrateur local” et plus particulièrement la méthode de mise à jour du mot de passe de ce dernier. En effet, si ce dernier est transmis par l’intermédiaire d’une GPO, un, il est transmis en clair, deux, le même mot de passe se retrouve alors sur toutes les machines du domaine.
Microsoft à déployé une mise à jour qui rend impossible l’utilisation de ce procédé puisque la case “Mot de passe” est désormais grisée.

Pour répondre au besoin du client, j’ai donc fais quelques recherche et je suis tombé sur un produit appelé ADMPWD (à l’époque). Développé par Jiri Formacek ce produit permet de transmettre un mot de passe différent pour chaque machine du domaine et de stocker ce mot de passe dans l’Active Directory, directement dans l’objet “Computer”.

 

Disponible en 2 versions

paid-vs-free

Une version “gratuite” incluant les fonctions de base :

  • Envoi des mots de passe par GPO (non crypté)
  • Stockage des mots de passe dans l’AD
  • Utilisation du module “client” pour lire et reset le mot de passe

Une version “payante“, accessible par l’intermédiaire du contrat Microsoft Support Premier

  • Envoi des mots de passe par GPO de manière crypté
  • Historisation des mots de passe
  • Plateforme web de récupération de mot de passe

Tout ça pour dire que ce petit produit, léger et facile à mettre en place a été repris par Microsoft et s’appelle désormais LAPS (Local Administrator Password Support). Il est proposé au téléchargement ici

Après cette petite introduction, je vais maintenant vous expliquer, comment mettre en place cette solution au sein de votre environnement. N’ayant pas de contrat Microsoft Support Premier sous la main, je me contenterai de la version gratuite de l’outil.
 

Installation

Partie serveur

Le logiciel requiert .Net Framework 4.0 au minimum, disponible ici, le controleur de domaine sur lequel sera faite l’installation requiert le role “Maitre de schema”.
 

Installation des templates GPO, du module powershell et du client de gestion

LAPS_3

LAPS_4

LAPS_5

LAPS_6
 

Extension du schema

LAPS – Sécuriser le mot de passe administrateur local - 5
 

Ajout des droits sur l’Active Directory

LAPS_8

 

Creation de deux groupes pour gérer finement les accès

  • LAPS-READ_PASSWORD : Droit de lecture du mot de passe
  • LAPS-RESET_PASSWORD : Droit de reset du mot de passe

LAPS_9

 

Application des droits au groupe LAPS-READ_PASSWORD sur le container ou l’OU

LAPS_10
 
La ligne de commande ci-dessus, revient à ajouter, manuellement, le groupe dans l’onglet “Security” du container ou de l’OU

LAPS_11

LAPS_12

 

Faire la même chose pour le groupe LAPS-RESET_PASSWORD

LAPS_13

 

Création/Configuration de la GPO

LAPS_14

LAPS_15

 

Les paramètres LAPS se trouvent dans : Computer configuration > Policies > Administrative templates > LAPS

LAPS_16

 

On retrouve alors 4 paramètres :

  • Password settings (obligatoire): permet de definir la complexité des mots de passe, leur longueur, temps de validité etc…
  • Name of administrator account to manage (facultatif) :  permet de cibler un nom de compte administrateur autre que le compte d’origine
  • Do not allow password expiration time (facultatif): Autorise ou non de redefinir un mot de passe ayant une date d’expiration plus longue que le premier paramètre
  • Enable local admin password management (obligatoire) : Active ou non le paramètre pour gérer les mots de passe de manière sécurisé ou non

 

Ci-dessous un extrait des deux paramètres obligatoires :

LAPS_17

LAPS_18
 

Partie client

Coté client il va falloir relancer l’exécutable .msi et installer uniquement le premier petit module comme sur la capture ci-dessous, cela permettra au poste client de pouvoir communiquer avec l’AD et avec la GPO :

LAPS_19

 

Etant donné qu’il s’agit d’un .msi il est possible de le déployer facilement par GPO par exemple en executant un script avec la commande ci-dessous

 

Utilisation

Découverte du mot de passe et de la date d’expiration

Avec powershell

LAPS_20
 

Avec l’interface

LAPS_21
 

Dans les propriétés de l’objet

LAPS_22
 

Gestion

Gestion des droits

Nous allons voir 3 scénarios différents permettant de répondre aux besoins d’une hotline par exemple.

  • Scénario 1
  • Notre utilisateur à la hotline est membre du groupe LAPS-READ_PASSWORD, il ne pourra alors que lire le mot de passe sans le remettre à zero

    LAPS_23
     

  • Scenario 2
  • Notre utilisateur à la hotline est membre du groupe LAPS-RESET_PASSWORD, il ne pourra alors pas lire le mot de passe actuel mais pourra le remettre à zero

    LAPS_24
     

  • Scenario 3
  • Notre utilisateurs est responsable de la hotline par exemple et membre des groupes LAPS-READ_PASSWORD et LAPS-RESET_PASSWORD, il pourra alors lire le mot de passe actuel et le remettre à zero egalement

    LAPS_25

     

    Ce tuto est désormais terminé. Comme je le disais au début de l’article il s’agit la de la version “gratuite” mais qui permet deja de faire beaucoup de chose assez sympatique. Si vous avez des questions suite à ce tuto ou alors si vous utilisez un autre système pour sécuriser votre mot de passe administrateur local, alors n’hésitez pas à nous en faire part dans les commentaires !

    A bientot !

    Posted in Active Directory and tagged , , , , .
    Maxime
    Co-fondateur de Sys-advisor, ingénieur système dans la vraie vie.



    -->

    Laisser un commentaire

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