Was ist Microsoft LAPS: Wie können Sie dessen Sicherheit verbessern?
Aug 25, 2021
Microsoft Local Administrator Password Solution (LAPS) ermöglicht es Organisationen, lokale Administratorpasswörter über alle ihre Endpunkte hinweg zu verwalten. Wenn es korrekt implementiert wird, ist es eine effektive Methode, um bestimmte Arten von potenziellen lateralen Bewegungen und Privilege Escalation in Ihrer Umgebung zu verhindern – aber wenn es falsch implementiert wird, kann es eine große Öffnung für Angreifer schaffen.
Ausgewählte verwandte Inhalte:
Dieser Artikel erklärt, was LAPS ist und wie man es einsetzt, sowie wie man Netwrix Privilege Secure verwendet, um dessen inhärente Sicherheitslücken zu schließen.
Was ist Microsoft LAPS?
Microsoft LAPS ist ein Passwort-Manager, der Active Directory nutzt, um Passwörter für lokale Administrator-Konten auf allen Ihren Windows-Endpunkten zu verwalten und zu rotieren. Indem sichergestellt wird, dass alle lokalen Administrator-Konten einzigartige, komplexe Passwörter haben, hilft LAPS, das Risiko von lateraler Bewegung und Privilegienerweiterung zu mindern: Ein Angreifer, der ein lokales Administrator-Konto kompromittiert, kann sich nicht einfach lateral zu anderen Endpunkten bewegen, indem er dasselbe Passwort verwendet.
Ein Vorteil gegenüber anderen Passwort-Managern ist, dass LAPS keine zusätzlichen Computer benötigt, um diese Passwörter zu verwalten; es wird vollständig über Active Directory-Komponenten durchgeführt. Außerdem können Sie download und LAPS kostenlos nutzen.
Einrichtung von Microsoft LAPS
Um LAPS in Ihrer Umgebung einzurichten, folgen Sie den Schritten, die im Leitfaden (LAPS_OperationsGuide.docx) beschrieben sind, der im Download enthalten ist. Hier werde ich einige dieser Schritte auf hoher Ebene durchgehen.
LAPS auf Ihren Endpunkten installieren
Wenn Sie LAPS auf einem Endpunkt installieren, werden die folgenden Komponenten eingerichtet:
- Fat-Client-Benutzeroberfläche
- PowerShell-Modul
- Gruppenrichtlinien Vorlagen
- AdmPwd GPO-Erweiterung
Während Managementkonsolen eine oder mehrere dieser Funktionen benötigen, benötigen die durch LAPS verwalteten Endpunkte nur die AdmPwd GPO-Erweiterung. Der Operations Guide bietet einige Möglichkeiten, diese Komponente auf Ihre Endpunkte zu verteilen.
Erweitern Ihres Active Directory-Schemas, um LAPS zu integrieren
Microsoft stellt ein PowerShell-Modul zur Verfügung, um Ihnen bei diesem Schritt zu helfen. Es fügt Ihrem Schema zwei Computerattribute hinzu:
- ms-Mcs-AdmPwd — Speichert das lokale Administratorpasswort für das Computerobjekt im Klartext (erschreckend, ich weiß, aber ich werde später darauf zurückkommen)
- ms-Mcs-AdmPwdExpirationTime — Speichert den Zeitpunkt, zu dem das Passwort abläuft
Sobald das Schema erweitert wurde, können Sie die Gruppenrichtlinie verwenden, um die Konfiguration von LAPS auf alle Ihre Mitgliedsserver zu übertragen. Verwenden Sie dann den Group Policy Management Editor, um das neue LAPS-Gruppenrichtlinienobjekt (GPO) zu konfigurieren:
Die LAPS-GPO umfasst die folgenden Einstellungen:
- Passworteinstellungen — Ermöglicht Ihnen, die Komplexitätsanforderungen für die Passwörter lokaler Administrator-Konten festzulegen, einschließlich Länge und Alter
- Aktivieren Sie das Management lokaler Admin-Passwörter — Steuert, ob die durch die GPO verwalteten Endpunkte von LAPS verwaltet werden
- Name des Administrator-Kontos zur Verwaltung — Ermöglicht Ihnen das Verwalten von Passwörtern für lokale Administratorkonten, die nicht den Standardnamen 'Administrator' haben (das heißt, lokale Konten, die nicht 'Administrator' genannt werden)
- Lassen Sie die Passwortablaufzeit nicht länger als von der Richtlinie gefordert — Ermöglicht Ihnen sicherzustellen, dass kein Passwortablauf die Einstellung 'Passwortalter (Tage)' in den Passworteinstellungen überschreitet
Gewährleistung, dass LAPS sicher ist
Nachdem Sie Ihr AD-Schema erweitert haben, besteht der nächste Schritt darin, sicherzustellen, dass die Berechtigungen für diese neuen Attribute korrekt angewendet werden. Dies ist einer der wichtigsten Schritte im Prozess, da Sie den Zugriff nur für Objekte gewähren möchten, die ihn benötigen. Microsoft stellt PowerShell-Skripte zur Verfügung, um zu überprüfen, wer derzeit Zugriff auf das Attribut hat, und um bei Bedarf neue Berechtigungen anzuwenden.
Auf einer übergeordneten Ebene gibt es hier einige Überlegungen zu beachten:
- Entfernen Sie die Berechtigung 'Alle erweiterten Rechte' von Benutzern und Gruppen auf Computerobjekten, die das Passwort der lokalen Administrator-Konten nicht einsehen können sollten (denken Sie daran, dass es im Klartext in einem Attribut gespeichert ist).
- Das 'SELF'-Prinzip erfordert die Fähigkeit, die Attribute 'ms-Mcs-AdmPwdExpirationTime' und 'ms-Mcs-AdmPwd' zu schreiben, damit es die Passwörter und Ablaufzeiten aktualisieren kann, wenn ein Passwort abläuft. Der ACE für 'SELF' ist bei allen von LAPS verwalteten Computerobjekten erforderlich.
- Benutzer und Gruppen, die berechtigt sind, Passwörter für lokale Administrator-Konten zurückzusetzen, müssen Zugriff auf die Attribute dieser Computerobjekte erhalten.
Hier ist ein Skript, das Ihnen helfen wird zu verstehen, wer heute Zugriff auf diese Attribute hat.
<#
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
}
Sicherheitstipp: Zusätzlich zum Absichern dieser beiden LAPS-Attribute über Berechtigungen sollten Sie auch den LDAP-Verkehr bezüglich der Attribute überwachen, damit Sie Angreifer erkennen können, die sie abfragen, wenn fehlkonfigurierte Berechtigungen dies zulassen. StealthDEFEND for Active Directory kann Echtzeitwarnungen für LDAP-Verkehr bezüglich dieser Attribute bereitstellen.
LAPS in Aktion sehen
Es gibt einige Methoden, um das aktuelle lokale Administratorpasswort für einen bestimmten Endpunkt über LAPS zu erhalten, aber der einfachste Weg ist die Verwendung der GUI. Geben Sie einfach einen Computernamen ein und es wird das Klartext lokale Administratorpasswort zusammen mit seinem Ablaufdatum angezeigt, welches Sie ändern können.
Alternativ können Sie diese Informationen mit PowerShell abrufen:
Überwindung der Sicherheitslücken in Microsoft LAPS mit Netwrix Privilege Secure
Microsoft LAPS ist eine leistungsstarke Lösung für die Verwaltung der lokalen Administratorpasswörter auf all Ihren Endpunkten. Wenn es korrekt implementiert wird, ist es eine effektive Methode, um bestimmte Formen potenzieller lateraler Bewegungen oder Privilegienerweiterungen zu verhindern. Leider kann es jedoch, wenn es nicht korrekt implementiert wird, eine sehr große Öffnung für Angreifer schaffen.
Zu den Sicherheitslücken von LAPS gehören die folgenden:
- Die veraltete Benutzeroberfläche
- LAPS unterstützt keine starke Authentifizierung und Autorisierung.
- LAPS bietet keinen just-in-time access an, daher sind Administrator-Konten immer anfällig dafür, von Angreifern übernommen zu werden.
- Es erfolgt kein erzwungenes Passwort-Reset nach dem Zugriff, was Angreifern ermöglicht, ein gestohlenes Passwort zu verwenden.
- Benutzer müssen immer das Kontopasswort kennen, was sowohl logistische als auch Sicherheitsprobleme mit sich bringt.
Sie können diese Sicherheitslücken mit Netwrix Privilege Secure schließen. Diese Privileged Access Management (PAM) Lösung verbessert LAPS durch Hinzufügen von Funktionen wie mehrstufige Genehmigung, zeitgerechter und geplanter Zugriff, erzwungene Passwortrotation, kontrollierte Preisgabe von Passwörtern sowie Aufzeichnung und Wiedergabe von Sitzungen.
Weitere Vorteile von Netwrix Privilege Secure
Die meisten Privileged Access Management-Lösungen konzentrieren sich ausschließlich darauf, den Zugang zu hochprivilegierten Konten wie Domain Admin und lokalem Serveradministrator zu beschränken. Obwohl dieser Ansatz den Administratoren einen Zugang genau zum richtigen Zeitpunkt bietet, bleiben alle mächtigen Konten verfügbar — und damit verwundbar — selbst wenn sie nicht in Gebrauch sind.
Netwrix Privilege Secure ermöglicht es Ihnen, Ihre Angriffsfläche zu reduzieren, indem die meisten dieser ständigen privilegierten Konten eliminiert werden. Stattdessen erhalten Administratoren genau das Maß an Rechten, das benötigt wird, um eine Aufgabe zu erledigen, genau zu dem Zeitpunkt, zu dem sie benötigt werden, und nur so lange, wie sie benötigt werden. Dieser Ansatz ermöglicht es Ihnen auch, die Anzahl der Personen zu verringern, die Mitglieder der Domain Admins sein müssen, und reduziert so weitere Sicherheitsrisiken. Darüber hinaus entfernt die Lösung oder minimiert Artefakte, die oft genutzt werden, um Konten zu kompromittieren.
Teilen auf
Erfahren Sie mehr
Über den Autor
Kevin Joyce
Direktor für Product Management
Director of Product Management bei Netwrix. Kevin hat eine Leidenschaft für Cybersicherheit, insbesondere das Verständnis der Taktiken und Techniken, die Angreifer nutzen, um Umgebungen von Organisationen auszunutzen. Mit acht Jahren Erfahrung im Produktmanagement, mit Schwerpunkt auf Active Directory und Windows-Sicherheit, hat er diese Leidenschaft genutzt, um Lösungen für Organisationen zu entwickeln, die ihre Identitäten, Infrastruktur und Daten schützen helfen.
Erfahren Sie mehr zu diesem Thema
Konfigurationsmanagement für sichere Endpoint-Kontrolle
Datenschutzgesetze der Bundesstaaten: Unterschiedliche Ansätze zum Datenschutz
Beispiel für Risikoanalyse: Wie man Risiken bewertet
Das CIA-Dreieck und seine Anwendung in der realen Welt
Was ist elektronisches Records Management?