To już trzeci wpis z lapsowej serii, w pierwszym ogólnie omawiałem co to jest LAPS, jak działa, w kolejnym było o Legacy LAPS, a teraz przyszła kolej na najnowszą odsłonę tego rozwiązania – Windows LAPS. Druga generacja przynosi istotne zmiany zarówno funkcjonalne, jak i te związane z bezpieczeństwem, ale o tym było tutaj.
Przygotowanie systemu operacyjnego
Niewątpliwym plusem Windows LAPSa jest fakt, że całość rozwiązania jest wbudowana w system operacyjny, jednak na pewne kwestie musicie zwrócić uwagę – system musi posiadać odpowiednie patche, te zostały wydane w kwietniu 2023. Dopiero one wprowadzają tą funkcjonalność i jest to odpowiednio:
- Windows 10 – wymagany patch KB5025221
- Windows 11 21H2 – KB5025224
- Windows 11 22H2 – KB5025239
- Windows 11 23H2 i nowsze – Windows LAPS już jest zawarty w systemie
- Windows Server 2019 – KB5025229
- Windows Server 2022 – KB5025230
- Windows Server 2025 – Windows LAPS już jest zawarty w systemie
Rozszerzenie schematu Active Directory
Podobnie jak w przypadku Legacy LAPS, tak i tutaj należy rozszerzyć schemat Active Directory. I od razu odpowiem na pytanie, jeśli macie już wdrożoną pierwszą odsłonę LAPSa i tak musicie wykonać ten krok, ponieważ Windows LAPS używa innych pól do zapisywania haseł.
Przejdźmy zatem do Powershell-a, tutaj do wykonania jest jedna komenda:
Update-LapsADSchema

Jak możecie zauważyć w wyniku powyższego działania zostały dodane następujące atrybuty:
- ms-LAPS-Password – przechowuje hasło w formie niezaszyfrowanej
- ms-LAPS-PasswordExpirationTime – przechowuje datę wygaśnięcia hasła, zawsze w formie niezaszyfrowanej
- ms-LAPS-EncryptedPassword – gdy jest uruchomione przechowywanie haseł w formie zaszyfrowanej, w tym polu jest ono przechowywane. Pole na nieszyfrowane hasło pozostaje wtedy puste
- ms-LAPS-EncryptedPasswordHistory – przechowuje historię haseł, ale tylko tych zaszyfrowanych. Gdy szyfrowanie haseł nie jest włączone, historia nie jest aktywna
- ms-LAPS-EncryptedDSRMPassword – przechowuje hasła DSRM dla kontrolerów domeny. Ta opcja jest dostępna tylko w przypadku on-premise Active Directory – nie wspiera kopii haseł w Entra ID. Opcja jest możliwa tylko w przypadku szyfrowania haseł
- ms-LAPS-EncryptedDSRMPasswordHistory – przechowuje historię haseł DSRM kontrolerów domeny
Delegacja uprawnień
Kolejnym krokiem jest delegacja uprawnień, dokładnie jak w przypadku poprzedniego LAPSa. Konieczne jest wydelegowanie uprawnień do zapisania nowego hasła przez komputery podłączone do domeny.

Utworzenie polityk GPO
Ostatnim krokiem jest utworzenie odpowiednich polityk GPO. Ustawienia znajdziecie w gałęzi Computer Configuration -> Policies -> Administrative Templates -> System -> LAPS.
Do dyspozycji mamy więcej ustawień niż w przypadku Legacy LAPS, ze względu na rozszerzone funkcjonalności. Poniżej wyjaśnię do czego służą poszczególne opcje:
- Enable password backup for DSRM accounts – Użyj tego ustawienia, aby włączyć tworzenie kopii zapasowej hasła konta DSRM na kontrolerach domeny Active Directory tylko dla systemu Windows Server
- Configure size of encrypted password history – to ustawienie służy do konfigurowania liczby poprzednich zaszyfrowanych haseł zapamiętanych w usłudze Active Directory w atrybucie ms-LAPS-EncryptedPasswordHistory
- Enable password encryption – włącza szyfrowanie haseł w Active Directory
- Configure authorized password decryptors – to ustawienie służy do konfigurowania nazwy lub identyfikatora zabezpieczeń (SID) użytkownika lub grupy, która może odszyfrować hasło przechowywane w Active Directory. Domyślnie jeśli nie jest ustawione, tylko członkowie grupy Domain Admins mogą odszyfrować hasło
- Name of administrator account to manage – to ustawienie służy do konfigurowania nazwy zarządzanego konta administratora lokalnego
- Configure password backup directory – ustawienie służy do kontrolowania, do którego katalogu jest zapisywane hasło dla konta zarządzanego, czy do lokalnego Active Directory, czy do chmurowego Azure Active Directory
- Do not allow password expiration time longer that required by policy – zezwolenie na wydłużenie czasu życia hasła, ponad to co jest zdefiniowane w polityce
- Password Settings – ustawienia dotyczące parametrów hasła, złożoność, długość, czy częstotliwość zmiany
- Post-authentication actions – definiuje w jakim czasie po uruchomieniu komputera ma wykonana dodatkowa akcja
Hasła nieszyfrowane
W pierwszej kolejności pokaże jak uruchomić najprostszy scenariusz, czyli hasła przechowywane w postaci niezaszyfrowanej. Tożsamy z Legacy LAPS. Do uruchomienia w tej postaci wystarczy konfiguracja trzech parametrów w GPO:
- Configure password backup directory – włączone na Active Directory
- Password Settings – włączone, tutaj opcje pozostawiłem domyślne, czyli
- ważność 30 dni
- długość 14 znaków
- najwyższa złożoność, czyli małe, wielkie litery, cyfry i znaki specjalne
- Enable password encryption – wyłączone

Efektem tych 3 ustawień jest wygenerowanie nowego hasła Administratora dla komputera objętego wskazaną polisą.

W porównaniu do prezentacji hasła z Legacy LAPS, występuje tutaj mała zmiana i jest ono zapisane w formacie JSON. W moim przypadku jak poniżej
{
"n":"Administrator",
"t":"1dbc74eac42e14b",
"p":"8t0Y00,G]sp3cD"
}
Gdzie:
- n – Nazwa lokalnego konta Administratora, lub konta zarządzanego przez LAPS
- t – czas ostatniej zmiany hasła zapisany szesnastkowo
- p – hasło w formie zwykłego tekstu
Hasła szyfrowane
Czas zatem wykorzystać dobrodziejstwa Windows LAPS i przejść o poziom wyżej, czyli hasła w Active Directory zapisywać w formie zaszyfrowanej. W tym scenariuszu zawartość ustawień w polityce GPO nie różni się znacząco. Zasadniczo możecie zmienić tylko jedną opcję – Enable password encryption. Jednak warto również dodać Configure authorized password decryptors, w postaci nazwy grupy, która będzie miała możliwość uzyskania dostępu do haseł. W przeciwnym razie tylko członkowie grupy Domain Admins będą mogli odszyfrować zapisane hasła.
Do korzystania z szyfrowania haseł musicie posiadać poziom funkcjonalny lasu nie mniejszy niż Windows Server 2016.

Tym sposobem otrzymaliśmy hasło zapisane w formie zaszyfrowanej

Aby je odczytać możecie użyć dedykowanej zakładki LAPS dostępnej we właściwościach obiektu komputer

lub Powershella
Get-LapsADPassword CLI2 -AsPlainText

Testy i diagnostyka
W drugiej odsłonie LAPSa mamy do dyspozycji dedykowany log w podglądzie zdarzeń (Event Viewer), dedykowany właśnie dla operacji związanych z przetwarzaniem haseł


Podsumowując Windows LAPS niesie za sobą sporo usprawnień w stosunku do poprzedniej wersji. Jeśli macie tylko możliwość warto robić migrację do nowszej odsłony.
Kawał dobrej roboty~! Czekamy na kolejne :3