Qu'est-ce que Microsoft LAPS : Comment pouvez-vous renforcer sa sécurité ?
Aug 25, 2021
La solution Microsoft Local Administrator Password Solution (LAPS) permet aux organisations de gérer les mots de passe d'administrateur local sur tous leurs points de terminaison. Lorsqu'elle est mise en œuvre correctement, c'est un moyen efficace de prévenir certains types de mouvements latéraux potentiels et d'escalade de privilèges au sein de votre environnement — mais lorsqu'elle est mise en œuvre de manière incorrecte, elle peut créer une grande ouverture pour les attaquants.
Contenu connexe sélectionné :
Cet article explique ce qu'est LAPS et comment le déployer, ainsi que comment utiliser Netwrix Privilege Secure pour pallier ses lacunes de sécurité inhérentes.
Qu'est-ce que Microsoft LAPS ?
Microsoft LAPS est un gestionnaire de mots de passe qui utilise Active Directory pour gérer et faire tourner les mots de passe des comptes Administrateur locaux sur tous vos points de terminaison Windows. En garantissant que tous les comptes Administrateur locaux disposent de mots de passe uniques et complexes, LAPS aide à atténuer le risque de mouvement latéral et d'escalade de privilèges : Un attaquant qui compromet un compte Administrateur local ne peut pas se déplacer latéralement vers d'autres points de terminaison simplement en utilisant le même mot de passe.
Un avantage par rapport à d'autres gestionnaires de mots de passe est que LAPS ne nécessite pas d'ordinateurs supplémentaires pour gérer ces mots de passe ; cela se fait entièrement à travers les composants d'Active Directory. De plus, vous pouvez download et utiliser LAPS gratuitement.
Configuration de Microsoft LAPS
Pour configurer LAPS dans votre environnement, suivez les étapes détaillées dans le guide (LAPS_OperationsGuide.docx) inclus dans le téléchargement. Ici, je vais parcourir certaines de ces étapes de manière générale.
Installer LAPS sur vos points de terminaison
Lorsque vous installez LAPS sur un point de terminaison, les composants suivants sont déployés :
- Interface utilisateur de client lourd
- Module PowerShell
- Group Policy modèles
- Extension AdmPwd GPO
Alors que les consoles de gestion nécessitent une ou plusieurs de ces fonctionnalités, les points de terminaison à gouverner par LAPS n'ont besoin que de l'extension GPO AdmPwd. Le Guide d'opérations propose quelques méthodes pour déployer ce composant sur vos points de terminaison.
Étendre votre schéma Active Directory pour accommoder LAPS
Microsoft fournit un module PowerShell pour vous aider dans cette étape. Il ajoute deux attributs d'ordinateur à votre schéma :
- ms-Mcs-AdmPwd — Stocke le mot de passe de l'administrateur local pour l'objet ordinateur en texte clair (effrayant, je sais, mais je développerai cela plus tard)
- ms-Mcs-AdmPwdExpirationTime — Stocke le moment où le mot de passe expire
Une fois le schéma étendu, vous pouvez utiliser les stratégies de groupe pour déployer la configuration de LAPS sur tous vos serveurs membres. Ensuite, utilisez l'éditeur Group Policy Management pour configurer le nouvel objet de stratégie de groupe (GPO) LAPS :
Le GPO LAPS inclut les paramètres suivants :
- Paramètres de mot de passe — Vous permet de spécifier les exigences de complexité pour les mots de passe des comptes Administrateur locaux, y compris la longueur et l'âge
- Activez la gestion des mots de passe d'administrateur local — Détermine si les points de terminaison régis par le GPO sont gérés par LAPS
- Nom du compte administrateur pour gérer — Vous permet de gérer le mot de passe pour les comptes administrateurs locaux non par défaut (c'est-à-dire, les comptes locaux qui ne sont pas nommés ‘Administrator’)
- Ne permettez pas que la durée d'expiration du mot de passe dépasse celle requise par la politique — Vous permet de vous assurer qu'aucune expiration de mot de passe ne dépasse le paramètre ‘Password Age (Days)’ dans les Password Settings
Veiller à ce que LAPS soit sécurisé
Après avoir étendu votre schéma AD, l'étape suivante consiste à s'assurer que les permissions pour ces nouveaux attributs sont appliquées correctement. C'est l'une des étapes les plus importantes du processus, car vous souhaitez accorder l'accès uniquement aux objets qui en ont besoin. Microsoft fournit des scripts PowerShell pour vérifier qui a actuellement accès à l'attribut, et pour appliquer de nouvelles permissions si nécessaire.
À un niveau élevé, il y a quelques considérations à garder à l'esprit ici :
- Retirez la permission 'All extended rights' des utilisateurs et des groupes sur les objets ordinateur qui ne devraient pas pouvoir voir le mot de passe des comptes Administrateur locaux (rappelez-vous qu'il est stocké en clair dans un attribut).
- Le principal ‘SELF’ nécessite la capacité d'écrire les attributs ‘ms-Mcs-AdmPwdExpirationTime’ et ‘ms-Mcs-AdmPwd’ afin qu'il puisse mettre à jour les mots de passe et les dates d'expiration lorsqu'un mot de passe expire. L'ACE pour ‘SELF’ est requis sur tous les objets ordinateur régis par LAPS.
- Les utilisateurs et les groupes autorisés à réinitialiser les mots de passe sur les comptes Administrateur locaux doivent se voir accorder l'accès aux attributs de ces objets ordinateur.
Voici un script qui vous aidera à comprendre qui a accès à ces attributs aujourd'hui.
<#
Author: Kevin Joyce
Requirements: Active Directory PowerShell module, Domain Administrator privileges (to ensure the capability to get attribute GUIDs and view all permissions on all computer objects)
Description: Looks up permissions within Active Directory on a target (OU or Computer) to determine access to LAPS attributes (ms-Mcs-AdmPwdExpirationTime and ms-Mcs-AdmPwd).
Usage: Populate the $target variable with the DN of a computer object, or OU to search for computer objects within.
To output the results to a text file run the following .LAPS_Permissions_Collection.ps1 > output.txt
<#
Import-Module ActiveDirectory
##Get the GUID of the extended attributes ms-Mcs-AdmPwdExpirationTime and ms-Mcs-AdmPwd from Schema
$schemaIDGUID = @{}
Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -LDAPFilter '(|(name=ms-Mcs-AdmPwdExpirationTime)(name=ms-Mcs-AdmPwd))' -Properties name, schemaIDGUID |
ForEach-Object {$schemaIDGUID.add([System.GUID]$_.schemaIDGUID,$_.name)}
<# **REPLACE DN VARIABLE BELOW**
Declare the distinguishedName of the Computer object directly or OU to search for computers within#>
$target = 'CN=Computers,DC=COMPANY,DC=NET'
##Get distinguished name of all Computer objects from the OU or of the target itself
$computers = Get-ADComputer -SearchBase $target -Filter {name -like '*'}
<#Get objects that have specific permissions on the target(s):
Full Control(GenericAll)
Read All Properties(GenericRead)
Write all Properties (WriteProperty where ObjectType = 00000000-0000-0000-0000-000000000000
#>
Set-Location ad:
foreach ($computer in $computers){
(Get-Acl $computer.distinguishedname).access |
Where-Object { (($_.AccessControlType -eq 'Allow') -and ($_.activedirectoryrights -in ('GenericRead','GenericAll') -and $_.inheritancetype -in ('All', 'None')) -or (($_.activedirectoryrights -like '*WriteProperty*')-or ($_.activedirectoryrights -like '*GenericRead*') -and ($_.objecttype -eq '00000000-0000-0000-0000-000000000000')))} |
ft ([string]$computer.name),identityreference, activedirectoryrights, objecttype, isinherited -autosize
}
<#Get objects that have specific permissions on the target(s) and specifically the LAPS attributes:
WriteProperty
ReadProperty
#>
Set-Location ad:
foreach ($computer in $computers){
(Get-Acl $computer.distinguishedname).access |
Where-Object {(($_.AccessControlType -eq 'Allow') -and (($_.activedirectoryrights -like '*WriteProperty*') -or ($_.activedirectoryrights -like '*ReadProperty*')) -and ($_.objecttype -in $schemaIDGUID.Keys))} |
ft ([string]$computer.name),identityreference, activedirectoryrights, objecttype, isinherited -AutoSize
}
Conseil de sécurité: En plus de verrouiller ces deux attributs LAPS via les permissions, vous devriez également surveiller le trafic LDAP sur les attributs, afin de pouvoir détecter les attaquants qui les interrogent lorsque les permissions mal configurées le permettent. StealthDEFEND for Active Directory peut fournir des alertes en temps réel sur le trafic LDAP concernant ces attributs.
Voir LAPS en action
Il existe plusieurs méthodes pour obtenir le mot de passe actuel de l'Administrateur local pour un point de terminaison particulier via LAPS, mais la plus simple est d'utiliser l'interface graphique. Entrez simplement un nom d'ordinateur et il affichera le mot de passe de l'Administrateur local en clair ainsi que sa date d'expiration, que vous pouvez modifier.
Alternativement, vous pouvez obtenir ces informations en utilisant PowerShell :
Combler les lacunes de sécurité dans Microsoft LAPS avec Netwrix Privilege Secure
Microsoft LAPS est une solution puissante pour gérer les mots de passe d'administrateur local sur tous vos points de terminaison. Lorsqu'elle est correctement mise en œuvre, c'est un moyen efficace de prévenir certaines formes de mouvement latéral potentiel ou d'escalade de privilèges. Malheureusement, cependant, lorsqu'elle n'est pas correctement mise en œuvre, elle peut créer une très grande ouverture pour les attaquants.
Les lacunes de sécurité de LAPS incluent les suivantes :
- L'interface démodée
- LAPS ne prend pas en charge l'authentification et l'autorisation fortes.
- LAPS ne fournit pas un accès just-in-time, donc les comptes Administrateur sont toujours vulnérables à être pris par des attaquants.
- Il n'y a pas de réinitialisation forcée du mot de passe après l'accès, permettant aux attaquants d'utiliser un mot de passe volé.
- Les utilisateurs doivent toujours connaître le mot de passe du compte, ce qui pose des problèmes logistiques et de sécurité.
Vous pouvez éliminer ces failles de sécurité en utilisant Netwrix Privilege Secure . Cette Privileged Access Management (PAM) solution améliore LAPS en ajoutant des fonctionnalités telles que l'approbation multi-niveaux, l'accès juste-à-temps et planifié, la rotation forcée de mot de passe, l'exposition contrôlée du mot de passe, ainsi que l'enregistrement et la lecture de session.
Autres avantages de Netwrix Privilege Secure
La plupart des solutions de Privileged Access Management se concentrent uniquement sur la limitation de l'accès aux comptes hautement privilégiés tels que Domain Admin et l'administrateur local du serveur. Bien que cette approche fournisse aux administrateurs un accès juste-à-temps, tous les comptes puissants restent disponibles — et donc vulnérables — même lorsqu'ils ne sont pas utilisés.
Netwrix Privilege Secure vous permet de réduire considérablement votre surface d'attaque en éliminant la plupart de ces comptes privilégiés permanents. Au lieu de cela, les administrateurs reçoivent le niveau exact de droits nécessaires pour accomplir une tâche, au moment précis où ils en ont besoin, et seulement pendant la durée nécessaire. Cette approche vous permet également de réduire le nombre de personnes devant être membres des Domain Admins, diminuant ainsi les risques de sécurité. De plus, la solution élimine ou minimise les artefacts qui sont souvent utilisés pour compromettre des comptes.
Partager sur
En savoir plus
À propos de l'auteur
Kevin Joyce
Directeur de Product Management
Directeur de Product Management chez Netwrix. Kevin a une passion pour la cybersécurité, en particulier pour comprendre les tactiques et techniques utilisées par les attaquants pour exploiter les environnements des organisations. Avec huit ans d'expérience en gestion de produit, se concentrant sur la sécurité d'Active Directory et de Windows, il a utilisé cette passion pour aider à développer des solutions permettant aux organisations de protéger leurs identités, infrastructures et données.
En savoir plus sur ce sujet
Gestion de la configuration pour un contrôle sécurisé des points de terminaison
Lois sur la confidentialité des données par État : Différentes approches de la protection de la vie privée
Exemple d'analyse des risques : Comment évaluer les risques
Le Triangle CIA et son application dans le monde réel
Qu'est-ce que la gestion des documents électroniques ?