Home > Active Directory, Guide, HelpDesk, Sistemista@Work > Windows 2008/2008R2 fine-grained password and lockout policy

Windows 2008/2008R2 fine-grained password and lockout policy

20 Gennaio 2012

 

In Windows 2000 e 2003 non è possibile definire più policy password, magari per avere criteri di sicurezza più stringenti per determinati account, ma si ha una sola Policy password applicata all’intero dominio.

Per avere Policy password diverse era necessario quindi creare un nuovo dominio o affidarsi a soluzioni di terzi produttori.

In Windows 2008 è ora possibile definire password policy multiple tramite l’introduzione della feature fine-grained password and lockout policy che si basa su due nuove classi di oggetti

  • Password Settings Container
  • Password Settings Object

La Classe Passowrd Settings Container viene creato durante la crezione del dominio

CN=Password Settings Container, CN=System, DC=Domain, DC=ExtensionDomain

questa classe non è cancellabile ne modificabile

La classe Password Settings Object contiene le diverse impostazioni di password che si vogliono utilizzare, gli oggetti di questa classe possono essere creati e modificati.

Bene tenere presente comunque che esiste soltanto una Password and lockup Policy Settings che è applicata a tutti gli utenti del dominio, il Fine-Grained password policy sono applicati tramite i PSO a specifici utenti o membri di gruppi globali.

Requisiti

Domain Functional Level: Windows 2008, questo significa che tutti i domain controller del dominio devono essere almeno Windows 2008 Server.

Solo gli amministratori di dominio possono creare, modificare e collegare PSO. E’ comunque possibile effettuare una delega.

Priorità

Ogni PSO, come per le Policy, ha un valore che ne indica la precedenza, 1 indica la precedenza più alta rispetto a 2.

-PSO vengono applicati quelli con precedenza più alta. PSO con precedenza 1 prioritario rispetto a PSO precedenza 2 ecc…

-PSO applicati direttamente ad utenti hanno la precedenza su quelli applicati ai gruppi

-In caso di PSO con stesso precedenza verrà applicato quello con GUID più basso

Implementazione

I PSO non vengono applicati a specifiche OU ma applicati direttamente a global group o utenti, è possibile quindi creare un gruppo globale, inserire in questo gli utenti oggetto della speficia fine-granted password e poi associare il PSO a questo global group .

Le impostazioni gestibili tramite il fine-grainted password sono identiche a quelle presenti nella Password Policy delle GPO, tuttavia la gestione non avviene tramite GPO ma manca di una propria GUI e va eseguita tramite ADSIEdit, LDIF, PowerShell, tool di terze parti come https://www.specopssoft.com

Questi gli attributi di un PSO

msDS-PasswordSettingsPrecedence
GPO: Password Settings
Valore arbitrario usato per definire quale policy ha la precedenza se ad un gruppo si applicano più PSO.

msDS-PasswordReversibleEncrisptionEnable
GPO: Password Settings
Booleano (default FALSE). Definisce se la password deve essere salvata in reversible encription

msDS-PasswordHistoryLength
GPO: Password Settings
Numero di password usate memorizzate dal sistema. Determina quante password un utente deve cambiare prima di poterne riutilizzare una. (default 24)

msDS-ComplexityEnabled
GPO: Password Settings
Booleano (default TRUE). Definisce se la password deve rispettare i criteri di complessità

msDS-MimimumPasswordLength
GPO: Password Settings
Definisce la lunghezza minima di una password (default 7)

msDS-MinimumPasswordAge
GPO: Password Settings
Formato I8 (default 1 giorno = -864000000000) Durata minima di un password prima di poter essere modificata.

msDS-MaximumPasswordAge
GPO: Password Settings
Formato I8 (default 42 giorni = -36288000000000) Durata massima di una password

msDS-LockoutThreshold
GPO: Account Lockout
(Default 0) Definisce il numero di tentativi falliti prima di mettere un utente in lockout

msDS-LockoutObservationWindows
GPO: Account Lockout
Formato I8 (default 30 minuti = -18000000000) Dopo quanto tempo, dall’ultimo tentativo, il conteggio dei tentativi errati di logon viene azzerato

msDS-LockoutDuration
GPO: Account Lockout
Formato I8 (default 30 minuti = -18000000000)

msDS-PSOAppliesTo
Elenco degli oggetti (User Account e/o Global Security Group) a cui la policy si applica

 

I valori che indicano intervalli temporali sono espresso nel formato I8, cioè in nanosecondi negativi

 

Creazione PSO tramite ADSIEdit

  • Avviare ADSIEdit
  • click tasto destro, selezionare connect to, inserire il nome dominio e premere ok
  • Espandere il nome principale, espandere il Distingued Name del dominio, espandere CN=System, e selezionare CN=Password Settings Container. Qui sono elencati i vari PSO creati

img1_1

  • Tasto destro e “New Object”

img3

  • proseguire indicando le impostazioni password e lockout volute. nell’ordine viene richiesti
    • CN
    • msDS-PasswordSettingsPrecedence
    • msDS-PasswordReversibleEncryptionEnabled
    • msDS-PasswordHistoryLength
    • msDS-PasswordComplexityEnabled
    • msDS-MinimumPasswordLength
    • msDS-MinimumPasswordAge
    • MaximumPasswordAge
    • msDS-LockoutThreshold
    • msDS-LockoutObservationWindow
    • msDS-LockoutDuration
  • Indicare ora a quali gruppi/utenti/utente applicare tale PSO, tasto destro sul PSO creato e scorrere la lista attributi fino a msDS-PSOAppliesTo, click su “Edit” e aggiungere  gli utenti o il DN del Global Group a cui applicare il PSO

img4

 

 

 

msDS-ResultantPSO e msDS-PSOApplied

l’attributo msDS-ResultantPSO mostra il PSO applicato all’utente, per visualizzarlo:

  • aprire lo snap-in Active Directory Users and Computers
  • e attivare la Advance Features.
  • Visualizzare le proprieta’ dell’utente e selezionare la scheda Attribute Editor
  • Selezionare Constructed dal pulsante Filter
  • Scorrere la lista attributi fino a msDS-ResultantPSO

img5

 

l’attributo msDS-PSOApplied mostra il PSO applicato ad un dato Global Group, per visualizzarlo:

  • aprire lo snap-in Active Directory Users and Computers
  • e attivare la Advance Features.
  • Visualizzare le proprieta’ dell’Global Gorup e selezionare la scheda Attribute Editor
  • Selezionare BackLinks dal pulsante Filter
  • Scorrere la lista attributi fino a msDS-PSOApplied

img6

 

Creazione PSO tramite LDIF

Il file LDIF per la creazione di un PSO deve contenere le direttive:

dn: CN=PSO_LDIF,CN=Password Settings Container,CN=System,DC=protasi,DC=local
changetype: add
objectClass: msDS-PasswordSettings
msDS-MaximumPasswordAge:-1728000000000
msDS-MinimumPasswordAge:-864000000000
msDS-MinimumPasswordLength:15
msDS-PasswordHistoryLength:30
msDS-PasswordComplexityEnabled:TRUE
msDS-PasswordReversibleEncryptionEnabled:FALSE
msDS-LockoutObservationWindow:-18000000000
msDS-LockoutDuration:-18000000000
msDS-LockoutThreshold:0
msDS-PasswordSettingsPrecedence:20
msDS-PSOAppliesTo:CN=PSO_Example2,OU=Group,DC=protasi,DC=local

 

l’importazione in Active Directory avviene con lo strumento ldifde (supponendo di aver chiamato il file PSO2.ldif) da riga di comando

ldifde -i -f PSO2.ldif

 

img8

 

 

Powershell

non poteva mancare l’opzione PowerShell, ecco un esempio

New-ADFineGrainedPasswordPolicy -Name “PSO_PowerShell” -Precedence 500 -ComplexityEnabled $true -Description “The Domain Users Password Policy”-DisplayName “Domain Users PSO” -LockoutDuration “0.12:00:00” -LockoutObservationWindow “0.00:15:00” -LockoutThreshold 10 -MaxPasswordAge “60.00:00:00” -MinPasswordAge “1.00:00:00” -MinPasswordLength 8 -PasswordHistoryCount 24 -ReversibleEncryptionEnabled $false

 

Risorse Correlate

https://technet.microsoft.com/en-us/library/dd367859(WS.10).aspx

https://technet.microsoft.com/en-us/library/cc770842(WS.10).aspx

https://technet.microsoft.com/en-us/library/cc754461(WS.10).aspx

https://blogs.technet.com/b/italy/archive/2007/05/23/technet-newwave-tour-approfondimenti-su-password-policy.aspx

https://technet.microsoft.com/it-it/library/cc754461(WS.10).aspx

30.133 Visualizzazioni