Automatisiertes Wechseln lokaler Kennwörter

Welche IT Abteilung , kennt das nicht das sie unterschiedliche Standard Kennwörter haben für die lokalen Administrations Konten. Oder sich diese unter den Usern herumsprechen. Doch welche Möglichkeiten gibt es jetzt für die Zukunft die uns dieses Problem in den Griff zu kriegen. Gerade aus dem Sicherheitsaspekt ist dieses Problem auch nicht zu unterschätzen. Anfangs habe ich überlegt das über Gruppenrichtlinien zu realisieren bis ich auf LAPS (Local Administrator Password Solution) gestoßen bin.

LAPS ist eine Client seitige Erweiterung die sich darum kümmert Clients und Servern in konfigurierten Abständen für die hinterlegten lokalen Benutzern die Passwörter durch Zufalls Passwörter zu ersetzen und diese anschließend in Active Directory Attributen zu hinterlegen. Ich werde euch heute zeigen wie diese Lösung zu implementieren ist. Doch erstmal zu den Anforderungen:

  • Active Directory Domänenstruktur: min. Windows Server 2003
  • Client OS: Ab Windows Vista
  • Server OS: Ab Windows Server 2003
  • Management Tools: .Net Framework 4.0 & PowerShell 2.0 or later

Als erstes muss der Client von Microsoft runtergeladen werde:

https://www.microsoft.com/en-us/download/details.aspx?id=46899

imageIn meiner Demo werde ich die Software auf dem Domänen Controller installieren sodass ich gleich die benötigten Administrativen Templates und das PowerShell Modul für die Schemaerweiterung parat habe. Wichtig ist bei der Installation die Management Tools hier mit zu installieren. Anschließend muss die Software auf die zu verwaltenden Geräte ausgerollt werden. Größere Umgebungen verfügen hier garantiert die Möglichkeit dies über eine Software Verwaltung zu tun. Andere Möglichkeiten wären zb Skript basierend die AdmPwd.dll aus dem Installationsverzeichnis auf die Geräte zu verteilen und anschließend über das Kommandozeilentool “regsvr32.exe” zu registrieren. In überschaubaren Größen wäre es auch noch Überlegenswert das Tool manuell auf den Geräten zu installieren. Ich werde das Tool über die Gruppenrichtlinien verteilen. Dazu lege ich erst die Installationsdatei auf ein Netzwerk Share um diese dann als Software Paket zu verteilen. Für die Gruppenrichtlinie wenden einen WMI Filter an der verhindert das diese Software auf Domänen Controllern installiert wird:

"SELECT * FROM WIN32_OperatingSystem WHERE Producttype != 2"

ProductType 1 = Clients

ProductType 2 = Domänen Controller

ProductType 3 = Server

Die zwei Attribute die LAPS nutzt um das Administrator Passwort und dessen Ablauf Datum zu speichern müssen im Active Directory Schema erst angelegt werden. Ich empfehle hierfür das mitgelieferte PowerShell Modul zu verwenden. Da eine falsche Änderung am Schema mal schnell eine Infrastruktur lahmlegen kann.

image

 

Im nächsten Schritt muss den betreffenden Computerkonten das Recht delegiert werden das sie im eigenen Konto die neuen zwei Attribute beschreiben dürfen. Das lässt sich manuell erledigen oder wieder über ein PowerShell cmdlet welches aus dem gleichen Modul wie der vorherige Befehl kommt. In meinem Fall setze ich es auf die Organisationseinheit “LAPS” die ich zum testen verwende.

image

Über den Befehl “Set-AdmPwdReadPasswordPermission” lässt sich jetzt konfigurieren welcher User oder welche Gruppe für die jeweilige OU das Recht hat die Passwörter anzuzeigen. Somit lässt es genau steuern wer für welche Computer die lokalen Admin Passwörter anzeigen darf. In meinem Fall delegiere ich das Recht an die globale Gruppe “g-ITSupport”.

image

Da ich Gruppenrichtlinien für LAPS von jedem meiner Domänencontroller aus erstellen können will habe ich noch die dazugehörigen Dateien “AdmPwd.admx und AdmPwd.adml” aus dem lokalen Store (C:\Windows\PolicyDefinitions) in den Central Store (C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions) für Gruppenrichtlinien verschoben. Zu guter Letzt muss via GPO die lokale Passwort Verwaltung noch aktiviert werden. Die Einstellung ist in der Computerkonfiguration in den Administrativen Vorlagen zu finden.

image

imageOhne weitere Konfiguration würde LAPS jetzt die Passwörter für den lokalen Administrator ändern und in die Werte in das Active Directory speichern. Da aber gerade bei Clients der lokale Administrator deaktiviert ist und bei der Installation ein alternativer User wie zb. Admin verwendet wird müssen wir LAPS noch mitteilen welcher Benutzer verwaltet werden soll. Für eine OU die Server enthält darf diese Einstellung nicht gesetzt sein, diese Einstellung ist nur zu setzen wenn ein anderer Benutzer außer der “Administrator” verwendet wird. Des weiteren könnte man auch noch die Komplexität festlegen welcher das zufällig generierte Passwort entsprechen muss.

Nachdem ich jetzt mittels gpupdate /force und einem Reboot  sichergestellt habe das der Client die Änderungen übernommen und angewandt hat, kann ich jetzt die Möglichkeiten ansprechen um auf die Passwörter zuzugreifen. Es existieren  insgesamt 3 Möglichkeiten um auf die Passwörter zuzugreifen. Die erste Möglichkeit besteht dadrin die LAPS UI zu nutzen die über die Installation der Management Tools mit onboard ist. Mit dieser Oberfläche zudem auch noch gleich das Ablaufdatum gesetzt bw lässt sich setzen bei bedarf um jemand für eine begrenzte Zeit das Passwort mitzuteilen. Die zweite Möglichkeit die einem ebenfalls das Ablaufdatum mit anzeigt ist das cmdlet Get-AdmPwdPassword. Die dritte Möglichkeit die einem leider nur das Passwort in Klartext anzeigt ist über die Attribute des Computer Objekts zu gehen. Das entsprechende Attribut ist hier in der Sammlung grau markiert.

image

Ich hoffe ich konnte euch einen guten Überblick über dieses Tool geben mit dem man sich spätestens beschäftigen sollte wenn man eine "MCSE Prüfung anstrebt". 

Kommentare sind geschlossen