Search This Blog

vendredi 2 juin 2017

Découverte et mise en place de Microsoft LAPS

Bonjour à tous,

On est reparti avec les articles, nous allons voir aujourd'hui Microsoft LAPS.


Introduction :

La sécurité des postes de travail et serveurs Windows doit être une priorité pour un système d’information, une des brèches de sécurité, est le compte administrateur local d’un poste de travail ou un serveur, car celui-ci est souvent activé chez de nombreux clients, de plus, le mot de passe de ce fameux compte, est le même partout, ce qui représente une faille de sécurité assez importante.


De nombreux clients, commencent à se pencher sur le sujet, et essayent d’administrer ce fameux compte « administrateur local » d’une station de travail ou serveur de manière centralisée et surtout sécurisée, pour cela différentes solutions existent sur le marché.


Microsoft LAPS 

Microsoft a mis à disposition, un outil simple et efficace qui permet de répondre à la problématique de gestion de compte administrateur local.


Microsoft LAPS (Local Admin Password Solution) est un outil qui permet une gestion de mot de passe du compte administrateur local (poste de travail et serveur), ces machines doivent bien entendu faire partie d’un domaine Active Directory. 

En d’autres termes Microsoft LAPS permet d’avoir un mot de passe local unique par machine avec une gestion centralisée via des stratégies de groupe.


Le fonctionnement de Microsoft LAPS 

Outil avantageux qui fonctionnent avec Active directory, ce qui permet de s’affranchir d’une infrastructure lourde, sa configuration est basée sur les stratégies de groupes (GPOs).

Microsoft LAPS, est une application qui doit être installée sur l’Active directory et sur tous les postes et serveurs sur les quelles on souhaite administrer les mot de passe du compte administrateur local, l’application est livrée sous forme (.MSI) donc facilement déployable via SCCM, Altiris.

On aura donc deux parties, une partie serveur sur l’AD et une partie client, sur le client, on aura un composant qui va mettre à jours le mot de passe et l’envoyé à l’active directory.

Ce mot de passe, sera stocké comme attribut dans l’objet de la machine en question dans l’AD. (Ce qui nous fera ajouter au schéma de l'AD deux attributs sur l’Objet de type « Ordinateur ») Ms-Mcs-AdmPwd  et ms-Mcs-AdmPwdExpirationTime 


Voici un schéma qui permet de mieux comprendre le fonctionnement de Microsoft LAPS.
Comme vous pouvez le voir, on va avoir deux attributs supplémentaires dans l’Objet ordinateur, ces deux attributs sont :

-          Ms-Mcs-AdmPwd : L’attribut qui stocke le mot de passe « en claire »
-          ms-Mcs-AdmPwdExpirationTime : L’attribut qui stocke la date d’expiration de ce mot de passe 




Prérequis 

Vous devez avoir les prérequis suivants:

-          Net Framwork 4.0
-          PowerShell Version 2 (Minimum)
-          Au moins contrôleur de domaine 2003 SP1
-          Clients Minimum sous Windows vista



Une fois que vous avez réuni ces prérequis, vous pouvez commencer par le téléchargent de l’outil Microsoft LAPS sur l’URL suivante :



Microsoft LAPS supporte les systèmes suivants (serveurs et clients) :


  • Windows Server 2016
  • x86 or x64
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 R2 Standard
  • Windows Server 2012 R2 Essentials
  • Windows Server 2012 R2 Foundation
  • Windows 8.1 Enterprise
  • Windows 8.1 Pro
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Standard
  • Windows Server 2012 Essentials
  • Windows Server 2012 Foundation
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Windows Server 2008 R2 Service Pack 1
  • Windows 7 Service Pack 1
  • Windows Server 2008 Service Pack 2
  • Windows Vista Service Pack 2
  • Microsoft Windows Server 2003 Service Pack 2


Installation de LAPS 


Nous allons voir ici l’installation de LAPS sur l'AD ,  ainsi que sur les clients, nous allons commencer par l’installation de LAPS au niveau du contrôleur de domaine :

Partie AD : 

Une fois qu’on a récupéré le .MSI de Laps, on se rend sur notre Active Directory de test, une fois sur l’Ad, on lance le « LAPS.MSI » :
Cliquez sur « Next ».


Il faut accepter ici et faire « Next »



Ici, il faut installer ici tous les composants server sauf le « AdmPWD GPO extension »

-          ADmPWD GPO Extension : pour la partie clients qui leur permet d’être gérés

-          Fat client UI : interface de gestion « visualisation de mot de passe »

-          PowerShell Module : module PowerShell qui va permettre la prise en compte de LAPS en PowerShell (indispensable)

-          GPO Editor Template : Paramètre GPO pour LAPS (Indispensable) (avec un fichier ADMX)

Une fois que vous avez terminé de cochez ce qu’il faut pour le bon fonctionnement de la solution, cliquez sur « Next » : 




Cliquez sur « Install » afin de lancer l’installation de Microsoft LAPS.


Une fois l’installation terminée, cliquez sur « Finish »



 Vous devez avoir ceci à l’issue de l’installation :



Partie Client 

Dans cette partie, nous allons procéder à l’installation de la partie cliente de « LAPS », cette partie est en effet un « CSE » Client Side Extension, cela permet d’être enregistré au niveau du service client de stratégie de groupe.


Pour faire simple, lors de l’installation de la partie cliente, il faut choisir la feature suivante «AdmPwd GPO Extension » :



Au niveau du fonctionnement, il y’a une vérification de la part du CSE (sa date d’expiration), donc si le mot de passe est expiré, le CSE va en générer un nouveau mot de passe aléatoire, ce nouveau mot de passe aura une complexité qui sera en fonction des paramètres de la GPO LAPS que vous avez fixés.

Une fois le mot de passe changé, l’attribut « Ms-Mcs-AdmPwd » sera mis à jours, ainsi que l’attribut « Ms-Mcs-AdwPwdExpirationTime » avec un nouveau temps d’expiration bien entendu.

L’échange de mot de passe entre l’AD et le client est fait de manière sécurisée, c’est-à-dire authentifiée par Kerberos.

Avant d’installer la partie cliente, vérifier bien que l’administrateur local du client est activé.

Au niveau de l’installation du client, rien de plus simple, vous pouvez faire une task dans SCCM avec la commande suivante :
Msiexec /i C:\Ttemp\Laps64.MSI /Quiet


Une fois installé, vous devez avoir ceci dans le panneau de configuration :



Configuration de LAPS 

Dans cette partie, nous allons aborder l’aspect configuration de LAPS, au niveau de l’AD, et des GPOs.

Préparation du schéma active directory 

Nous Allons étendre le schéma Active Directory, et ajouter deux attributs comme présentés plus haut :
  • -          Ms-Mcs-AdmPwd 
  • -          Ms-Mcs-AdmPwdExpirationTime 
      

Pour cela, lancez une console PowerShell « En tant qu’administrateur » et saisissez les commandes suivantes :

-          Import-Module AdmPwd.PS : Importer le module « AdmPwd »
-    Update-AdmPwdADSchema : Extension du schéma è Ceci va ajouter les des deux attributs à l’objet « computer »

      En Image : 


   A ce stade, le schéma de notre AD est étendu, et donc les deux attributs en question sont ajoutés à l’objet « Computer »

     Gestion des droits  et permissions :

    Nous allons nous concentrer sur la partie la plus critique de ce POC, c’est-à-dire au niveau des droits et permission des utilisateurs et machines par rapport à ces fameux mot de passe du compte administrateur local.
3
     Dans notre infrastructure de test, voir le schéma plus haut, nous avons une OU « Domain clients » dans laquelle se trouve deux machines.  (Le faite de travailler sur une OU, permet d’avoir une isolation et de ne pas impacter et appliquer les GPOs sur tous les postes ou serveurs du domaine) donc si vous souhaitez gérer les mot de passe du compte administrateur local d’une machine, il faudra l’ajouter à un groupe qui sera ensuite ajouté à cette OU).


     Par défaut, il y’a que les utilisateurs qui sont membre du groupe « Admins du domaine » qui peuvent voir les valeurs de l’attribut Mc-Mcs-AdmPWd et les autres paramètres confidentiels, mais lorsqu’on a une équipe support et que l’on souhaite leur déléguer cette gestion de mot de passe d’administrateur local, il faudra leur donner l’autorisation suivante au groupe en question « Tous les droits étendus » au niveau de l’OU via ADSI.


    Exemple :


J’ai une OU ici, et via ADSI je vais ajouter l’autorisation « Tous les droits étendus » au groupe de support, ce qui veut dire, que mon groupe de support de parc, pourra lire l’attribut suivant ms-MCS-AdmPwd.

Pour cela, ouvrez votre console ADSI comme ceci : (dans un contexte d’attribution de nom par défaut)


 Suffit ensuite de cliquer droit sur l'OU ou se trouve vos machines de test, ici dans noter cas c'est l'OU "Domain Clients" et aller dans propriétés voir le schéma plus haut afin d'avoir un plan d'ensemble sur l'architecture.



et aller dans propriétés



Allez ensuite dans l'onglet " Securité" et cliquez sur "Avancé"


Suffit de cliquer sur Modifier et ajouter le groupe "Support_Parc" comme ceci :



    Ensuite, veuillez ajouter l’autorisation « Tous les droits étendus » afin que les utilisateurs qui sont membres de ce groupe puissent consulter l’attribut suivant ms-MCS-AdmPwd.
     

        


Il est possible de vérifier qui dispose des droits étendu sur l'OU "Domain Clients", avec la commande Powershell suivante :

On retrouve bien le groupe Domain admins et le groupe Support_Parc que nous venons d’autoriser :



Une fois qu’on a fini avec les droits sur l’OU, nous allons donner les droits aux machines en question afin qu’ils puissent mettre à jours les deux attributs ms-MCS-AdmPwd & ms-MCS-AdmPwdExpirationTime dans l’AD.

Pour cela, il faut utiliser la commande PowerShell suivante : (PowerShell en tant qu’administrateur)
 Je suis toujours dans mon exemple avec l’OU « Domain Clients » :

Set-AdmPwdComputerSelfPermission -OrgUnit Domain Clients


Bien sûr si vous avez plusieurs OUs dans lesquelles se trouve des machines dont vous avez le besoin de gérer les mot de passe du compte administrateur local, il faudra refaire l’opération.

Nous allons maintenant donner les droits au groupe support de consulter les mot de passe dans notre UO de test « Domain Clients » :

Set-AdmPwdReadPasswordPermission -OrgUnit Domain Clients -AllowedPrincipals "Support_PARC"


Pour finir, nous allons donner une autorisation au groupe support pour réinitialiser le mot de passe, ce qui veut dire qu’ils auront les droits d’écriture dans l’attribut « ms-MCS-AdmPwdExpirationTime »

Set-AdmPwdResetPasswordPermission -OrgUnit Domain Clients -AllowedPrincipals "Support_Parc"



Configuration de la GPO LAPS 

Comme précisé plus haut, la configuration de LAPS se fait au travers des GPOs, à l’installation, ce dernier place un fichier AMDX  correspond aux paramètres de LAPS qu’on va appliquer.


J’ai ici une GPO sur l’OU « Domain Clients » qui se nomme « Laps-Policy » :


Allez dans la GPO pour la modifier  cpmme ceci :



et allez sur le chemin suivant : « Configuration Ordinateur > Stratégies > Modèles d’administration > LAPS » 


  
Voici les paramètres apportés par LAPS :

Paramètre
Fonction
Password Settings 
Cela permet de définir la complexité du mot de passe (temps d’expiration + longueur du mot   passe)

Name of administrator account to Manage 
Permet de définir un autre compte administrateur local (ce qui permet de lui changer de nom etc …)

Do not Allow password expiration time longer than requierd policy 
Permet de ne pas autoriser l’âge du mot de passe plus longue que la stratégie permet

Enable local admin password management 
Permet l’activation ou non de Microsoft LAPS afin de gérer les mot de passe des compte admin locaux


Activation de LAPS :

Pour commencer, nous allons activer LAPS, c’est-à-dire que nous allons configurer la prise en charge des mot de passe des comptes locaux des machines qui sont dans notre OU.

Pour cela, il suffit d’aller sur le paramètre « Enable Local Admin Password Management » et l’activer comme ceci : (cliquez sur Appliquer puis sur Ok)



Une fois activé, nous allons paramétrer avec le paramètre « Password Settings » c'est à dire la longueur du mot de passe, le type de complexité ainsi que sa date d’expiration :  (cliquez sur Appliquer puis sur Ok)


Avec le paramètre « Name of administrator account to Manage » Vous pouvez changer de compte administrateur local si vous n’utilisez pas le compte Built-IN Admin (cliquez sur Appliquer puis sur Ok)



à ce stade nous avons terminé la configuration de LAPS par GPO, suffit de faire un gpupdate /force et vérifier la clé de registre suivante :  HKML\SOFTWARE\POLICIES\MICROSOFT SERVICES\ADMPWD 

Voici ce qui se passe au niveau des registres sur une machine sur laquelle la GPO LAPS s’applique :

HKML\SOFTWARE\POLICIES\MICROSOFT SERVICES\ADMPWD 






Visualisation des mot de passe 

Une fois qu’on a configuré notre outils LAPS via les GPOs, nous allons vérifier le bon fonctionnement ce dernier, pour se faire, nous allons vérifier que le mot de passe du compte administrateur local de nos machines qui se trouve dans l’OU « Domain Client » à bien changé.

Nous allons surtout vérifier que chaque mot de passe généré de manière aléatoire est différent sur chaque machine.

Pour cela, nous avez deux mode de virtualisation :

  •           En PowerShell
  •           En GUI 
    En Powershell : 

    Afin de consulter le mot de passe du compte administrateur local d’une machine (CL04 par exemple), vous devez lancer la commande PowerShell suivante :






En GUI :

Vous pouvez également utiliser une GUI, comme ceci, rendez-vous sur « LAPS UI »  au niveau du contrôleur de domaine ou nous avons installé LAPS précédemment :



Vous devez avoir l’interface suivante :

Remarquez, que vous pouvez également créer un « New Expiration Time » et visualiser le mot de passe en fonction du nom de la machine. 


(cette interface est très intuitive , ce qui permet une lecture facile et une gestion simplifiée des mots passe des administrateurs locaux des machines)

Au niveau de l’AD :

Vous pouvez également voir les deux attributs que LAPS ajout via la console active directory, sur les propriétés de la machine comme ceci :





Conclusion

Pour conclure, Microsoft LAPS est un outils simple a appréhender, à installer et à configurer, cet outils va vous permettre de sécuriser et de gérer les mots de passe des administrateurs locaux de vos serveurs et stations de travail. Il permet également une gestion centralisés de mots de passe des administrateurs locaux. 

à bientôt

Seyfallah Tagrerout
Microsoft MVP Cloud and DataCenter Management 

>