giovedì 25 novembre 2021

Report password utenti AD

 Una delle cose a cui spesso e' necessario mettere mano con AD e' il discorso delle password.

Molto spesso sono impostate per non scadere mai, o potrebbe essere necessario farle scadere.

Il primo passo per prendere delle decisioni in merito e' un report sulle password. Io ho usato questi 2  script:

ES1:

Tutti gli utenti di AD

Get-ADUser -filter {Enabled -eq $True} –Properties DisplayName,msDS-UserPasswordExpiryTimeComputed,BadLogonCount,LastBadPasswordAttempt,LastLogonDate,PasswordExpired,PasswordLastSet,PasswordNeverExpires | Select-Object -Property "Displayname",DistinguishedName,@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}},BadLogonCount,LastBadPasswordAttempt,LastLogonDate,PasswordExpired,PasswordLastSet,PasswordNeverExpires | export-csv C:\Script\AD\ReportUserPassword\PwdUsersAll.csv

ES2:

Solo con password che non scadono

Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties DisplayName,msDS-UserPasswordExpiryTimeComputed,BadLogonCount,LastBadPasswordAttempt,LastLogonDate,PasswordExpired,PasswordLastSet,PasswordNeverExpires | Select-Object -Property "Displayname",DistinguishedName,@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}},BadLogonCount,LastBadPasswordAttempt,LastLogonDate,PasswordExpired,PasswordLastSet,PasswordNeverExpires | export-csv C:\Script\AD\ReportUserPassword\PwdUsersNEFalse.csv

A questo punto avete qualche informazione in piu per fare un'analisi e prendere delle decisioni.

Ricordate che obbligare gli utenti a cambiare password rappresenta potenzialmente del lavoro in piu, ma e' uno dei passaggi necessari per migliorare la sicurezza.

E possibile verificare la scadenza della password di un singolo utente di dominio in modo molto piu semplice:

net user c.ogura /domain

Vengono restituiti molti dati utili, anche sulle password 

Sulle impostazioni delle password e' importante impostare una scadenza (90/180 gg.), possibilmente dei criteri di complessiva, ed almeno una lunghezza minima, e magari un minimo di password ricordate in modo che non vengano usate a rotazione sempre le stesse. E' anche molto importante impostare un lockout automatico degli account. Questo non ci espone ad attacchi brute force. In pratica e' consigliabile bloccare un account per un periodo di tempo, anche breve, se un utente sbaglia la password per un certo numero di volte. 

In active directory le impostazioni per le password sono definite nella default domain policy, nel seguente percorso:

Computer configuration/Policies/Windows settings/Security settings/Account policies

Password policies

Account lockout policies 

Sarebbe inoltre molto utile monitorare l'event viewer per tentativi di accesso falliti ripetuti all'indirizzo di un utente. (ES: event viewer/security log/4625). Provate a controllare questo evento su un server RDP pubblicato senza VPN :). 

REFERENCE

https://social.technet.microsoft.com/wiki/contents/articles/12037.active-directory-get-aduser-default-and-extended-properties.aspx

https://www.pcwdld.com/password-expiration-date-ad-user#wbounce-modal

https://www.alitajran.com/create-active-directory-users-from-csv-with-powershell/

Nessun commento:

Posta un commento