Adam the Automator

Come gestite attualmente le password di amministratore locale di Windows? Ogni sistema Windows ne ha una e loro hanno le chiavi del regno di ogni PC. Poiché le password degli amministratori locali non fanno parte di Active Directory (AD), dovete gestire ogni account su ogni computer separatamente. È una sofferenza.

La maggior parte delle volte, le organizzazioni non ci pensano troppo e impostano semplicemente una password di amministratore standard su ogni macchina Windows. Questa pratica, anche se conveniente, apre le organizzazioni a un problema molto più grande quando quell’unica password principale viene messa nelle mani sbagliate. Avere una password di amministratore locale separata su ogni computer non impedisce necessariamente a un individuo malintenzionato di accedere a un PC, ma previene considerevolmente lo sfruttamento laterale di altri PC.

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

In questo articolo, imparerai come proteggere i tuoi computer collegati ad AD impostando LAPS.

Tabella dei contenuti

Cos’è Microsoft LAPS?

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

LAPS assicura che abbiate password di amministratore locale randomizzate in tutto il vostro dominio e impedisce il movimento laterale di hacker e malware. Ora, potreste pensare che una lunga password di amministratore locale sul client potrebbe proteggervi da questo, ma non è vero.

Gli hacker possono utilizzare un metodo Pass-The-Hash per diffondersi rapidamente attraverso il vostro dominio e potrebbero anche imbattersi in una credenziale di amministratore di dominio utilizzando lo stesso metodo. LAPs previene questa attività costringendo i malintenzionati a scoprire una password per ogni singola macchina.

LAPS in pratica

LAPS ha tre parti principali:

Locked-Down AD Attributes

LAPS memorizza ogni password di amministratore locale per ogni computer controllato in AD chiamata ms-Mcs-AdmPwd. LAPS ha anche bisogno di sapere quando le password scadono per cambiarle, quindi memorizza anche un altro attributo AD chiamato ms-Mcs-AdmPwdExpirationTime. Questi attributi AD sono leggibili/scrivibili solo da specifici mandanti AD come un gruppo o un utente e anche scrivibili dall’account del computer che sta usando la password.

Impostazioni GPO

Per fornire LAPS su un computer e per cambiare la password LAPS ha anche una serie 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 usa uno speciale file DLL per interpretarle.

Quando LAPS vede che la data corrente è passata la data di scadenza della password, esso:

  • Randomizza una nuova password e la imposta come password di amministratore locale.
  • Scrive la nuova password di amministratore locale nell’attributo Ms-Mcs-AdmPwd in AD.
  • Scrive una nuova data di scadenza a ms-Mcs-AdmPwdExpirationTime.

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

Impostazione di LAPS

Basta con le informazioni, passiamo a vedere effettivamente cosa può fare LAPS! Impostare LAPS non è complicato, ma richiede alcuni passi che imparerete in questo tutorial. Essi sono:

  1. Installazione degli strumenti di gestione LAPS sulla vostra macchina amministrativa.
  2. Estensione dello schema AD per aggiungere i due attributi AD personalizzati che LAPS utilizza.
  3. Impostazione dei privilegi appropriati per vari componenti in AD.
  4. Costruzione del GPO LAPS che verrà applicato ai computer Windows.
  5. Deploying the LAPS GPO Extension to applicable Windows computers.

Una volta completati i passi precedenti, avrete un ambiente LAPS completamente funzionante e pronto a partire!

Prerequisiti

In questo articolo, configurerete LAPS per davvero. Se volete seguirci, assicuratevi di soddisfare prima alcuni prerequisiti.

  • Un dominio AD (dal 2003 in su)
  • Un computer con Windows (si consiglia 10 o Server 2012+) con RSAT per Active Directory installato.
  • Avere accesso a un account che sia membro dei gruppi AD Domain Admins e Schema Admins.

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

La pratica migliore per il gruppo schema admin è di esserne membro solo quando si ha bisogno dei permessi.

Installare Microsoft LAPS Management Tools

Per iniziare, dovete prima installare i LAPS Management Tools sul vostro computer amministratore. Questi strumenti di gestione installeranno sia l’estensione LAPS GPO (se selezionata) che gli strumenti di gestione per configurare LAPS.

  1. Iniziare scaricando il file LAPS.x64.msi e lanciarlo come amministratore e cliccare su Next.
Installazione di Microsoft LAPS

2. Premete Next fino ad arrivare alla configurazione personalizzata poi cliccate Management Tools e l’intera funzione sarà installata sul disco rigido locale per installare entrambi questi componenti. Se non volete che la macchina corrente sia gestita da LAPS, allora selezionate AdmPwd GPO Extension.

Fate clic su Management Tools

3. Fate clic su Next fino al termine dell’installazione e uscite dal programma di installazione.

A questo punto avete installato le estensioni GPO di LAPS (se selezionate) e i suoi strumenti di gestione e ora possiamo iniziare ad estendere lo schema AD e aggiungere le nostre GPO.

Estendere lo schema AD

Come già detto, 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. Partiamo aggiungendo un membro dei gruppi Domain Admins al gruppo Schema Admins se l’account non ne è già membro. Chiameremo questo “account admin”.
  2. Avvia PowerShell come account admin e importa il modulo AdmPwd PowerShell eseguendo Import-module AdmPwd.PS.
  3. Una volta importato il modulo, esegui il comando Update-AdmPwdADSchema per aggiornare lo schema AD aggiungendo i due attributi AD. Puoi vedere l’output nel seguente screenshot.
Powershell Admin Account

Ora hai esteso il nostro schema AD per supportare LAPS e sei pronto per impostare i permessi in Active Directory.

Configurazione dei permessi di Active Directory

Ogni computer deve avere la possibilità di aggiornare la propria password di amministratore locale e l’attributo AD del tempo di scadenza. Per farlo, ogni computer deve avere il permesso di auto-scrittura degli attributi AD ms-Mcs-AdmPwd e ms-Mcs-AdmPwdExpirationTime. Fortunatamente la maggior parte di questo lavoro è facilmente fatto con il modulo AdmPwd PowerShell.

Permettere alle macchine di salvare la loro password

Primo, assicuratevi che ogni computer possa salvare la sua password nell’attributo ms-Mcs-AdmPwd AD e aggiornare quando la password scade nell’attributo ms-Mcs-AdmPwdExpirationTime AD. Il modulo AdPwd PowerShell ha un comando che puoi impostare queste autorizzazioni chiamato Set-AdmPwdComputerSelfPermission per unità organizzativa (OU) che si applica a tutte le OU figlie.

In PowerShell, esegui Set-AdmPwdComputerSelfPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' ricordando di aggiornare la tua OU specifica e il nome del dominio.

Aggiorna OU e nome di dominio

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

Bloccare gli attributi AD trovando i diritti estesi

Per assicurarsi che solo gli utenti e i gruppi che si desidera abbiano i permessi per leggere e resettare la password admin locale di ogni computer, è necessario controllare chi ha accesso. In particolare, è necessario sapere che solo gli account che devono avere “Diritti estesi” li hanno.

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

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

Workstations OU

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

Hai bisogno di ripetere questo processo per tutte le OU su cui hai impostato il permesso di auto-scrittura in un passo precedente.

Rimozione dei diritti estesi

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

  1. Apri Active Directory Users And Computers e clicca su View nel menu superiore e assicurati che le funzionalità avanzate siano abilitate. Quando abiliti le funzioni avanzate, vedrai tutte le OU tipicamente nascoste come mostrato nel seguente screenshot.
Hidden OUs

2. Cliccate con il tasto destro sulla OU che volete rimuovere il diritto esteso e cliccate su Proprietà.

Cliccate con il tasto destro sulla OU da rimuovere

3. Fai clic sulla scheda Sicurezza e poi fai clic sul pulsante Avanzate.
4. Trova l’account o il gruppo per il quale vuoi rimuovere i diritti estesi e rimuovilo selezionandolo e facendo clic su Rimuovi.

Scheda Sicurezza per la rimozione dell’account

5. Ripetete questi passi come necessario per tutti i mandanti con diritti estesi.

Dare il permesso di leggere e resettare la password dell’amministratore locale

Ora che vi siete assicurati che solo gli account appropriati abbiano diritti estesi, avete bisogno di creare due gruppi AD per leggere e resettare la password dell’amministratore locale chiamati LAPS Workstations Password Read e LAPS Workstations Password Reset.

Nota che i nomi dei gruppi specificati qui non sono obbligatori. Sei libero di usare qualsiasi nome di gruppo tu voglia.

Con una console PowerShell ancora aperta con il tuo account di amministratore, inserisci i seguenti comandi per dare ad entrambi i gruppi AD il permesso di leggere la password di amministratore locale per i computer nella OU 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 di cui sopra a leggere e resettare le password di amministratore locale per i computer nella OU Workstations. Ora è necessario aggiungere gli amministratori o i gruppi richiesti per leggere o reimpostare le password.

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

Perché LAPS si abiliti da solo una volta installato sui computer, prima crea un criterio di gruppo importando i modelli di criteri di gruppo nel negozio PolicyDefinition. Il negozio PolicyDefinition è una cartella che si trova su tutti i controller di dominio.

Non abilitare mai un GPO LAPS che ha come target i controller di dominio. Non è supportato e può causare problemi inaspettati.

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

Creazione del GPO

Copiamo ora i modelli GPO di LAPS nel Central Store (cartella PolicyDefinitions).

  1. Aprire Gestione criteri di gruppo con il tuo account di amministratore, fare clic con il tasto destro del mouse sulla OU in cui vuoi abilitare LAPS e fare clic su Collega un GPO esistente…
Gestione criteri di gruppo

2. Passare a Configurazione computer -> Modelli amministrativi -> LAPS e impostare Abilita gestione password amministratore locale su Abilitato. Se hai diversi requisiti per la complessità della password, modifica le impostazioni della password di conseguenza.

Collegamento di GPO a tutte le OU

Hai quasi finito! Ora collegate questo GPO a tutte le OU in cui volete usare LAPS.

Distribuzione dell’estensione LAPS GPO

Una volta che il GPO è stato applicato a tutte le OU applicabili con computer al loro interno, è necessario distribuire l’estensione LAPS GPO. Avete un paio di modi diversi per installare questa estensione, installando l’MSI (come mostrato in precedenza) o registrando il file LAPS DLL.

Se scegliete di installare l’MSI, su ogni computer all’interno di una OU controllata da LAPS, eseguite il seguente comando per abilitare LAPS.

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

Se scegliete di abilitare LAPS registrando la DLL, potete farlo con il seguente comando.

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

Potete usare qualsiasi strumento di esecuzione remota di cui disponete per eseguire questi comandi sui computer.

Distribuzione di LAPS MSI con un GPO

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

  1. Copiate LAPS.x64.msi su una condivisione di rete accessibile da tutti i computer di dominio.
  2. Aprire Gestione criteri di gruppo sul computer amministratore e creare un GPO chiamato Installa LAPS o qualcosa di simile.
Creare GPO chiamato Installa LAPS

3. Fare clic con il tasto destro del mouse su Install LAPS GPO, fare clic su Modifica e passare a Configurazione computer -> Politiche -> Impostazioni software -> Installazione software.

Installazione software LAPS GPO

4. Cliccate con il tasto destro su Installazione software e navigate su Nuovo-> Pacchetto…

GPO Nuovo Pacchetto

5. Navigate alla condivisione in cui avete copiato LAPS.x64.msi, selezionatela, fate clic su OK e selezionate Assigned.

Assegnare LAPS.x64.msi

6. Ora collegate il GPO alle stesse UO per cui avete configurato LAPS. Ora siete pronti per testare LAPS!

Test LAPS

Per assicurarci che LAPS funzioni come progettato sui computer controllati, forziamo ora uno dei computer ad applicare la suddetta GPO e vediamo cosa succede.

  1. Riavvia un computer che si trova sotto una delle OU appena configurate. Una volta riattivato, il computer dovrebbe iniziare a installare LAPS.
  2. Una volta che LAPS si installa sul computer, riavviate ancora una volta la macchina e aprite una console PowerShell come amministratore sul vostro computer admin come account membro dei gruppi AD LAPS Workstation Password Read e LAPS Workstation Password Reset.
  3. Eseguite il comando Get-AdmPwdPassword <computername> utilizzando il nome del computer su cui avete appena riavviato e installato LAPS. Se tutto è andato bene, vedrete qualcosa di simile all’output del seguente screenshot.
LAPS Installation Output

4. Ora provate ad accedere al computer controllato da LAPS con la password visualizzata sopra. Se ha funzionato, dovreste essere entrati.
5. Ora prova a resettare la password eseguendo Reset-AdmPwdPassword <ComputerName> e riavviando il computer. Vedete come ha cambiato le password nel seguente screenshot?

Ripristino password LAPS

Ora avete LAPS funzionante nel vostro ambiente. E mentre l’amministrazione è abbastanza facile, ci sono alcune cose che dovreste sapere…

Trucchi e suggerimenti per usare LAPS per davvero

Mentre la configurazione di cui sopra è sufficiente per la maggior parte degli ambienti più piccoli, potrebbe essere troppo insicura o non offrire il livello di controllo necessario per organizzazioni più grandi. Ecco alcuni consigli per farlo funzionare nel mondo reale.

1. Attivare l’Auditing

Il controllo quando qualcuno legge o resetta una password è importante, specialmente considerando che si possono collegare all’allarme 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. Assicurarsi che nessun utente possa leggere direttamente l’attributo ms-mcs-AdmPwd AD

Un modo per assicurarsi che un utente non possa leggere l’attributo ms-mcs-AdmPwd AD è creare un metodo self-service per ottenere la password admin locale di un computer. Anche se non rientra nello scopo di questo articolo, controllate strumenti come JEA o WebJEA se non avete un portale self-service esistente adatto a questo.

3. Resettare l’attributo Ms-Mcs-AdmPwdTime durante il Disk Imaging

Dovete ricordarvi di resettare l’attributo Ms-Mcs-AdmPwdTime quando rifate l’immagine di un computer controllato da LAPS, altrimenti non verrà attivato il cambio di password e verrà mantenuta la password admin locale data dall’immagine. Tuttavia, si attiverà dopo la scadenza di Ms-Mcs-AdmPwdTime.

Puoi usare il seguente comando PowerShell per resettare il ExpirationTime senza il modulo 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. Ricorda che l’attributo ms-Mcs-AdmPwd rimane nel cestino di AD

Quando cancelli un oggetto in AD e hai il cestino di AD abilitato, AD di solito rimuove gli attributi importanti; fortunatamente ms-Mcs-AdmPwd è protetto da questo!

5. LAPS non è per l’accesso temporaneo

Anche se è allettante, LAPS non è pensato per dare accesso temporaneo a fornitori, utenti e altri tipi di account. Invece di usare LAPS, usate un gruppo AD che sia un amministratore locale di quello specifico computer e usate TimeToLive sulle appartenenze di gruppo.

Conclusione

Ora avete imparato come distribuire LAPS, impostandone i permessi e alcuni suggerimenti e trucchi per renderlo più sicuro. In un ambiente in cui LAPS è distribuito, la password dell’amministratore locale cambia regolarmente e automaticamente. Questo riduce notevolmente i rischi di avere un computer collegato a un dominio preso d’assalto da hacker o malware e si spera che vi risparmi un sacco di mal di testa.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.