LAPS, acronimo di Local Administrator Password Solution, è un software gratuito di Microsoft che permette di gestire le password degli amministratori locali in Windows. L’idea alla base di LAPS è quella di consentire ad un software di generare una password univoca per l’amministratore locale, conservandola poi sotto forma di testo semplice in un attributo Active Directory (AD).

La memorizzazione delle password sotto forma di testo semplice potrebbe sembrare in contrasto con qualsiasi buona procedura di sicurezza, tuttavia, dato che LAPS utilizza i permessi Active Directory, le password possono essere viste solo dagli utenti dotati di diritti oppure da coloro che appartengono a un gruppo dotato di tali diritti.

Local Administrator Password Solution (LAPS) permette di creare un repository centralizzato dove conservare le password per gli amministratori locali delle macchine (utenti che hanno il SID che finisce con .500) che sono collegate al dominio e vi permette di:

  • Avere una password univoca e quindi diversa su ogni computer che LAPS gestisce
  • Cambiare regolarmente la password dell’amministratore locale
  • Conservare le password in un attributo del computer in Active Directory
  • Configurare e controllare gli accessi alle password
  • Trasmettere in maniera sicura le password ai computer gestiti

LAPS funziona sia sulle versioni a 32 bit che a 64 bit di Windows 10, Windows 8, Windows 8.1, Windows 7, Windows Vista, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 e richiede che il livello funzionale del dominio sia almeno Windows Server 2003 o successivo.

Lo strumento è utile per le applicazioni dotate di login automatico. Il nuovo Windows Admin Center costituisce un ottimo esempio.

Dopo aver distribuito il client sulle macchine da amministrare, ogni volta che avviene il refresh delle Group Policy, vengono effettuate le seguenti operazioni:

  • LAPS controlla se la password dell’amministratore è scaduta
  • Se la password è scaduta viene generata una nuova password, che viene conservata in un particolare attributo di AD del computer, e viene trasmessa al computer e quindi assegnata all’account amministrativo

Per impostare LAPS e garantirne il corretto funzionamento, è necessario eseguire alcune operazioni.

  1. Scaricare il file LAPS MSI
  2. Modificare lo schema
  3. Installare i file LAPS Group Policy
  4. Assegnare i permessi ai gruppi
  5. Installare il LAPS DLL
Microsoft LAPS: implementazione e configurazione - Sicurezza Informatica - Nexsys

LAPS: come scaricarlo

LAPS è fornito con un file MSI che è necessario scaricare e installare su una macchina client. Il tool è scaricabile dall’indirizzo https://www.microsoft.com/en-us/download/details.aspx?id=46899

Prima di poter configurare i computer, sarà necessario spostarli in una OU dedicata, a cui verranno successivamente associate le Group Policy per la gestione. Scaricate LAPS e installate solo i tool di gestione. Disabilitate l’AdmPwd GPO Extension ed abilitate tutti management Tools.

Prima di utilizzare il tool sarà necessario aggiornare lo schema di Active Directory. Lanciare, quindi, un prompt di PowerShell con privilegi elevati ed eseguire i seguenti comandi:

Import-Module admpwd.ps

Update-AdmPwdADSchema (funzione inclusa nel modulo PowerShell installato insieme al tool)

Set-AdmPwdComputerSelfPermission -Identity “xxx” (xxx è l’organizational unit dentro la quale ci sono i computer da gestire)

Ricordatevi che per poter aggiornare lo schema dovete eseguire la cmdlet Update-AdmPwdADSchema con privilegi di Enterprise Admin o di Schema Admin.

A questo punto create una nuova GPO e collegatela alla OU che volete gestire. Editate la GPO e dopo esservi spostati nel ramo Computer ConfigurationàPoliciesàAdministrative TemplatesàLAPS, modificate il parametro Enable local admin password management mettendolo su Enabled e il parametro Password Settings scegliendo lunghezza e durata della password.

LAPS: modificare lo schema

LAPS deve aggiungere due attributi ad Active Directory, ovvero la password dell’amministratore e l’orario di scadenza. La modifica dello schema richiede che sia installato il componente LAPS PowerShell. A questo punto, è necessario lanciare PowerShell ed eseguire i seguenti comandi: Import-module AdmPwd.PSUpdate-AdmPwdADSchema

Questi comandi vanno eseguiti mentre si è collegati alla rete come amministratori dello schema.

LAPS: installare i file della policy di gruppo

La policy di gruppo deve essere installata sui server AD. Il file *.admx va nella cartella “windows\policydefintions”, mentre il file *.adml va in \windows\policydefinitions\[lingua]

Dopo l’installazione, dovresti vedere una sezione LAPS in GPMC, selezionando Computer configuration -> Policies -> Administrative Templates -> LAPS

Microsoft LAPS: implementazione e configurazione - Sicurezza Informatica - Nexsys

Si presentano quattro opzioni:

Password Settings – permettono di definire la complessità della password e la frequenza con cui deve essere cambiata.

Name of administrator account to manage – necessario se si decide di attribuire un nome diverso all’amministratore, se non si rinomina lasciare “not configured”.

Do not allow password expiration time longer than required by policy – nei casi in cui il dispositivo non si trovi sulla rete quando la password scade, LAPS aspetterà a cambiare quest’ultima. Con l’impostazione FALSE, la password sarà cambiata anche se non può parlare ad AD.

Enable local password management – abilita la policy di gruppo (GPO) e consente al computer di inviare la password ad Active Directory.

L’unica opzione che deve essere modificata da “not configured” è “Enable local admin password management” per abilitare la policy LAPS. Senza questa impostazione, pur implementando un LAPS GPO su una macchina client, non funzionerà.

LAPS: assegnare i permessi ai gruppi

Ora che lo schema è stato esteso, è necessario configurare la policy di gruppo LAPS e assegnare i permessi. Creare un’unità organizzativa (OU), dove i computer ricevono la policy LAPS, un gruppo di sola lettura e un gruppo di lettura/scrittura.

Poiché LAPS è un processo di tipo push l’oggetto SELF del computer in AD deve avere il permesso di scrivere ad AD. Il comando PowerShell che permette tutto ciò è il seguente: Set-AdmPwdComputerSelfPermission -OrgUnit <name of the OU to delegate permissions>

Per consentire ai responsabili dell’helpdesk di leggere le password è necessario attribuire tale permesso a un gruppo, attraverso questa riga di PowerShell: Set-AdmPwdReadPasswordPermission -OrgUnit <name of the OU to delegate permissions> -AllowedPrincipals <users or groups>

L’ultimo gruppo da impostare è un gruppo “LAPS Admins” che può dire a LAPS di reimpostare una password la prossima volta che il computer si collega ad AD. Anche questo avviene attraverso un comando PowerShell: Set-AdmPwdResetPasswordPermission -OrgUnit <name of the OU to delegate permissions> -AllowedPrincipals <users or groups>

Una volta impostati tutti i permessi necessari, è possibile trasferire i computer nell’unità organizzativa abilitata per LAPS e installare il LAPS DLL su queste macchine.

Microsoft LAPS: implementazione e configurazione - Sicurezza Informatica - Nexsys

LAPS: DLL

Ora che sono stati impostati i permessi e l’unità organizzativa, il file admpwd.dll deve essere installato su tutte le macchine a cui è stato assegnata la policy di gruppo LAPS.

Esistono due modi per farlo: per prima cosa, si può selezionare l’estensione admpwd dll dal file LAPS MSI, in alternativa è possibile copiare il DLL (admpwd.dll) in una posizione del percorso, come “%windir%\system32”, e quindi lanciare il comando regsvr32.exe AdmPwd.dll.

Questa procedura può essere inclusa anche in uno script di start-up GPO oppure in un’immagine di riferimento per le implementazioni future.

Ora che il DLL è stato installato sul client, un gpupdate /force dovrebbe consentire al DLL installato localmente di fare il proprio lavoro, inviando la password ad AD per il recupero futuro.

Il recupero delle password è molto semplice. Se l’utente in questione dispone almeno del permesso LAPS in lettura, può utilizzare l’interfaccia grafica utente LAPS per recuperare la password.

L’interfaccia grafica utente LAPS può essere installata eseguendo la procedura di impostazione e assicurandosi che sia selezionata l’opzione “Fat Client UI”. Una volta installata, può essere eseguita semplicemente lanciando la “LAPS UI”.

A questo punto, basta digitare il nome del computer per il quale si desidera la password di amministratore locale e, se i permessi sono stati impostati correttamente, comparirà la password e la scadenza della stessa.

In alternativa all’interfaccia grafica è anche possibile utilizzare la cmdlet Get-AdmPwdPassword CL1 | Out-Gridview oppure visualizzare il valore dell’attributo ms-Mcs-AdmPwd del Computer Account in modalità visualizzazione avanzata della console di Active Directory Users and Computers.

Per permettere ai computer di poter aggiornare la password dell’amministratore locale quando scade è sufficiente eseguire con privilegi elevati la cmdlet di Powershell Set-AdmPwdComputerSelfPermission -Identity “xxx“

Per impostazione predefinita, i gruppi Domain Admins ed Enterprise Admins possono visualizzare le password gestite tramite LAPS. Se volete delegare ad un gruppo specifico la possibilità di vedere le password dell’amministratore locale sarà necessario eseguire la cmdlet di Powershell Set-AdmPwdReadPasswordPermission -Identity “xxx” -AllowedPrincipals “xxx_ITOps”.

Microsoft LAPS: implementazione e configurazione - Sicurezza Informatica - Nexsys

LAPS: risoluzione dei problemi

LAPS può presentare qualche stranezza (come accade spesso anche con altre soluzioni): i due casi più diffusi sono l’impossibilità di visualizzare le password da parte del personale dotato di permessi e il mancato aggiornamento della password da parte delle macchine client.

Per prima cosa, è necessario controllare che il file admpwd.dll sia installato e registrato, poi che la policy di gruppo stia applicando al server da modificare la password dell’amministratore locale, tramite il comando gpresult /r

Controllare, poi, che la policy di gruppo sia effettivamente abilitata. Una delle stranezze di LAPS è che è perfettamente possibile impostare tutto nella policy di gruppo e assegnarla a un’unità organizzativa, tuttavia essa non farà nulla se non è stata selezionata l’opzione “Enable Local password management”.

Se i problemi persistono, il consiglio è quello di controllare nuovamente che i permessi siano stati assegnati. LAPS non emetterà un errore, tuttavia l’interfaccia grafica utente mostrerà un campo vuoto al posto della password, il che significa che la password non è stata impostata, oppure che i permessi non sono stati definiti correttamente.

È possibile controllare i permessi attraverso la sezione degli attributi estesi dei permessi Windows. Si può accedere a questa sessione lanciando utenti e computer Active Directory -> Sfoglia fino all’oggetto computer -> Proprietà -> Sicurezza -> Avanzate

Fare doppio clic sull’entità di sicurezza. Scorrere verso il basso e verificare che siano stati selezionati Read ms-Mcs-AdmPwd e Write ms-Mcs-admpwd.

LAPS: conclusioni

Local Administrator Password Solution (LAPS) permette di semplificare la gestione delle password degli amministratori locali ed aumenta il livello di sicurezza delle postazioni di lavoro. Molto spesso l’utilizzo della stessa password, che si ripete da diversi anni, è una vulnerabilità sensibile delle nostre macchine e le espone alla possibilità di essere facilmente attaccate o di essere amministrate da utenti non autorizzati.

La sicurezza informatica passa per ogni singolo dettaglio ed i client sono forse l’aspetto su cui focalizzare le forze maggiori, perché più esposti e perché gestiti da utenti che ignorano il concetto di security e che molte volte ignorano di fare, o non fare, certe cose. A questo si unisce il fatto che non tutte le aziende hanno strumenti XDR o sistemi per proteggere i file server, la posta elettronica e tutto quello che viene usato in azienda.

Microsoft Local Administrator Password Solution è sicuramente un grande strumento che ogni azienda dovrebbe implementare per aumentare la sicurezza interna alla propria infrastruttura aziendale. Nel caso di infrastrutture complesse, è consigliato affidarsi ad aziende esperte del settore in grado di fornirvi un’assistenza informatica professionale.