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