Man hat unzählige Computer und Server in seinem Netzwerk, bei denen die lokalen Administrator-Konten seit der Installation das selbe Kennwort besitzen. Entweder wurden die Passwörter einmalig bei der Installation gesetzt, oder durch ein Deployment hat jeder Computer das selbe lokale Administrator-Kennwort. Daraus ergeben sich einige Probleme. Etwa dass zu viele Benutzer das Kennwort kennen, und es somit auf allen Geräten verwenden können.
Früher gab es noch die Möglichkeit lokale Kennwörter via GPO zu setzen, dies hat Microsoft aber wieder eingestellt, da die Art wie diese Kennwörter in den Group Policy Preferences gespeichert wurden als nicht sicher galt.
Microsoft Security Bulletin MS14-025
Um dieses Problem dennoch anzugehen wurde die Local Administrator Password Solution entwickelt.
Table of Contents
Voraussetzungen
- Domain Joined Computer ONLY
- Active Directory Schema Erweiterung
- Installation von Group Policy Extension
Funktionsweise
Zuerst wird das AD-Schema um zwei Attribute erweitert in die LAPS zwei Informationen schreibt. Das Kennwort selbst, sowie das Ablaufdatum des Kennworts. Das zu installierende Clienttool bezieht seine Konfiguration via Gruppenrichtlinie, in der eingestellt werden kann wie lange das Kennwort gültig ist, wie komplex es sein muss und weitere Einstellungen. Dieses Passwort und Ablaufdatum schreibt der Client dann zurück ins Active Directory, und das im Klartext. Dies mag im ersten Moment etwas ungewöhnlich sein, aber die Möglichkeit dieses Attribut auszulesen ist standardmäßig nur Domänen-Administratoren vorbehalten.
Active Directory Schema Erweiterung
Die Erweiterung kann via Powershell auf einem Domänencontroller durchgeführt werden. Für diesen Schritt und die weiteren Schritte ist der Download des Tools notwendig.
Import-Module admpwd.ps
Update-AdmPwdADSchema -Verbose
Schreibbrechtigungen für Computeraccounts
Der Client auf dem Computer muss auch die Berechtigung besitzen diese Attribute ins Active Directory zu schreiben.
Set-AdmPwdComputerSelfPermission -OrgUnit "dc=detres,dc=it"
Überwachung
Administratoren sollten hierbei auch die Möglichkeit besitzen, zu überprüfen welcher User und wann diese Kennwörter ausgelesen wurden.
Set-AdmPwdAuditing -Identity:"dc=detres,dc=it" -AuditedPrincipals:Everyone
Nachfolgend werden im Eventlog auf dem Domaincontroller sowie Client mit der EventID 4662 Einträge geschrieben.
Gruppenrichtlinie erstellen
Zuerst müssen die GPO-Vorlagen und Sprachdateien in den zentralen GPO Store geladen werden.
Daraufhin kann die Gruppenrichtlinie konfiguriert werden.
Die Originaldateien finden sich am Computer der die Management Tools mit installiert hat unter:
C:\Windows\PolicyDefinitions\AdmPwd.admx
C:\Windows\PolicyDefinitions\en-US\AdmPwd.adml
Hierzu gibt es die Möglichkeit Einstellungen zu setzen – die wichtigsten hier gelistet.
- Passwortkomplexität
- Passwortgültigkeit in Tagen
- Angabe der zu verwalteten lokalen Administratoren
- Überschreibung der lokalen Kennwortablauf-Richtlinien
Installation des Clients/GPO Extension
Das Installationspaket kann manuell durchgeführt werden, via Softwareverteilung oder GPO verteilt werden.
msiexec /i LAPS.x64.msi /quiet
msiexec /i LAPS.x68.msi /quiet
Das Programm wird dann in der Systemsteuerung angezeigt.
Kennwörter auslesen oder zurücksetzen
Hierzu gibt es mehrere Möglichkeiten. DIe Password Solution liefert ein kleines Tool mit GUI mit welches auf einem Verwaltungsserver oder dort wo die Kennwörter ausgelesen werden sollen installiert wird.
Zudem kann das Passwort im Active Directory Benutzer und Computer MMC ausgelesen werden, da es wie oben beschrieben im Klartext gespeichert wird. Die beiden Attribute sind:
ms-Mcs-AdmPwd sowie ms-Mcs-AdmPwdExpirationTime
Oder via Powershell
Get-ADComputer LABCLIENT01 -Properties Name,ms-Mcs-AdmPwd | ft Name,ms-Mcs-AdmPwd -AutoSize
Berechtigungen zum Auslesen von Passwörtern
Damit eine Gruppe von Usern die Passwörter auslesen können (ausgenommen Domain Admins) kann die Berechtigung via Powershell erstellt werden.
Set-AdmPwdReadPasswordPermission -OrgUnit "dc=detres,dc=it" -AllowedPrincipals "SG_LAPS_Attributes_ReadOnly"
Um zu überprüfen welche Benutzer oder Gruppen auf eine OU berechtigt sind kann folgendes Commandlet helfen.
Find-AdmPwdExtendedRights -Identity:"dc=detres,dc=it" | Format-Table *ExtendedRightHolders* -Autosize
Fazit
Der geringe Aufwand der Umsetzung spricht ganz klar für diese Lösung. Die Einführung von LAPS löst sicher einen wichtigen Aspekt der möglichen Sicherheitslücken in Unternehmensnetzwerken, da die lokalen Administratorenkonten auch verwaltet werden können. Da die Änderungen sowie ein neu generiertes Ablaufdatum rein über das Update der Gruppenrichtlinien auf dem Client kommuniziert werden, ist das Tool leider nicht für Offline-Clients bzw. für Mitarbeiter im Außendienst geeignet.