Adam the Automator

Jak obecnie radzisz sobie z hasłami lokalnych administratorów Windows? Każdy system Windows ma takie hasło i są to klucze do królestwa każdego komputera. Ponieważ lokalne hasła administratorów nie są częścią Active Directory (AD), musisz zarządzać każdym kontem na każdym komputerze osobno. Jest to bolesne.

W większości przypadków organizacje nie myślą o tym zbyt wiele i po prostu ustawiają standardowe hasło administratora na każdym komputerze z systemem Windows. Praktyka ta, choć wygodna, otwiera organizacje na znacznie większy problem, gdy to jedno, główne hasło dostanie się w niepowołane ręce. Posiadanie oddzielnego lokalnego hasła administratora na każdym komputerze niekoniecznie zapobiega dostępowi złośliwej osoby do jednego komputera, ale za to w znacznym stopniu zapobiega bocznemu wykorzystaniu innych komputerów.

Microsoft Local Administrator Password Solution (LAPS) może w tym pomóc.

W tym artykule dowiesz się, jak zabezpieczyć komputery połączone z AD poprzez skonfigurowanie LAPS.

Spis treści

Co to jest Microsoft LAPS?

LAPS jest istotną częścią utrzymywania bezpieczeństwa środowiska Windows. LAPS jest narzędziem, które działa w sprytny sposób; automatycznie randomizuje hasło administratora lokalnego na wszystkich komputerach domeny z włączonym LAPS i zmienia każde hasło regularnie.

LAPS zapewnia, że masz randomizowane hasła administratora lokalnego w całej domenie i zapobiega bocznym ruchom hakerów i złośliwego oprogramowania. Teraz możesz myśleć, że długie hasło administratora lokalnego na kliencie może cię przed tym uchronić, ale to nieprawda.

Hakerzy mogą używać metody Pass-The-Hash do szybkiego rozprzestrzeniania się w twojej domenie i mogą nawet natknąć się na dane uwierzytelniające administratora domeny używając tej samej metody. LAPs zapobiega temu działaniu, zmuszając złośliwe osoby do odkrycia hasła dla każdej, indywidualnej maszyny.

LAPS w praktyce

LAPS ma trzy główne części:

Locked-Down AD Attributes

LAPS przechowuje każde lokalne hasło administratora dla każdego kontrolowanego komputera w AD o nazwie ms-Mcs-AdmPwd. LAPS musi również wiedzieć, kiedy hasła wygasają, aby je zmienić, więc przechowuje również inny atrybut AD o nazwie ms-Mcs-AdmPwdExpirationTime. Te atrybuty AD są tylko odczytywane/zapisywane przez określone zasady AD, takie jak grupa lub użytkownik, a także zapisywane przez konto komputera, który używa hasła.

Ustawienia GPO

Aby zapewnić LAPS na komputerze i zmienić hasło LAPS ma również zestaw ustawień GPO. Gdy GPO jest powiązane z zestawem komputerów, ustawienia LAPS są dystrybuowane do każdego komputera. Gdy komputer stosuje ustawienia GPO, LAPS używa specjalnego pliku DLL do ich interpretacji.

Gdy LAPS widzi, że bieżąca data minęła datę wygaśnięcia hasła, to:

  • Randomizuje nowe hasło i ustawia je jako lokalne hasło administratora.
  • Wpisuje nowe lokalne hasło administratora do atrybutu Ms-Mcs-AdmPwd w AD.
  • Zapisuje nową datę wygaśnięcia do ms-Mcs-AdmPwdExpirationTime.

Dzięki użyciu tej sprytnej, ale prostej metody komputery domeny pozostają jeszcze bardziej bezpieczne.

Konfigurowanie LAPS

Dość informacji, zabierzmy się do faktycznego zobaczenia, co LAPS może zrobić! Konfiguracja LAPS nie jest skomplikowana, ale wymaga kilku kroków, które poznasz w tym poradniku. Są to:

  1. Instalacja narzędzi do zarządzania LAPS na komputerze administratora.
  2. Rozszerzenie schematu AD w celu dodania dwóch niestandardowych atrybutów AD używanych przez LAPS.
  3. Ustawienie odpowiednich uprawnień dla różnych składników w AD.
  4. Budowanie LAPS GPO, które zostanie zastosowane do komputerów z systemem Windows.
  5. Deploying the LAPS GPO Extension to applicable Windows computers.

Once you’re with the above steps, you will have a fully-functional LAPS environment set up and ready to go!

Wymagania wstępne

W tym artykule, you’ll be setting up LAPS for real. Jeśli chcesz podążać za nim, upewnij się, że najpierw spełnisz kilka warunków wstępnych.

  • Domena AD (2003 i nowsze)
  • Komputer z systemem Windows (zalecany 10 lub Server 2012+) ma zainstalowany RSAT for Active Directory.
  • Masz dostęp do konta, które jest członkiem grup AD Domain Admins i Schema Admins.

Wszystkie przykłady w tym artykule będą używać domeny AD o nazwie contoso.com.

Najlepszą praktyką dla grupy Schema Admins jest bycie jej członkiem tylko wtedy, gdy potrzebne są uprawnienia.

Instalowanie narzędzi Microsoft LAPS Management Tools

Aby rozpocząć, należy najpierw zainstalować narzędzia LAPS Management Tools na komputerze administratora. Te narzędzia zarządzania zainstalują zarówno rozszerzenie LAPS GPO (jeśli zostało wybrane), jak i narzędzia zarządzania do konfigurowania LAPS.

  1. Zacznij od pobrania pliku LAPS.x64.msi i uruchom go jako administrator, a następnie kliknij przycisk Dalej.
Instalacja Microsoft LAPS

2. Naciśnij Next aż dojdziesz do custom setup następnie kliknij Management Tools and Entire feature will be installed on local hard drive to install both of these components. Jeśli nie chcesz, aby bieżąca maszyna była zarządzana przez LAPS, wybierz AdmPwd GPO Extension.

Kliknij Management Tools

3. Kliknij Next aż do zakończenia instalacji i wyjdź z instalatora.

Zainstalowano rozszerzenia LAPS GPO (jeśli wybrano) i narzędzia do zarządzania, a teraz możemy rozpocząć rozszerzanie schematu AD i dodawanie naszych GPO.

Rozszerzanie schematu AD

Jak wspomniano wcześniej, LAPS używa dwóch atrybutów AD o nazwach ms-Mcs-AdmPwd i ms-Mcs-AdmPwdExpirationTime. Te dwa atrybuty nie są domyślne i muszą być dodane do schematu AD.

  1. Zacznij od dodania członka grupy Domain Admins do grupy Schema Admins, jeśli konto nie jest jeszcze jej członkiem. Nazwiemy to twoim „kontem administratora”.
  2. Uruchom PowerShell jako konto administratora i zaimportuj moduł AdmPwd PowerShell, wykonując Import-module AdmPwd.PS.
  3. Po zaimportowaniu modułu uruchom polecenie Update-AdmPwdADSchema, aby zaktualizować schemat AD, dodając dwa atrybuty AD. Możesz zobaczyć wyjście na poniższym zrzucie ekranu.
Konto administratora Powershell

Teraz rozszerzyłeś nasz schemat AD do obsługi LAPS i jesteś gotowy do ustawienia uprawnień w Active Directory.

Konfigurowanie uprawnień Active Directory

Każdy komputer potrzebuje możliwości aktualizacji swojego lokalnego hasła administratora i atrybutu AD Czas wygaśnięcia. Aby to zrobić, każdy komputer musi mieć uprawnienia do samodzielnego zapisu w atrybutach ms-Mcs-AdmPwd i ms-Mcs-AdmPwdExpirationTime AD. Na szczęście większość tej pracy można łatwo wykonać za pomocą modułu AdmPwd PowerShell.

Allowing Machines to Save Their Password

Po pierwsze, upewnij się, że każdy komputer może zapisać swoje hasło do atrybutu ms-Mcs-AdmPwd AD i zaktualizować, kiedy to hasło wygaśnie w atrybucie ms-Mcs-AdmPwdExpirationTime AD. Moduł AdPwd PowerShell ma polecenie, które można ustawić te uprawnienia o nazwie Set-AdmPwdComputerSelfPermission przez jednostkę organizacyjną (OU), która ma zastosowanie do wszystkich OU dzieci.

W PowerShell, uruchom Set-AdmPwdComputerSelfPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' pamiętając, aby zaktualizować swój konkretny OU i nazwę domeny.

Update OU and Domain Name

Jeśli chcesz, aby LAPS kontrolował więcej OU, powtórz powyższe polecenie dla każdego OU w AD.

Blokowanie atrybutów AD przez znajdowanie rozszerzonych praw

Aby upewnić się, że tylko wybrani użytkownicy i grupy mają uprawnienia do odczytu i resetowania lokalnego hasła administratora każdego komputera, należy kontrolować, kto ma dostęp. W szczególności musisz wiedzieć, że tylko konta, które muszą mieć „Rozszerzone prawa” mają je.

Aby znaleźć konta z rozszerzonymi prawami, uruchom Find-AdmPwdExtendedRights -OrgUnit 'OU=Workstations,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders zapewniając zastąpienie nazwy OU i domeny.

Na poniższym zrzucie ekranu widać, że konta CONTOSO>joe-the-admin i CONTOSO>MDT-service mają rozszerzone prawa do Workstations OU.

Workstations OU

Uprawnienie MDT-service rzeczywiście wymaga rozszerzonego prawa, ale joe-the-admin nie. Musisz teraz usunąć uprawnienie dla joe-the-admin.

Będziesz musiał powtórzyć ten proces dla wszystkich jednostek OU, dla których ustawiłeś uprawnienie do samodzielnego zapisu we wcześniejszym kroku.

Usuwanie rozszerzonych praw

Po zidentyfikowaniu każdego konta, z którego należy usunąć rozszerzone prawa, nadszedł czas, aby faktycznie to zrobić.

  1. Otwórz Active Directory Users And Computers i kliknij na View w górnym menu i upewnij się, że włączone są Advanced Features. Po włączeniu funkcji zaawansowanych, zobaczysz wszystkie typowo ukryte OU, jak pokazano na poniższym zrzucie ekranu.
Ukryte OU

2. Kliknąć prawym przyciskiem myszy jednostkę OU, której rozszerzone prawo chcemy usunąć, i kliknąć Właściwości.

Usuwanie OU prawym przyciskiem myszy

3. Kliknij kartę Zabezpieczenia, a następnie kliknij przycisk Zaawansowane.
4. Znajdź konto lub grupę, dla której chcesz usunąć rozszerzone prawa, i usuń je, zaznaczając je i klikając przycisk Usuń.

Zakładka Zabezpieczenia w celu usunięcia konta

5. Powtórz te kroki w razie potrzeby dla wszystkich zleceniodawców z rozszerzonymi prawami.

Udzielanie uprawnień do odczytu i resetowania hasła administratora lokalnego

Po upewnieniu się, że tylko odpowiednie konta mają rozszerzone prawa, należy teraz utworzyć dwie grupy AD do odczytu i resetowania hasła administratora lokalnego o nazwach LAPS Workstations Password Read i LAPS Workstations Password Reset.

Należy pamiętać, że podane tu nazwy grup nie są obowiązkowe. Można użyć dowolnych nazw grup.

Przy otwartej konsoli PowerShell z kontem administratora należy wprowadzić następujące polecenia, aby nadać obu grupom AD uprawnienia do odczytywania haseł administratorów lokalnych dla komputerów w jednostce Workstations OU.

PS> Set-AdmPwdReadPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Read"PS> Set-AdmPwdResetPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Reset" 

Uprawniono powyższe grupy AD do odczytywania i resetowania haseł administratorów lokalnych dla komputerów w jednostce Workstations OU. Teraz należy dodać administratorów lub grupy wymagane do odczytu lub resetowania haseł.

Tworzenie centralnego sklepu dla szablonów zasad grupy

Aby LAPS mógł się włączyć po zainstalowaniu na komputerach, należy najpierw utworzyć zasady grupy poprzez zaimportowanie szablonów zasad grupy do sklepu PolicyDefinition. PolicyDefinition store to folder znajdujący się na wszystkich kontrolerach domeny.

Nigdy nie włączaj LAPS GPO, który jest skierowany na kontrolery domeny. Nie jest to obsługiwane i może powodować nieoczekiwane problemy.

  1. Wybierz kontroler domeny w AD; dowolny kontroler domeny będzie działał.
  2. Upewnij się, że istnieje folder PolishDefinitions. Jeśli nie, utwórz go teraz.
  3. Kopiuj zawartość folderu C:\Windows\PolicyDefinitions na komputerze administracyjnym (tym, na którym zainstalowałeś LAPS) do folderu \contoso.com\SYSVOL\Policies\PolicyDefinitions na kontrolerze domeny.

Tworzenie GPO

Teraz skopiujmy szablony LAPS GPO do Central Store (folder PolicyDefinitions).

  1. Otwórz Group Policy Management pod kontem administratora, kliknij prawym przyciskiem myszy OU, w którym chcesz włączyć LAPS i kliknij Link an Existing GPO…
Group Policy Management

2. Przejdź do Computer Configuration -> Administrative Templates -> LAPS i ustaw Enable local admin password management na Enabled. Jeśli masz inne wymagania dotyczące złożoności hasła, odpowiednio edytuj ustawienia hasła.

Łączenie GPO do wszystkich OUs

Już prawie skończyłeś! Teraz podłącz to GPO do wszystkich OU, w których chcesz używać LAPS.

Wdrażanie rozszerzenia LAPS GPO

Po zastosowaniu GPO do wszystkich odpowiednich OU z komputerami w nich, musisz teraz wdrożyć rozszerzenie LAPS GPO. Rozszerzenie to można zainstalować na kilka różnych sposobów, instalując MSI (jak pokazano wcześniej) lub rejestrując plik LAPS DLL.

Jeśli zdecydujesz się zainstalować MSI, na każdym komputerze w OU kontrolowanym przez LAPS uruchom następujące polecenie, aby włączyć LAPS.

> msiexec /q /i \server\share\LAPS.x64.msi

Jeśli zdecydujesz się włączyć LAPS, rejestrując DLL, możesz to zrobić za pomocą następującego polecenia.

> regsvr32.dll \server\share\AdmPwd.dll

Możesz użyć dowolnego narzędzia zdalnego wykonywania, które posiadasz, aby uruchomić te polecenia na komputerach.

Wdrażanie LAPS MSI z GPO

Użycie GPO jest najprostszą metodą zapewnienia, że rozszerzenie LAPS GPO jest zainstalowane na wszystkich komputerach.

  1. Kopiuj LAPS.x64.msi do udziału sieciowego dostępnego dla wszystkich komputerów domeny.
  2. Otwórz Zarządzanie zasadami grupy na komputerze administratora i utwórz GPO o nazwie Zainstaluj LAPS lub podobnej.
Tworzenie GPO o nazwie Zainstaluj LAPS

3. Kliknąć prawym przyciskiem myszy na Install LAPS GPO, kliknąć Edit i przejść do Computer Configuration -> Policies -> Software Settings -> Software Installation.

LAPS GPO Software Installation

4. Kliknąć prawym przyciskiem myszy na Software Installation i przejść do New-> Package…

GPO New Package

5. Przejdź do udziału, do którego skopiowałeś LAPS.x64.msi, zaznacz go, kliknij OK i wybierz Assigned.

Assigning LAPS.x64.msi

6. Teraz połącz GPO z tymi samymi OU, dla których skonfigurowałeś LAPS. Jesteś teraz gotowy do przetestowania LAPS!

Testowanie LAPS

Aby upewnić się, że LAPS działa zgodnie z projektem na kontrolowanych komputerach, wymuśmy teraz na jednym z komputerów zastosowanie wspomnianego GPO i zobaczmy, co się stanie.

  1. Restart komputera, który znajduje się pod jednym z OU, które właśnie skonfigurowałeś. Po ponownym uruchomieniu komputer powinien rozpocząć instalację LAPS.
  2. Po zainstalowaniu LAPS na komputerze uruchom ponownie maszynę i otwórz konsolę PowerShell jako administrator na komputerze administracyjnym na koncie, które jest członkiem grup AD LAPS Workstation Password Read i LAPS Workstation Password Reset .
  3. Wykonaj polecenie Get-AdmPwdPassword <computername>, używając nazwy komputera, na którym właśnie uruchomiłeś ponownie komputer i zainstalowałeś LAPS. Jeśli wszystko poszło dobrze, zobaczysz coś podobnego do wyjścia na poniższym zrzucie ekranu.
LAPS Installation Output

4. Spróbuj teraz zalogować się do komputera kontrolowanego przez LAPS za pomocą wyświetlonego powyżej hasła. Jeśli się udało, powinieneś być zalogowany.
5. Teraz spróbuj zresetować hasło, uruchamiając Reset-AdmPwdPassword <ComputerName> i restartując komputer. Zobacz, jak zmieniło się hasło na poniższym zrzucie ekranu?

LAPS Password Reset

Teraz LAPS działa w twoim środowisku. I chociaż administracja jest dość łatwa, jest kilka rzeczy, o których powinieneś wiedzieć…

Wskazówki i triki dotyczące korzystania z LAPS w rzeczywistości

Pomimo że konfiguracja opisana powyżej jest wystarczająca dla większości mniejszych środowisk, może być zbyt mało bezpieczna lub nie oferować poziomu audytu wymaganego przez większe organizacje. Oto kilka wskazówek, jak sprawić, by działała w prawdziwym świecie.

1. Włącz audyt

Audyt, gdy ktoś czyta lub resetuje hasło, jest ważny, szczególnie biorąc pod uwagę, że można do niego podpiąć alarmy, jeśli ktoś czyta hasło wszystkich komputerów. Na szczęście moduł AdmPwd dostarcza nam cmdlet, który umożliwia właśnie to.

PS> Set-AdmPwdAuditing -AuditedPrincipals Everyone -OrgUnit "OU=Workstations,DC=contoso,DC=com"

2. Ensure No User Can Directly Read the ms-mcs-AdmPwd AD Attribute

One way is to ensure a user can’t read ms-mcs-AdmPwd AD attribute is to create a self-service method get the local admin password of a computer. Chociaż jest to poza zakresem tego artykułu, sprawdź narzędzia takie jak JEA lub WebJEA, jeśli nie masz istniejącego portalu samoobsługowego odpowiedniego do tego celu.

3. Reset atrybutu Ms-Mcs-AdmPwdTime During Disk Imaging

Musisz pamiętać, aby zresetować atrybut Ms-Mcs-AdmPwdTime podczas ponownego obrazowania komputera kontrolowanego przez LAPS, w przeciwnym razie nie uruchomi on zmiany hasła i zachowa lokalne hasło administratora podane przez obraz. Będzie jednak wyzwalać po wygaśnięciu Ms-Mcs-AdmPwdTime.

Możesz użyć następującego polecenia PowerShell, aby zresetować ExpirationTime bez modułu AdmPwd:

# With RSAT Get-ADComputer Workstation1 | Set-ADObject -Replace @{"ms-mcs-AdmPwdExpirationTime"=(Get-Date)} # Without RSAT$Computer = New-Object DirectoryServices.DirectoryEntry "LDAP://CN=Workstation1,OU=Workstations,DC=contoso,DC=com"$Computer.'ms-Mcs-AdmPwdExpirationTime'.Clear()$Computer.CommitChanges()

4. Pamiętaj, że atrybut ms-Mcs-AdmPwd pozostaje w AD Recycle Bin

Kiedy usuwasz obiekt w AD i masz włączony AD Recycle Bin, AD zwykle usuwa ważne atrybuty; na szczęście ms-Mcs-AdmPwd jest przed tym chroniony!

5. LAPS NIE JEST DO DOSTĘPU CZASOWEGO

Choć kuszący, LAPS nie jest przeznaczony do udzielania tymczasowego dostępu do dostawców, użytkowników i innych typów kont. Zamiast używać LAPS, użyj grupy AD, która jest lokalnym administratorem tego konkretnego komputera i użyj TimeToLive na członkach grupy.

Podsumowanie

Dowiedziałeś się teraz, jak wdrożyć LAPS, ustawić jego uprawnienia oraz kilka wskazówek i trików, aby uczynić go bardziej bezpiecznym. W środowisku gdzie LAPS jest wdrożony wszystkie hasła lokalnych administratorów zmieniają się regularnie i automatycznie. To znacznie zmniejsza ryzyko przejęcia komputera połączonego z domeną przez hakerów lub złośliwe oprogramowanie i miejmy nadzieję, że uchroni nas przed wieloma bólami głowy.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.