Privileged Access Management e Temporary Group Membership in Windows Server 2016 AD
Privileged Access Management (PAM) è una funzionalità introdotta in Windows Server 2016 che si basa sul principio dell’amministrazione Just In Time (JIT) e che permette di gestire quella che viene chiamata Just Enough Administration (JEA), che ha come scopo quello di aumentare la sicurezza nella gestione e nella delega dei privilegi in Windows Server.
JEA è un toolkit di Windows PowerShell che definisce un set di comandi per l’esecuzione di attività con privilegi. Limitando nel tempo i privilegi amministrativi è possibile anche aumentare il livello di sicurezza perché molto spesso si assegnano privilegi elevati e successivamente questi privilegi non vengono rimossi, o per dimenticanza o banalmente perché si sottovaluta il pericolo derivante dalla non adozione della modalità amministrativa del Least Administrative Privilege.
Se dobbiamo concedere ad esempio al gruppo di Help Desk o al consulente esterno di effettuare operazioni privilegiate adesso possiamo fare in modo che ci sia un limite di tempo all’appartenenza ad un gruppo amministrativo. Stesso discorso vale se dobbiamo eseguire degli script con un utente particolare.
Privileged Access Management (PAM) contribuisce quindi a risolvere il problema dell’accesso alle risorse di Active Directory ed evitare che gli autori di un attacco informatico possano ottenere le credenziali degli account amministrativi.
Prerequisiti
Per poter utilizzare PAM è necessario prima di tutto che il livello funzionale dalla Foresta di Active Directory sia Windows Server 2016. Inoltre PAM è una funzione che va abilitata, perché non è attiva di default.
Per verificare il livello funzionale della foresta e del dominio potete utilizzare la console Active Directory Administrative Center, come mostrato in figura:
Figura 1: Innalzamento del livello funzionale del Dominio e della Foresta
In alternativa potete anche usare i seguenti comandi PowerShell:
1 2 3 4 5 |
#Get the Active Directory Forest functional level (Get-ADForest).ForestMode #Get the Active Directory Domain functional level (Get-ADDomain).DomainMode |
Figura 2: Uso di PowerShell per la verifica dei livelli funzionali di dominio e di foresta
Per innalzare il livello funzionale del dominio e della foresta potete anche usare i comandi PowerShell:
1 2 3 4 5 |
#Raise livello funzionale del dominio a Windows 2016 Set-ADDomainMode -Identity demo.lab -DomainMode Windows2016 #Raise livello funzionale della foresta a Windows 2016 Set-ADForestMode -Identity demo.lab -ForestMode Windows2016 |
Abilitazione della funzionalità Privileged Access Management (PAM)
Una volta che vi siete accertati che la Foresta abbia il livello funzionale Windows Server 2016, potete installare la funzionalità PAM solo utilizzando PowerShell:
1 2 |
#Abilitazione della funzionalità Privileged Access Management (PAM) Enable-ADOptionalFeature "Privileged Access Management Feature" -Scope ForestorconfigurationSet -Target demo.lab |
Figura 3: Abilitazione della funzionalità Privileged Access Management (PAM)
Nota: Una volta abilitata la funzionalità non è possibile disabilitarla.
Per verificare se la funzionalità sia stata già installata è possibile usare la cmdlet
1 2 |
#Verifica dell'installazione della funzionalità Privileged Access Management (PAM) Get-ADOptionalFeature "Privileged Access Management Feature" |
Figura 4: Verifica dell’installazione della funzionalità Privileged Access Management (PAM) tramite PowerShell
Assegnazione temporanea dell’appartenenza di un utente ad un gruppo di Active Directory
Per poter assegnare temporaneamente uno o più utenti ad un gruppo di AD è necessario effettuare i seguenti comandi PowerShell:
1 2 3 4 5 |
#Definisco la durata di appartenenza al gruppo $durata = New-TimeSpan -Minutes 20 #Aggiungo al gruppo Domain Admind due utenti (attualmente Domain Users) Add-ADGroupMember -Identity "Domain Admins" -Members nicferr,hector -MemberTimeToLive $durata |
Figura 5: Aggiunta di due utenti al gruppo Domain Admins
Per verificare che i due utenti appartengano al gruppo Domain Admin vi basta poi lanciare la cmdlet
1 |
Get-ADGroup "Domain Admins" -Property Member -ShowMemberTimeToLive |
Figura 6: Verifica dell’appartenenza al gruppo Domain Admins
Come si può notare dalla figura sopra, il risultato riporta:
Member : {<TTL=1068>,CN=Ettore Ferrini,CN=Users,DC=demo,DC=lab, <TTL=1068>,CN=Nicola Ferrini,CN=Users,DC=demo,DC=lab, CN=Administrator,CN=Users,DC=demo,DC=lab}
Accanto ai nomi dei due utenti aggiunti al gruppo Domain Admins c’è un campo TTL (espresso in secondi), che indica la durata rimanente dell’appartenenza al gruppo stesso.
Conclusioni
Privileged Access Management (PAM) è una funzionalità concepita appositamente per gli account amministrativi. Gli amministratori (o gli script) che necessitano solo occasionalmente dell’accesso per gruppi con privilegi, possono richiedere questo accesso e mantenerlo per un periodo limitato di tempo, garantendo la modalità amministrativa del Least Administrative Privilege ed aumentando di fatto la sicurezza della nostra infrastruttura di Active Directory.
Per maggiori informazioni vi rimando all’articolo https://docs.microsoft.com/it-it/microsoft-identity-manager/pam/privileged-identity-management-for-active-directory-domain-services