18
LAPS Enterprise 7.2.1 Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016 Das Problem: Seit Jahren nutzen wir auf fast allen Servern und Clients für den lokalen Administrator das gleiche Passwort. Eine Passwortänderung wurde in der Vergangenheit nach Best Practise über eine GPP (Group Policy Preferences) ausgerollt. Die GPP speichert das Passwort in den Konfigurationsteil der Policy ab. Dieser Teil der Konfiguration ist unsicher, weil das Passwort dort ausgelesen werden kann. * Folgende GPP konnten Passwörter speichern bis Microsoft Abhilfe geschaffen hat: Local user and group Mapped drives Services Scheduled tasks (Uplevel) Scheduled tasks (Downlevel) Immediate tasks (Uplevel) Immediate tasks (Downlevel) Data sources *Link zum Microsoft Artikel 13.Mai 2014: Vulnerability in Group Policy Preferences Could Allow Elevation of Privilege (2962486) https://technet.microsoft.com/en-us/library/security/ms14-025.aspx Die Lösung: Microsoft erkannte das Problem und entwickelte daraufhin ein neues Tool namens LAPS (Local Administrator Password Solution). Dieses Tool ermöglicht uns über einen Password Decryption Service (PDS) und einer Gruppenrichtlinie, eine automatisierte und dynamische Änderung der Passwörter nach individuellen Vorgaben: Passwortlänge in welchen zeitlichen Abständen es geändert werden soll und wer es lesen und ändern darf. Die Kommunikation zwischen den Domänencontrollern auf dem der PDS läuft sowie den zu verwaltenden Clients/Servern, ist verschlüsselt. Umsetzung: Downloadquelle: https://www.microsoft.com/en-us/download/details.aspx?id=46899 http://www.laps-e.net/ Voraussetzung: Das Active Directory muss zuvor über ein Schema-Update vorbereitet werden. Es werden 3 weitere Attribute hinzugefügt: ms-Mcs-AdmPwd – speichert das Passwort ms-Mcs-AdmPwdExpirationTime – speichert das Ablaufdatum des Passworts ms-Mcs-AdmPwdHistory – speichert vergangene Passwörter

LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

  • Upload
    vunhu

  • View
    264

  • Download
    2

Embed Size (px)

Citation preview

Page 1: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Das Problem:

Seit Jahren nutzen wir auf fast allen Servern und Clients für den lokalen Administrator

das gleiche Passwort.

Eine Passwortänderung wurde in der Vergangenheit nach Best Practise über eine GPP

(Group Policy Preferences) ausgerollt. Die GPP speichert das Passwort in den

Konfigurationsteil der Policy ab. Dieser Teil der Konfiguration ist unsicher, weil das

Passwort dort ausgelesen werden kann. *

Folgende GPP konnten Passwörter speichern bis Microsoft Abhilfe geschaffen hat:

Local user and group

Mapped drives

Services

Scheduled tasks (Uplevel)

Scheduled tasks (Downlevel)

Immediate tasks (Uplevel)

Immediate tasks (Downlevel)

Data sources

*Link zum Microsoft Artikel 13.Mai 2014:

Vulnerability in Group Policy Preferences Could Allow Elevation of Privilege (2962486)

https://technet.microsoft.com/en-us/library/security/ms14-025.aspx

Die Lösung:

Microsoft erkannte das Problem und entwickelte daraufhin ein neues Tool namens LAPS

(Local Administrator Password Solution).

Dieses Tool ermöglicht uns über einen Password Decryption Service (PDS) und einer

Gruppenrichtlinie, eine automatisierte und dynamische Änderung der Passwörter nach

individuellen Vorgaben:

Passwortlänge

in welchen zeitlichen Abständen es geändert werden soll

und wer es lesen und ändern darf.

Die Kommunikation zwischen den Domänencontrollern auf dem der PDS läuft sowie den

zu verwaltenden Clients/Servern, ist verschlüsselt.

Umsetzung:

Downloadquelle:

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

http://www.laps-e.net/

Voraussetzung:

Das Active Directory muss zuvor über ein Schema-Update vorbereitet werden. Es werden

3 weitere Attribute hinzugefügt:

ms-Mcs-AdmPwd – speichert das Passwort

ms-Mcs-AdmPwdExpirationTime – speichert das Ablaufdatum des Passworts

ms-Mcs-AdmPwdHistory – speichert vergangene Passwörter

Page 2: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Folgende Schritte sind während der Einrichtung durchzuführen:

1. Import des Active Directory Modul AdmPwd.ps

2. Active Directory Schema Update (hinzufügen von 2 neuen Attributen)

3. Berechtigungen auf die Computer/Server setzen damit diese das Passwort und die

Gültigkeit in die neuen Attribute schreiben können

4. Berechtigungen zum Auslesen der Passwörter setzen (Domänen-Admins)

5. Berechtigungen zum Schreiben von Passwörtern setzen (Domänen-Admins)

6. Aktivierung des Security Auditing

7. Erstellen einer Gruppenrichtlinie zur Vorgabe der Passwortlänge und Gültigkeit

Erklärung:

Die Gruppenrichtlinie die die Passwortlänge und Gültigkeit vorgibt, wird auf ausgewählte

OUs verknüpft, in der die Server/Clients enthalten sind. Die während der Einrichtung

unter Punkt 3 vergebenen Rechte werden benötigt, damit die Server/Clients die neuen

Active Directory Attribute beschreiben dürfen.

Nach der Installation und Einrichtung können die unverschlüsselten Passwörter über 3

Wege eingesehen werden. Verschlüsselte Passwörter nur über die GUI!

Einmal über den Attribut Editor des jeweiligen Computerobjekts:

Page 3: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Über ein Powershell Command; aber nur unverschlüsselte Passwörter!

Get-ADComputer <Computer> -Properties ms-Mcs-AdmPwd | Select Name, ms-Mcs-

AdmPwd

Oder über die LAPS GUI:

An diesem Bild erkennen wir, dass allein die GUI, das im AD stehende verschlüsselte

Passwort entschlüsseln und anzeigen kann.

Page 4: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Kommunikationsdiagramm:

Installation:

Auf dem Domänencontroller installieren wir das Produkt mit allen Modulen, die GPO

Extension kann weggelassen werden, sofern man den DC selbst nicht managen möchte.

Während des Installationsprozesses werden einige Daten auf die Maschine kopiert und

eine Firewall-Regel erstellt damit der Service „ADMPwd PDS“ die Kommunikation

zwischen den einzelnen Komponenten herstellen und steuern kann.

Active Directory

GP UpdateParameters

Encryption key

GP UpdateParameters

Encryption key

CSE

Password+

Expiration+

(History)

Password+

Expiration+

(History)

Password Decryption Service

Computeraccount

Computeraccount

Public Private

Encryption keys API

Ma

inta

in

keys

Ge

t p

assw

ord

Re

set

pas

swo

rd

Autodiscovery

DNS

SRVrecord

Audit

Powershell module

Configuration ofsolution

Read passwordReset password

Key management

Fat client

Read passwordReset password

Web

Read passwordReset password

Key management

Service discovery

Read passwordReset passwordGPO

Admin Admin

Audit log

LegendGreen = solution specificBlue = Windows platform features

Bold lines = encrypted connection

Managed machines

CSE

Client tools

Page 5: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Dateien die während der Installation kopiert werden:

CSE

Die Installation der Client Side Extension erfolgt in den Pfad:

%ProgramFiles%\AdmPwd\CSE

AdmPwd.dll

Fat Client UI

Die Installation für den Fat Client erfolgt in den Pfad:

%ProgramFiles%\AdmPwd

AdmPwd.ServiceUtils.dll

AdmPwd.UI.exe

AdmPwd.Utils.config

AdmPwd.Utils.dll

PowerShell Module

Die Installation der Powershellmodule erfolgt in den Pfad:

%WINDIR%\System32\WindowsPowerShell\v1.0\Modules\AdmPwd.PS

AdmPwd.PS.dll

AdmPwd.PS.format.ps1xml

AdmPwd.PS.psd1

AdmPwd.ServiceUtils.dll

AdmPwd.Utils.config

AdmPwd.Utils.dll

%WINDIR%\System32\WindowsPowerShell\v1.0\Modules\AdmPwd.PS\en-US

AdmPwd.PS.dll-Help.xml

Group Policy template

Die Installation für die Gruppenrichtlinien notwendigen Daten erfolgt in den Pfad:

%WINDIR%\PolicyDefinitions

LAPS.E.admx

%WINDIR%\PolicyDefinitions\en-US

LAPS.E.adml

Der Password Decryption Service

Die Installation für den PDS erfolgt in den Pfad:

%ProgramFiles%\AdmPwd\Svc

AdmPwd.PS.dll

AdmPwd.Service.exe

AdmPwd.Service.exe.config

AdmPwd.Service.Messages.dll

AdmPwd.Utils.config

AdmPwd.Utils.dll

Page 6: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Die Firewall-Regel wird durch den Installationsprozess selbständig eingetragen.

Zur Einrichtung führen wir diese Powershell-Befehle aus. Wir öffnen die ISE, kopieren uns

die Befehle passen die Syntax der jeweiligen Umgebung an und führen diese dann

nacheinander aus.

Bevor wir die Powershell-Befehle absetzen müssen wir im AD noch eine Gruppe namens

LapAdmin erstellen. Member dieser Gruppe können später mittels der Berechtigungen die

verschlüsselten Passwörter lesen und zurücksetzen. Domänen-Admins müssen auch

Mitglieder dieser delegierten Gruppe werden, sie haben keine Sonderrechte!

# Import des neuen Moduls

Import-module AdmPwd.PS

#AD Schema Update. Es werden 3 weitere Attribute hinzugefügt

Update-AdmPwdADSchema

# Setzt Berechtigung auf die OU in der die Maschinen enthalten sind um das Passwort

selbst ändern zu dürfen.

Set-AdmPwdComputerSelfPermission -OrgUnit "OU=Workstations,DC=ndsedv,DC=de"

# Vergibt der AD Gruppe die Berechtigung die generierten Passwörter zu lesen.

Set-AdmPwdReadPasswordPermission -OrgUnit "OU=Workstations,DC=ndsedv,DC=de" -

AllowedPrincipals LapAdmin

# Vergibt der AD Gruppe die Berechtigun, die generierten Passwörter zu resetten.

Set-AdmPwdResetPasswordPermission -OrgUnit "OU=Workstations,DC=ndsedv,DC=de" -

AllowedPrincipals LapAdmin

# Weist dem PDS den „NETWORK SERVICE“ Account zu um Passwörter zu behandeln und

die Verschlüsselung zu managen.

Set-AdmPwdServiceAccountPermission -Identity "OU=Workstations,DC=ndsedv,DC=de"

-AllowedPrincipals "NETWORK SERVICE"

# Erstellt ein neues Schlüsselpaar

New-AdmPwdKeyPair -KeySize 4096

Page 7: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Es ist auch möglich weitere Gruppen im AD anzulegen um die Berechtigungen je nach

Richtlinien-Vorgaben zu splitten. Es kann eine Gruppe geben die Passwörter nur lesen

darf und eine Gruppe die das Passwort lesen und zurücksetzen darf.

Nach der Abarbeitung der Befehle sehen wir in den Security-Eigenschaften die gesetzten

Berechtigungen. Natürlich können die Berechtigungen auch manuell gesetzt werden.

Der NETWORK SERVICE muss enthalten sein!

Page 8: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Der „AdmPwd PDS“ Service wurde auch erfolgreich installiert und gestartet. Der PDS

(Password Decryption Service) hat die zentrale Rolle im gesamten Konstrukt.

Nach der Installation und dem automatischen Start des Dienstes wird ein SRV Record im

DNS hinterlegt. Wegen dem Standard Port 61884 bitte mit einem Netzwerkkollegen

Rücksprache halten.

Page 9: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Wir tragen in dem SRV Record noch die PwdAdmin Gruppe ein; wichtig für weitere

Password Decrpytion Services.

INFO: Nach der automatischen Einrichtung des Dienstes ist der NETWORK SERVICE der

Besitzer dieses Records.

Der letzte Befehl in der Powershell-ISE erzeugte die nötigen Dateien (Public- und Privat-

Key) um die Verschlüsselung nutzbar zu machen.

Privat- und Public-Key verbleiben auf dem DC (PDS) und der Public-Key wird an alle

Clients weitergegeben.

Page 10: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Bevor wir die benötigten GPOs erstellen, kontrollieren wir ob die beiden Dateien

LAPS.admx und LAPS.adml auch vorhanden sind.

Page 11: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Zuerst erstellen wir ein GPO namens LAPS und managen damit unsere Passwortrichtlinie.

Sollte der lokale Administrator auf den zu managen Maschinen umbenannt worden sein,

muss dieser zwingend in diese Richtlinie eingetragen werden.

Danach öffnen wir den erzeugten *Public-Key mit Notepad kopieren uns den Schlüssel

heraus und fügen diesen in den dafür vorgesehenen Teil der Richtlinie ein.

Der Public-Key liegt in:

*C:\Program Files\AdmPwd\Svc\CryptoKeyStorage\1_PublicKey.dat

Page 12: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Danach erstellen wir ein weiteres GPO namens LAPSSetup. Mit diesem GPO verteilen wir

die CSE (Client Side Extension) an alle zu managen Clients und Server.

Zu beachten ist hierbei, dass der Pfad eine Netzwerkfreigabe sein muss. Wir puschen die

Policy auf die Clients und starten diese neu. Die Installation beginnt in der Regel nach

einem Neustart aber spätestens nach den zweiten; mit Systemrechten.

Page 13: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Optional: Dann habe ich noch eine „Audit File System“ Policy erstellt.

Nach dem erfolgreichen roll-out der CSE auf die Clients kopieren wir den Public-Key in

das noch anzulegende Verzeichnis \Svc\CryptoKeyStorage. Ich habe mir dazu ein .msi

Paket erstellt. Kann man natürlich auch über ein Start- oder Login Script erledigen.

Page 14: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Kontrolle der Berechtigungen auf die zu managen OUs:

Nachdem die Gruppenrichtlinien gezogen haben sollte das Passwort im Computerobjekt

bereits geschrieben worden sein. Sobald weitere Passwörter generiert wurden, wird auch

das Attribut History gefüllt.

Page 15: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Und so sieht die History dann mal aus:

Mit der GUI zu arbeiten ist natürlich wesentlich komfortabler. Ist bei einer aktiven

Verschlüsselung sowieso ein Muss.

Page 16: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Weitere Beispiele:

Eine etwas längere History:

Page 17: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

INFORMATIONEN:

Registry Eintrag auf einem gemanagten Client/Server – GPO LAPS:

An dieser Stelle der Registry sind die Vorgaben der Richtlinie hinterlegt.

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft Services\AdmPwd]

Troubleshooting:

Wenn wir ein detailliertes Logging wünschen, um später oder zu Prüfzwecken

Troubleshooting betreiben zu können, dann müssen wir in der Registry unter diesem Pfad

den fett-schwarzen Wert setzen.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows

NT\CurrentVersion\Winlogon\GPExtensions\{D76B9641-3288-4f75-942D-

087DE603E3EA}]

"ExtensionDebugLevel"=dword:00000002

Die Ergebnisse des Loggings sehen wir in den Windows Protokollen unter „Anwendung“

ein.

Page 18: LAPS Enterprise 7.2 - der-windows-papst.de · LAPS Enterprise 7.2.1 Erstellt von Jörn Walter  – 05.03.2016 Folgende Schritte sind während der Einrichtung durchzuführen:

LAPS Enterprise 7.2.1

Erstellt von Jörn Walter www.der-windows-papst.de – 05.03.2016

Folgende ID`s werden geschrieben, wenn das Passwort über den Prozess (PDS) geändert

wurde:

ID 1: Beginning processing with flags 0x1011

ID 11: Admin Password was not manipulated with (0). Also gesteuert

ID 7: Local Administartor’s password has been successfully encrypted. Also lokal

ID 8: Local Administrator`s password has been reported to AD. In’s Attribut übertragen

ID 9: Local Administrator`s password has been changed. Erfolgreich ins AD geschrieben

ID 10 100: Finished successfully.

Auditing auf Public Key:

Jeder versuchte Zugriff auf den lokalen Public Key wird geloggt, sofern das Auditing auf

den (gemanagten Maschinen) aktiv geschaltet wurde.

Mit diesem Befehl forcen wir eine Passwortänderung indem wir den Wert auf Null setzen:

Get-ADComputer -SearchBase " OU=Workstations,DC=ndsedv,DC=de " -Filter * -Server

winserver.ndsedv.de -Properties ms-MCS-AdmPwdExpirationTime| % {

Set-ADComputer -Identity $_ -Replace @{"ms-MCS-AdmPwdExpirationTime" = "0"}

}