Adam the Automator

Hur hanterar du för närvarande lokala Windows-administratörslösenord? Varje Windows-system har en sådan och de har nycklarna till varje dator. Eftersom lokala administratörslösenord inte ingår i Active Directory (AD) måste du hantera varje konto på varje dator separat. Det är en plåga.

Många gånger tänker organisationerna inte så mycket på det och ställer bara in ett standardadministratörslösenord på varje Windows-maskin. Detta tillvägagångssätt är visserligen bekvämt, men öppnar organisationerna för ett mycket större problem när detta enda huvudlösenord hamnar i fel händer. Att ha ett separat lokalt administratörslösenord på varje dator hindrar inte nödvändigtvis en illasinnad person från att få tillgång till en dator, men det förhindrar i hög grad lateral exploatering av andra datorer.

Microsoft Local Administrator Password Solution (LAPS) kan hjälpa till.

I den här artikeln lär du dig hur du säkrar dina AD-anslutna datorer genom att konfigurera LAPS.

Innehållsförteckning

Vad är Microsoft LAPS?

LAPS är en viktig del för att hålla en Windows-miljö säker. LAPS är ett verktyg som fungerar på ett smart sätt; det randomiserar automatiskt det lokala administratörslösenordet på alla domändatorer med LAPS aktiverat och ändrar varje lösenord regelbundet.

LAPS ser till att du har randomiserade lokala administratörslösenord i hela domänen och förhindrar sidoförflyttningar från hackare och skadlig kod. Du kanske tror att ett långt lokalt administratörslösenord på klienten kan skydda dig från detta, men det stämmer inte.

Hackerare kan använda en Pass-The-Hash-metod för att snabbt sprida sig i din domän och kan till och med komma över en domänadministratörsautentiseringsinformation genom att använda samma metod. LAPS förhindrar denna aktivitet genom att tvinga illvilliga personer att upptäcka ett lösenord för varje enskild maskin.

LAPS i praktiken

LAPS har tre huvuddelar:

Låsta AD-attribut

LAPS lagrar varje lokalt administratörslösenord för varje kontrollerad dator i AD som kallas ms-Mcs-AdmPwd. LAPS måste också veta när lösenordet löper ut för att kunna ändra det, så det lagrar också ett annat AD-attribut som heter ms-Mcs-AdmPwdExpirationTime. Dessa AD-attribut kan endast läsas/skrivas av specificerade AD-huvudmän, t.ex. en grupp eller en användare, och skrivas av det datorkonto som använder lösenordet.

GPO-inställningar

För att tillhandahålla LAPS på en dator och för att ändra lösenordet har LAPS också en uppsättning GPO-inställningar. När grupprincipobjektet är kopplat till en uppsättning datorer distribueras LAPS-inställningarna till varje dator. När datorn tillämpar GPO-inställningarna använder LAPS en särskild DLL-fil för att tolka dem.

När LAPS ser att det aktuella datumet har passerat lösenordets utgångsdatum kommer den att:

  • Randomisera ett nytt lösenord och ange det som det lokala administratörslösenordet.
  • Skriva det nya lokala administratörslösenordet till attributet Ms-Mcs-AdmPwd i AD.
  • Skriv ett nytt utgångsdatum till ms-Mcs-AdmPwdExpirationTime.

Med hjälp av den här smarta men ändå enkla metoden förblir domändatorerna ännu säkrare.

Inställning av LAPS

Genomgående information, låt oss gå över till att faktiskt se vad LAPS kan göra! Att konfigurera LAPS är inte komplicerat men kräver några steg som du kommer att lära dig i den här handledningen. De är:

  1. Installation av LAPS-hanteringsverktygen på din administratörsmaskin.
  2. Utökning av AD-schemat för att lägga till de två anpassade AD-attributen som LAPS använder.
  3. Insättning av lämpliga privilegier för olika komponenter i AD.
  4. Byggandet av LAPS GPO som kommer att tillämpas på Windows-datorer.
  5. Deploiera LAPS GPO-tillägget till tillämpliga Windows-datorer.

När du är klar med ovanstående steg har du en fullt fungerande LAPS-miljö som är konfigurerad och redo att användas!

Förutsättningar

I den här artikeln kommer du att konfigurera LAPS på riktigt. Om du vill följa med, se till att du uppfyller några förutsättningar först.

  • En AD-domän (2003 och uppåt)
  • En dator som kör Windows (10 eller Server 2012+ rekommenderas) har RSAT för Active Directory installerat.
  • Har tillgång till ett konto som både är medlem i grupperna AD Domain Admins och Schema Admins.

Alla exempel i den här artikeln kommer att använda en AD-domän som heter contoso.com.

Bästa praxis för gruppen Schemaadministratör är att bara vara medlem i den när du behöver behörigheterna.

Installation av Microsofts LAPS-hanteringsverktyg

Om du ska komma igång måste du först installera LAPS-hanteringsverktygen på administratordatorn. Hanteringsverktygen installerar både LAPS GPO-tillägget (om det är valt) och hanteringsverktygen för att konfigurera LAPS.

  1. Start med att ladda ner filen LAPS.x64.msi och starta den som administratör och klicka på Nästa.
Installation av Microsoft LAPS

2. Tryck på Nästa tills du kommer till den anpassade inställningen och klicka sedan på Hanteringsverktyg och Hela funktionen kommer att installeras på den lokala hårddisken för att installera båda dessa komponenter. Om du inte vill att den aktuella maskinen ska hanteras av LAPS väljer du AdmPwd GPO Extension.

Klicka på Management Tools

3. Klicka på Nästa tills installationen är klar och avsluta installationsprogrammet.

Du har nu installerat LAPS GPO-tillägg (om de valts) och dess hanteringsverktyg och vi kan nu börja utöka AD-schemat och lägga till våra GPO:er.

Utöka AD-schemat

Som tidigare nämnts använder LAPS två AD-attribut som heter ms-Mcs-AdmPwd och ms-Mcs-AdmPwdExpirationTime. Dessa två attribut är inte standard och måste läggas till i AD-schemat.

  1. Start med att lägga till en medlem av grupperna Domain Admins till gruppen Schema Admins om kontot inte redan är medlem. Vi kallar detta för ditt ”administratörskonto”.
  2. Starta PowerShell som ditt administratörskonto och importera PowerShell-modulen AdmPwd genom att köra Import-module AdmPwd.PS.
  3. När modulen har importerats kör du kommandot Update-AdmPwdADSchema för att uppdatera AD-schemat och lägga till de två AD-attributen. Du kan se resultatet i följande skärmdump.
Powershell Admin Account

Du har nu utökat vårt AD-schema så att det stödjer LAPS och är redo att ställa in behörigheter i Active Directory.

Konfigurera behörigheter i Active Directory

Varje dator behöver möjlighet att uppdatera AD-attributen för det lokala administratörslösenordet och för utgångstiden. För att göra det måste varje dator ha självskrivbehörighet till AD-attributen ms-Mcs-AdmPwd och ms-Mcs-AdmPwdExpirationTime. Lyckligtvis är det mesta av det här arbetet lätt att göra med PowerShell-modulen AdmPwd.

Tillåt maskiner att spara sitt lösenord

Först ska du se till att varje dator kan spara sitt lösenord i AD-attributet ms-Mcs-AdmPwd och uppdatera när lösenordet löper ut i AD-attributet ms-Mcs-AdmPwdExpirationTime. AdPwd PowerShell-modulen har ett kommando som du kan ställa in dessa behörigheter som heter Set-AdmPwdComputerSelfPermission by organizational unit (OU) och som gäller för alla underordnade OU:er.

I PowerShell kör du Set-AdmPwdComputerSelfPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' och kommer ihåg att uppdatera din specifika OU och ditt domännamn.

Uppdatera OU- och domännamn

Om du vill att LAPS ska kontrollera fler OU:er upprepar du ovanstående kommando för varje OU i AD.

Låsning av AD-attribut genom att hitta utökade rättigheter

För att säkerställa att endast de användare och grupper som du vill ha har behörighet att läsa och återställa det lokala administratörslösenordet för varje dator, måste du granska vem som har åtkomst. Specifikt behöver du veta att endast de konton som behöver ha ”utökade rättigheter” har det.

För att hitta konton med utökade rättigheter kör du Find-AdmPwdExtendedRights -OrgUnit 'OU=Workstations,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders och säkerställer att du ersätter ditt OU- och domännamn.

Du kan nu se i följande skärmdump att CONTOSO\joe-the-admin och CONTOSO\MDT-service har utökade rättigheter till Workstations OU.

Workstations OU

MDT-service-behörigheten behöver verkligen den utökade rättigheten, men det gör inte joe-the-admin. Du måste nu ta bort behörigheten för joe-the-admin.

Du måste upprepa den här processen för alla organisationsenheter som du ställde in behörigheten för självskrivning på i ett tidigare steg.

Ta bort utökade rättigheter

När du har identifierat varje konto som du ska ta bort utökade rättigheter från är det nu dags att göra det.

  1. Öppna Active Directory Users And Computers och klicka på Visa i den övre menyn och se till att Avancerade funktioner är aktiverade. När du aktiverar avancerade funktioner ser du alla de vanligtvis dolda organisationsenheterna som visas i följande skärmdump.
Gömda organisationsenheter

2. Högerklicka på den organisationsenhet som du vill ta bort den utökade rättigheten på och klicka på Egenskaper.

Högerklicka på OU för att ta bort

3. Klicka på fliken Säkerhet och klicka sedan på knappen Avancerat.
4. Hitta det konto eller den grupp som du vill ta bort de utökade rättigheterna för och ta bort det genom att markera det och klicka på Ta bort.

Säkerhetsfliken för borttagande av konto

5. Upprepa de här stegen vid behov för alla huvudmän med utökade rättigheter.

Ge behörighet att läsa och återställa det lokala administratörslösenordet

När du nu har sett till att endast lämpliga konton har utökade rättigheter måste du skapa två AD-grupper för att läsa och återställa det lokala administratörslösenordet som heter LAPS Workstations Password Read (Läsning av lösenord för LAPS Workstations) och LAPS Workstations Password Reset (Återställning av lösenord för LAPS Workstations).

Observera att gruppnamnen som anges här inte är obligatoriska. Du kan använda vilket gruppnamn som helst.

Med en PowerShell-konsol fortfarande öppen med ditt administratörskonto anger du följande kommandon för att ge båda AD-grupperna behörighet att läsa det lokala administratörslösenordet för datorer i organisationsenheten Workstations.

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" 

Du har nu aktiverat AD-grupperna ovan för att läsa och återställa lokala administratörslösenord för datorer i organisationsenheten Workstations. Du måste nu lägga till de administratörer eller grupper som krävs för att läsa eller återställa lösenorden.

Skapa ett centralt arkiv för grupprincipmallar

För att LAPS ska kunna aktivera sig själv när det väl är installerat på datorerna måste du först skapa en grupprincip genom att importera grupprincipmallarna till arkivet för PolicyDefinition. PolicyDefinition store är en mapp som finns på alla domänkontrollanter.

Aktivera aldrig ett LAPS GPO som riktar sig till domänkontrollanterna. Det stöds inte och kan orsaka oväntade problem.

  1. Välj en domänkontrollant i AD; vilken domänkontrollant som helst fungerar.
  2. Säkerställ att en \\contoso.com\SYSVOL\Policies\PolicyDefinitions finns. Om inte, skapa den nu.
  3. Kopiera innehållet i C:\Windows\PolicyDefinitions på din administratörsdator (den du installerade LAPS på) till mappen \\contoso.com\SYSVOL\Policies\PolicyDefinitions på domänkontrollanten.

Skapa GPO:n

Nu kopierar vi mallarna för LAPS GPO:n till det centrala arkivet (mappen PolicyDefinitions).

  1. Öppna Group Policy Management under ditt administratörskonto, högerklicka på den OU du vill aktivera LAPS i och klicka på Link an Existing GPO…
Group Policy Management

2. Navigera till Computer Configuration -> Administrative Templates -> LAPS och ställ in Enable local admin password management (Aktivera hantering av lokala administratörslösenord) till Enabled. Om du har andra krav på lösenordskomplexitet redigerar du lösenordsinställningarna i enlighet med detta.

Länka GPO till alla organisationsenheter

Du är nästan klar! Länka nu det här grupprincipobjektet till alla enheter som du vill använda LAPS i.

Distribution av LAPS GPO-tillägget

När grupprincipobjektet har tillämpats på alla tillämpliga enheter med datorer i dem måste du nu distribuera LAPS GPO-tillägget. Du har ett par olika sätt att installera det här tillägget genom att antingen installera MSI (som tidigare visat) eller genom att registrera LAPS DLL-filen.

Om du väljer att installera MSI:n kör du följande kommando på varje dator i en LAPS-kontrollerad OU för att aktivera LAPS.

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

Om du väljer att aktivera LAPS genom att registrera DLL-filen kan du göra det med följande kommando.

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

Du kan använda vilket fjärrkörningsverktyg som helst för att köra dessa kommandon på datorerna.

Distribuera LAPS MSI med ett grupprincipobjekt

Att använda ett grupprincipobjekt är den enklaste metoden för att se till att LAPS GPO-tillägget installeras på alla datorer.

  1. Kopiera LAPS.x64.msi till en nätverksdelning som är tillgänglig för alla domändatorer.
  2. Öppna Grupprinciphantering på din administratörsdator och skapa ett grupprincipobjekt som heter Installera LAPS eller något liknande.

Skapa grupprincipobjekt som heter Installera LAPS

3. Högerklicka på Install LAPS GPO, klicka på Edit och navigera till Computer Configuration -> Policies -> Software Settings -> Software Installation.

LAPS GPO Software Installation

4. Högerklicka på Software Installation och navigera till New-> Package…

GPO New Package

5. Navigera till den resurs där du kopierade LAPS.x64.msi, välj den, klicka på OK och välj Assigned.

Assigning LAPS.x64.msi

6. Länka nu GPO:et till samma OU:er som du konfigurerade LAPS för. Du är nu redo att testa LAPS!

Testning av LAPS

För att säkerställa att LAPS fungerar som avsett på de kontrollerade datorerna ska vi nu tvinga en av datorerna att tillämpa det ovannämnda GPO:t och se vad som händer.

  1. Starta om en dator som är placerad under en av de OU:er som du just konfigurerade. När datorn är igång igen bör den börja installera LAPS.
  2. När LAPS har installerats på datorn startar du om maskinen igen och öppnar en PowerShell-konsol som administratör på din administratörsdator som ett konto som är medlem i AD-grupperna LAPS Workstation Password Read (LAPS Workstation Password Read) och LAPS Workstation Password Reset (LAPS Workstation Password Reset).
  3. Släpp kommandot Get-AdmPwdPassword <computername> med hjälp av datornamnet som du nyss hade startat om och installerat LAPS på. Om allt gick bra kommer du att se något som liknar utmatningen i följande skärmdump.
LAPS installationsutmatning

4. Försök nu att logga in på den LAPS-kontrollerade datorn med det visade lösenordet ovan. Om det fungerade bör du vara inne.
5. Försök nu återställa lösenordet genom att köra Reset-AdmPwdPassword <ComputerName> och starta om datorn. Se hur lösenordet ändras i följande skärmdump?

LAPS Password Reset

Du har nu fått LAPS att fungera i din miljö. Och även om administrationen är ganska enkel finns det några saker som du bör känna till…

Tips och tricks för att använda LAPS på riktigt

Men även om konfigurationen ovan räcker för de flesta mindre miljöer kan den vara för osäker eller inte erbjuda den granskningsnivå som behövs för större organisationer. Här är några tips för att få det att fungera i verkligheten.

1. Aktivera granskning

Att granska när någon läser eller återställer ett lösenord är viktigt, särskilt med tanke på att du kan koppla larm till det om någon läser lösenordet för alla datorer. Lyckligtvis ger AdmPwd-modulen oss en cmdlet för att aktivera just detta.

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

2. Se till att ingen användare kan läsa AD-attributet ms-mcs-AdmPwd direkt

Ett sätt att se till att en användare inte kan läsa AD-attributet ms-mcs-AdmPwd är att skapa en självbetjäningsmetod för att få fram det lokala administratörslösenordet för en dator. Även om det ligger utanför ramen för den här artikeln kan du kolla in verktyg som JEA eller WebJEA om du inte har en befintlig självbetjäningsportal som lämpar sig för detta.

3. Återställ Ms-Mcs-AdmPwdTime-attributet under diskimaging

Du måste komma ihåg att återställa Ms-Mcs-AdmPwdTime-attributet när du återskapar en LAPS-styrd dator, annars utlöses inte lösenordsändringen och det lokala administratörslösenordet som gavs av avbildningen kommer att behållas. Den kommer dock att utlösas när Ms-Mcs-AdmPwdTime löper ut.

Du kan använda följande PowerShell-kommando för att återställa ExpirationTime utan AdmPwd-modulen:

# 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. Kom ihåg att attributet ms-Mcs-AdmPwd stannar i AD:s papperskorgen

När du raderar ett objekt i AD och har AD:s papperskorgen aktiverad tar AD vanligtvis bort viktiga attribut; som tur är är ms-Mcs-AdmPwd skyddad från detta!

5. LAPS är inte till för tillfällig åtkomst

Varken LAPS är lockande, men det är inte meningen att LAPS ska ge tillfällig åtkomst till leverantörer, användare och andra typer av konton. Istället för att använda LAPS ska du använda en AD-grupp som är en lokal administratör för den specifika datorn och använda TimeToLive på gruppmedlemskap.

Slutsats

Du har nu lärt dig hur du distribuerar LAPS, hur du ställer in dess behörigheter och några tips och tricks för att göra den säkrare. Med en miljö där LAPS distribueras ändras alla lokala administratörslösenord regelbundet och automatiskt. Detta minskar kraftigt riskerna för att en domänansluten dator tas över av hackare eller skadlig programvara och förhoppningsvis besparar det dig en hel del huvudvärk.

Lämna ett svar

Din e-postadress kommer inte publiceras.