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
Prérequis
Installation de LAPS
Vous devez avoir ceci à l’issue de
l’installation :
Préparation du schéma active
directory
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.
Set-AdmPwdComputerSelfPermission -OrgUnit Domain Clients
Activation de LAPS :
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
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 »
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 :
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