Proteggere le Password dell’Amministratore di Windows con Microsoft LAPS

Come gestisci attualmente le password locali degli amministratori di Windows? Ogni sistema Windows ne ha una e hanno accesso illimitato a ogni PC. Poiché le password degli amministratori locali non fanno parte di Active Directory (AD), è necessario gestire ciascun account su ogni computer separatamente. È un problema.

Spesso, le organizzazioni non ci pensano troppo e impostano una password amministratore standard su ciascuna macchina Windows. Questa pratica, sebbene conveniente, espone le organizzazioni a un problema molto più grande quando quella singola password principale finisce nelle mani sbagliate. Avere una password amministratore locale separata su ogni computer non impedisce necessariamente a un individuo malintenzionato di accedere a un PC, ma previene notevolmente lo sfruttamento laterale di altri PC.

Microsoft Local Administrator Password Solution (LAPS) può aiutare.

In questo articolo, imparerai come proteggere i tuoi computer associati a AD configurando LAPS.

Cos’è Microsoft LAPS?

LAPS è una parte fondamentale per mantenere un ambiente Windows sicuro. LAPS è un tool che funziona in modo intelligente; randomizza automaticamente la password dell’amministratore locale su tutti i computer di dominio con LAPS attivato e cambia regolarmente ciascuna password.

LAPS assicura che tu abbia password amministrative locali casuali in tutto il tuo dominio e previene i movimenti laterali da parte di hacker e malware. Ora, potresti pensare che una lunga password amministrativa locale sul client possa proteggerti da questo, ma non è vero.

Gli hacker possono utilizzare un metodo chiamato Pass-The-Hash per diffondersi rapidamente nel tuo dominio e potrebbero persino trovare le credenziali di un amministratore di dominio utilizzando lo stesso metodo. LAPS previene questa attività obbligando gli individui malintenzionati a scoprire una password per ogni singola macchina.

LAPS nella pratica

LAPS ha tre parti principali:

Attributi AD bloccati

LAPS memorizza ogni password amministrativa locale per ogni computer controllato in AD chiamato ms-Mcs-AdmPwd. LAPS deve anche sapere quando scadono le password per cambiarle, quindi memorizza un altro attributo AD chiamato ms-Mcs-AdmPwdExpirationTime. Questi attributi AD possono essere letti e scritti solo da principali AD specificati come un gruppo o un utente, e possono essere scritti anche dall’account del computer che utilizza la password.

Impostazioni GPO

Per fornire LAPS su un computer e per cambiare la password, LAPS ha anche un insieme di impostazioni GPO. Quando il GPO è collegato a un insieme di computer, le impostazioni di LAPS vengono distribuite a ciascun computer. Quando il computer applica le impostazioni GPO, LAPS utilizza un file DLL speciale per interpretarle.

Quando LAPS vede che la data corrente è successiva alla data di scadenza della password, farà quanto segue:

  • Genererà una nuova password casuale e la imposterà come password dell’amministratore locale.
  • Scriverà la nuova password dell’amministratore locale nell’attributo Ms-Mcs-AdmPwd in AD.
  • Scriverà una nuova data di scadenza in ms-Mcs-AdmPwdExpirationTime.

Utilizzando questo metodo intelligente ma semplice, i computer di dominio rimangono ancora più sicuri.

Configurazione di LAPS

Sufficienti informazioni, passiamo effettivamente a vedere cosa può fare LAPS! La configurazione di LAPS non è complicata, ma richiede alcuni passaggi che imparerai in questo tutorial. Sono i seguenti:

  1. Installazione degli strumenti di gestione di LAPS sulla tua macchina amministrativa.
  2. Estensione dello schema AD per aggiungere i due attributi AD personalizzati utilizzati da LAPS.
  3. Impostazione dei privilegi appropriati per vari componenti in AD.
  4. Creazione della GPO di LAPS che verrà applicata ai computer Windows.
  5. Implementazione dell’estensione GPO di LAPS sui computer Windows applicabili.

Una volta completati i passaggi precedenti, avrai un ambiente LAPS completamente funzionale pronto per l’uso!

Prerequisiti

In questo articolo, configurerai effettivamente LAPS. Se desideri seguirmi, assicurati di soddisfare alcuni prerequisiti prima.

  • Un dominio AD (a partire da 2003)
  • A computer running Windows (10 or Server 2012+ is recommended) has RSAT for Active Directory installed.
  • Avere accesso a un account che è sia membro dei gruppi AD Domain Admins che Schema Admins.

Tutti gli esempi in questo articolo utilizzeranno un dominio AD chiamato contoso.com.

La pratica migliore per il gruppo di amministrazione dello schema è di farne parte solo quando si necessitano i permessi.

Installazione degli strumenti di gestione Microsoft LAPS

Per iniziare, devi prima installare gli strumenti di gestione LAPS sul tuo computer amministrativo. Questi strumenti di gestione installeranno sia l’estensione GPO LAPS (se selezionata) che gli strumenti di gestione per configurare LAPS.

  1. Inizia scaricando il file LAPS.x64.msi e lancialo come amministratore e clicca su Avanti.
Installing Microsoft LAPS

2. Premi Avanti fino a quando non arrivi alla configurazione personalizzata, quindi clicca su Strumenti di gestione e L’intera funzionalità sarà installata su disco rigido locale per installare entrambi questi componenti. Se non desideri che la macchina corrente sia gestita da LAPS, seleziona Estensione AdmPwd GPO.

Click Management Tools

3. Clicca su Avanti fino a quando l’installazione non si conclude e esci dal programma di installazione.

Hai ora installato le estensioni GPO LAPS (se selezionate) e i suoi strumenti di gestione e possiamo ora iniziare ad estendere lo schema AD e ad aggiungere i nostri GPO.

Estendere lo schema AD

Come accennato in precedenza, LAPS utilizza due attributi AD chiamati ms-Mcs-AdmPwd e ms-Mcs-AdmPwdExpirationTime. Questi due attributi non sono predefiniti e devono essere aggiunti allo schema AD.

  1. Inizia aggiungendo un membro del gruppo Domain Admins al gruppo Schema Admins se l’account non è già un membro. Chiameremo questo il tuo “account amministratore”.
  2. Avvia PowerShell come account amministratore e importa il modulo AdmPwd PowerShell eseguendo il comando Import-module AdmPwd.PS.
  3. Una volta che il modulo è stato importato, esegui il comando Update-AdmPwdADSchema per aggiornare lo schema AD aggiungendo i due attributi AD. Puoi vedere l’output nello screenshot seguente.
Powershell Admin Account

Hai esteso lo schema AD per supportare LAPS e sei pronto per impostare le autorizzazioni in Active Directory.

Configurazione delle autorizzazioni di Active Directory

Ogni computer deve avere la possibilità di aggiornare la password dell’amministratore locale e l’attributo di scadenza nell’AD. Per fare ciò, ogni computer deve avere il permesso di autoscrittura per gli attributi AD ms-Mcs-AdmPwd e ms-Mcs-AdmPwdExpirationTime. Fortunatamente, la maggior parte di questo lavoro può essere facilmente svolta con il modulo PowerShell AdmPwd.

Consentire ai computer di salvare la propria password

Innanzitutto, assicurati che ogni computer possa salvare la propria password nell’attributo AD ms-Mcs-AdmPwd e aggiornare quando la password scade nell’attributo AD ms-Mcs-AdmPwdExpirationTime. Il modulo PowerShell AdPwd ha un comando chiamato Set-AdmPwdComputerSelfPermission per unità organizzativa (OU) che si applica a tutte le sottounità.

In PowerShell, esegui il comando Set-AdmPwdComputerSelfPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' ricordando di aggiornare l’OU e il nome di dominio specifici.

Update OU and Domain Name

Se desideri che LAPS controlli più OU, ripeti il comando precedente per ogni OU in AD.

Bloccare gli attributi di AD trovando i diritti estesi

Per assicurarti che solo gli utenti e i gruppi che desideri abbiano le autorizzazioni per leggere e reimpostare la password di amministratore locale di ogni computer, è necessario verificare chi ha accesso. In particolare, devi assicurarti che solo gli account che necessitano di “diritti estesi” li abbiano.

Per trovare gli account con diritti estesi, esegui il comando Find-AdmPwdExtendedRights -OrgUnit 'OU=Workstations,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders assicurandoti di sostituire l’OU e il nome di dominio.

Ora puoi vedere nella schermata seguente che CONTOSO\joe-the-admin e CONTOSO\MDT-service hanno diritti estesi sull’OU Workstations.

Workstations OU

Il permesso di MDT-service ha effettivamente bisogno del diritto esteso, ma joe-the-admin no. Ora devi rimuovere il permesso per joe-the-admin.

Dovrai ripetere questo processo per tutte le OU su cui hai impostato il permesso di scrittura automatica in un passaggio precedente.

Rimuovere i diritti estesi

Una volta identificato ogni account da cui rimuovere i diritti estesi, è ora il momento di farlo effettivamente.

  1. Apri Active Directory Utenti e Computer e fai clic su Visualizza nel menu superiore e assicurati che Funzionalità avanzate sia abilitato. Quando abiliti le funzionalità avanzate, visualizzerai tutte le UO normalmente nascoste come mostrato nella seguente schermata.
Hidden OUs

2. Fai clic con il pulsante destro del mouse sulla UO dalla quale desideri rimuovere i diritti estesi e fai clic su Proprietà

Right Click OU to Remove

3. Fai clic sulla scheda Sicurezza e successivamente sul pulsante Avanzate
4. Trova l’account o gruppo dal quale desideri rimuovere i diritti estesi e rimuovilo selezionandolo e facendo clic su Rimuovi

Security Tab for Account Removal

5. Ripeti questi passaggi come necessario per tutti i principali con diritti estesi.

Concessione del permesso di leggere e ripristinare la password dell’amministratore locale

Ora che ti sei assicurato che solo gli account appropriati abbiano diritti estesi, devi creare due gruppi AD per leggere e ripristinare la password dell’amministratore locale chiamati Lettura password LAPS Workstations e Ripristino password LAPS Workstations.

Nota che i nomi dei gruppi specificati qui non sono obbligatori. Sei libero di utilizzare qualsiasi nome di gruppo desideri.

Con una console PowerShell ancora aperta con il tuo account amministratore, inserisci i seguenti comandi per dare entrambi i gruppi AD il permesso di leggere la password dell’amministratore locale per i computer nella UO 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" 

Hai ora abilitato i gruppi AD sopra a leggere e reimpostare le password degli amministratori locali per i computer nell’OU Workstations. Ora devi aggiungere gli amministratori o i gruppi necessari per leggere o reimpostare le password.

Creazione di un archivio centrale per i modelli di criteri di gruppo

Per consentire a LAPS di attivarsi una volta installato sui computer, crea prima un criterio di gruppo importando i modelli di criteri di gruppo nell’archivio PolicyDefinition. L’archivio PolicyDefinition è una cartella situata su tutti i controller di dominio.

Non abilitare mai un GPO LAPS che mira ai controller di dominio. Non è supportato e può causare problemi imprevisti.

  1. Scegli un controller di dominio in AD; qualsiasi controller di dominio va bene.
  2. Assicurati che esista una cartella \\contoso.com\SYSVOL\Policies\PolicyDefinitions. Se non esiste, creala ora.
  3. Copia il contenuto di C:\Windows\PolicyDefinitions sul tuo computer amministrativo (quello su cui hai installato LAPS) nella cartella \\contoso.com\SYSVOL\Policies\PolicyDefinitions del controller di dominio.

Creazione del GPO

Ora copiamo i modelli di GPO di LAPS nell’archivio centrale (cartella PolicyDefinitions).

  1. Apri Gestione delle impostazioni di Gruppo con il tuo account amministratore, fai clic con il pulsante destro del mouse sull’OU in cui desideri abilitare LAPS e fai clic su Collega una GPO esistente…
Group Policy Management

2. Naviga fino a Configurazione computer —> Modelli amministrativi —> LAPS e imposta Abilita la gestione delle password degli amministratori locali su Abilitato. Se hai requisiti diversi per la complessità della password, modifica le Impostazioni password di conseguenza.

Linking GPO to all OUs

Quasi fatto! Ora collega questa GPO a tutte le OU in cui desideri utilizzare LAPS.

Deploy dell’estensione GPO di LAPS

Una volta che la GPO viene applicata a tutte le OU pertinenti con computer al loro interno, devi ora distribuire l’estensione GPO di LAPS. Hai un paio di modi diversi per installare questa estensione, sia installando l’MSI (come mostrato in precedenza) sia registrando il file DLL di LAPS.

Se scegli di installare l’MSI, su ogni computer all’interno di un’OU controllata da LAPS esegui il seguente comando per abilitare LAPS.

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

Se scegli di abilitare LAPS registrando il DLL, puoi farlo con il seguente comando.

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

Puoi utilizzare qualsiasi strumento di esecuzione remota che possiedi per eseguire questi comandi sui computer.

Deploy dell’MSI di LAPS con una GPO

Utilizzare una GPO è il metodo più semplice per assicurarsi che l’estensione GPO di LAPS sia installata su tutti i computer.

  1. Copia LAPS.x64.msi in una condivisione di rete accessibile a tutti i computer di dominio.
  2. Apri Gestione delle policy di gruppo sul tuo computer amministrativo e crea una GPO chiamata Installazione LAPS o qualcosa di simile.
Creating GPO called Install LAPS

3. Fai clic con il tasto destro del mouse sulla GPO Installazione LAPS, fai clic su Modifica e vai a Configurazione computer —> Impostazioni di policy —> Impostazioni software —> Installazione software.

LAPS GPO Software Installation

4. Fai clic con il tasto destro del mouse su Installazione software e vai a Nuovo— > Pacchetto…

GPO New Package

5. Vai alla condivisione in cui hai copiato LAPS.x64.msi, selezionalo, fai clic su OK e seleziona Assegnato.

Assigning LAPS.x64.msi

6. Ora collega la GPO agli stessi OU per i quali hai configurato LAPS. Ora sei pronto per testare LAPS!

Testing LAPS

Per verificare che LAPS funzioni come previsto sui computer controllati, forziamo uno dei computer a applicare la GPO appena menzionata e vediamo cosa succede.

  1. Riavvia un computer che si trova in uno degli OU appena configurati. Una volta riavviato, il computer dovrebbe iniziare l’installazione di LAPS.
  2. Dopo l’installazione di LAPS sul computer, riavvia nuovamente la macchina e apri una console PowerShell come amministratore sul tuo computer amministrativo con un account che è membro dei gruppi AD LAPS Workstation Password Read e LAPS Workstation Password Reset.
  3. Esegui il comando Get-AdmPwdPassword <nome_computer> utilizzando il nome del computer su cui hai appena riavviato e installato LAPS. Se tutto è andato bene, vedrai qualcosa di simile all’output nella seguente schermata.
LAPS Installation Output

4. Ora prova ad accedere al computer controllato da LAPS utilizzando la password visualizzata sopra. Se funziona, dovresti essere dentro.
5. Ora prova a reimpostare la password eseguendo il comando Reset-AdmPwdPassword <NomeComputer> e riavviando il computer. Vedi come cambia la password nella seguente schermata?

LAPS Password Reset

Ora hai LAPS funzionante nel tuo ambiente. E sebbene l’amministrazione sia piuttosto semplice, ci sono alcune cose che dovresti sapere…

Suggerimenti e trucchi per l’uso di LAPS nella realtà

Anche se la configurazione descritta sopra è sufficiente per la maggior parte degli ambienti più piccoli, potrebbe essere troppo insicura o non offrire il livello di audit necessario per le organizzazioni più grandi. Ecco alcuni suggerimenti per farlo funzionare nel mondo reale.

1. Attiva l’audit

L’audit quando qualcuno legge o resetta una password è importante, specialmente considerando che è possibile collegare allarmi ad esso se qualcuno legge la password di tutti i computer. Fortunatamente, il modulo AdmPwd ci fornisce un cmdlet per abilitare proprio questo.

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

2. Assicurati che nessun utente possa leggere direttamente l’attributo AD ms-mcs-AdmPwd

Un modo per garantire che un utente non possa leggere l’attributo AD ms-mcs-AdmPwd è creare un metodo self-service per ottenere la password amministrativa locale di un computer. Se non si dispone di un portale self-service adatto a questo scopo, è possibile utilizzare strumenti come JEA o WebJEA.

3. Reimposta l’attributo Ms-Mcs-AdmPwdTime durante l’immagine del disco

Ricorda di reimpostare l’attributo Ms-Mcs-AdmPwdTime durante l’immagine di un computer controllato da LAPS, altrimenti non verrà attivato il cambio della password e verrà mantenuta la password amministrativa locale fornita dall’immagine. Tuttavia, verrà attivato dopo la scadenza di Ms-Mcs-AdmPwdTime.

Puoi utilizzare il seguente comando PowerShell per reimpostare il campo ExpirationTime senza il modulo AdmPwd:

# Con RSAT 
Get-ADComputer Workstation1 | Set-ADObject -Replace @{"ms-mcs-AdmPwdExpirationTime"=(Get-Date)} 

# Senza RSAT
$Computer = New-Object DirectoryServices.DirectoryEntry "LDAP://CN=Workstation1,OU=Workstations,DC=contoso,DC=com"
$Computer.'ms-Mcs-AdmPwdExpirationTime'.Clear()
$Computer.CommitChanges()

4. Ricorda che l’attributo ms-Mcs-AdmPwd rimane nel Cestino di Active Directory

Quando si elimina un oggetto in AD e si ha il Cestino di Active Directory abilitato, di solito AD rimuove attributi importanti; fortunatamente ms-Mcs-AdmPwd è protetto da ciò!

5. LAPS non è per l’accesso temporaneo

Sebbene possa sembrare allettante, LAPS non è destinato a fornire accesso temporaneo a fornitori, utenti e altri tipi di account. Invece di utilizzare LAPS, utilizzare un gruppo AD che sia un amministratore locale di quel computer specifico e utilizzare TimeToLive sulle appartenenze al gruppo.

Conclusione

Ora hai imparato come distribuire LAPS, impostare le sue autorizzazioni e alcuni suggerimenti e trucchi per renderlo più sicuro. In un ambiente in cui LAPS è distribuito, la password dell’amministratore locale viene cambiata regolarmente e automaticamente. Questo riduce notevolmente i rischi di avere un computer connesso al dominio preso di mira da hacker o malware e speriamo che ti risparmi molti mal di testa.

Se hai domande, non esitare a inviarmi un tweet a @AlexAsplund o lasciare un commento qui sotto.

Source:
https://adamtheautomator.com/microsoft-laps/