Come ripulire Active Directory: Best practice e suggerimenti

ripulire Active Directory

Active Directory (AD) rappresenta uno dei prodotti che tendono a diventare troppo ingombranti. Più dati avrai a disposizione, più difficile sarà fare qualsiasi cosa, dalla gestione degli utenti AD all’impostazione dei backup AD. È un prodotto in cui molte persone apportano modifiche ogni giorno e che alla fine si trasforma in un enorme ammasso di materiale che in qualche modo funziona ancora. Anche il reparto IT con le migliori intenzioni si ritrova spesso un ambiente Active Directory con molti account utente non più necessari, GPO collegati a UO di cui non si conosceva nemmeno l’esistenza e account di computer che rappresentano computer scomparsi da tempo. Questa situazione sembra insinuarsi nelle persone. Un giorno, qualcuno si siede davanti ad Active Directory Users and Computers (ADUC) e ha un momento in cui pensa: “Wow! Questo deve essere ripulito”.

Se sì, sei nel posto giusto. Questo articolo illustra come ripulire Active Directory utilizzando le best practice e altri suggerimenti.

Segni che è necessario ripulire Active Directory

Quando ti rende conto che l’AD ha bisogno di essere ripulito, è probabile che si tratti di un compito scoraggiante e travolgente. Potresti iniziare un progetto per “ripulire le cose”, ma presto scoprirai che cliccare con il pulsante destro del mouse e cancellare non è sufficiente.

Ci sono molti modi per rendere questo progetto un successo, con il primo compito di definire cosa significa esattamente “ripulire”. Per questo articolo, considereremo “ripulire” AD come un miglioramento di questi 5 aspetti essenziali.

  • Prestazioni. Una AD ingombrante può portare a un traffico di repliche non necessario. Uno dei segni più evidenti di una AD mal funzionante è il tempo: AD impiega più tempo del solito per autenticare gli utenti, cercare oggetti AD o scaricare oggetti Criteri di gruppo?
  • Sicurezza.  Gli attori delle minacce cercano sempre di sfruttare le organizzazioni. Un modo per farlo è tentare di accedere alle reti impossessandosi degli account utente di Active Directory.
  • Conformità. Una regolare pulizia di Active Directory aiuta a rispettare i mandati normativi, dal GDPR al PCI-DSS.
  • Operazioni IT. Una Active Directory ingombrante renderà molto più difficile la gestione da parte degli amministratori IT. Questo può portare a un’inefficienza generale, in quanto il team IT deve dedicare più tempo all’utilizzo di AD piuttosto che ad altri progetti strategici.
  • Agilità aziendale. Active Directory è fondamentale per molte attività e ripulire AD può aiutarti a rimanere agili e a mantenere il tuo vantaggio competitivo.

Una Active Directory mal gestita

  • Ha molti dirty data (dagli account utente obsoleti a quelli duplicati).
  • Ha gruppi di distribuzione vuoti o duplicati.
  • Fornisce scarse informazioni sulle autorizzazioni di accesso ai gruppi di sicurezza.
  • Mostra la mancanza di processi consolidati per il provisioning e il de-provisioning.
  • Impossibile determinare la proprietà di oggetti e gruppi.
  • Mostra gli attributi degli oggetti imprecisi o incompleti.

3 attributi degli account utente non utilizzati

Concentriamoci ora sugli account utente non utilizzati. In particolare, discutiamo i tre attributi che possono rendere un account utente “eliminabile”. Tali attributi sono: a) account disabilitati, b) account non utilizzati da X giorni e c) account con password scadute.

Uno dei modi più semplici per trovare questi account potenzialmente inutilizzati è usare PowerShell. ActiveDirectory PowerShell è un modulo che include un cmdlet estremamente utile, chiamato Search-AdAccount, che consente di creare query e di restituire facilmente ciò di cui abbiamo bisogno. Prima di poter utilizzare questo cmdlet, tuttavia, è necessario scaricare il pacchetto Remote Server Administration Tools (RSAT) da Microsoft. Una volta installato RSAT, dovresti avere il modulo ActiveDirectory e sarai pronto a iniziare! Inoltre, affinché il codice riportato di seguito funzioni, si presuppone che il PC Windows sia collegato allo stesso dominio degli utenti che desideri trovare.

Detto questo, iniziamo!

Trova gli account disabilitati in Active Directory

Il primo compito è trovare gli account disabilitati. Per trovare gli account disabilitati, utilizzeremo il cmdlet Search-ADAccount. Questo cmdlet ha un unico parametro chiamato Disabled che rende l’operazione un gioco da ragazzi. È sufficiente eseguire Search-AdAccount -AccountDisabled e voilà, tutti i tuoi account disabilitati verranno visualizzati. Tieni in considerazione che ho usato il parametro UsersOnly perché questo cmdlet può trovare anche account di computer disabilitati.

C:> Search-ADAccount -UsersOnly -AccountDisabled -Server dc

AccountExpirationDate :
DistinguishedName : CN=Guest, CN=Users, DC=mylab, DC=local
Enabled : False
LastLogonDate :
LockedOut : False
Name : Guest
ObjectClass : user
ObjectGUID : 89cfaf2b-c6d8-4ae0-a720-e2da7d201717
PasswordExpired : False
PasswordNeverExpires : True
SamAccountName : Guest
SID : S-1-5-21-4117810001-3432493942-696130396-501
UserPrincipalName :
............

Trova gli account utente inattivi nella directory attiva

Un altro sospetto abituale da ripulire sono gli account utente inattivi, un po’ più difficili da rintracciare. “Inattivo” è un termine soggettivo, quindi per i nostri scopi definiremo “inattivo” qualsiasi utente che abbia un valore di LastLogonTimeStamp superiore a 30 giorni. Su Internet si trovano molti articoli sulla ricerca di utenti inattivi, ma alcuni non si rendono conto che è molto più facile che costruire complicati filtri AD LDAP. Il supporto è nativo in Search-AdAccount.

È possibile utilizzare  Search-AdAccount -AccountInactive -UsersOnly -Timespan 30.00:00:00 per trovare immediatamente tutti gli account utente AD che non sono stati utilizzati negli ultimi 30 giorni.

Tuttavia, c’è un’avvertenza. Microsoft aggiorna l’attributo LastLogonTimestamp, che è lo stesso di LastLogonDate, solo una volta ogni 14 giorni per evitare tempeste di repliche. A causa di questa caratteristica di AD, l’uso di questo metodo (o anche di Get-AdUser o Get-AdComputer con il filtro avanzato) non sarà preciso al 100% se si cerca di ottenere account con inattività superiore a 14 giorni. Perciò, fai attenzione.

Infine, dobbiamo trovare tutti gli utenti AD che hanno una password scaduta e non più necessaria. Questo è complicato perché gli account utente “attivi” potrebbero avere una password scaduta se è scaduta da poco. Non ho solo bisogno di trovare le password scadute, ma anche di sapere da quanto tempo sono scadute. Se sono scadute da almeno 30 giorni, posso presumere che questi account utente siano effettivamente inattivi.

Per scoprire da quanto tempo è scaduta una password, devo prima trovare l’età massima della password per il criterio di password del dominio. Posso farlo con il cmdlet Get-AdDefaultDomainPasswordPolicy.

$MaxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days

Successivamente, posso trovare tutti gli account utente che hanno una password scaduta, per poi filtrare gli account di questi utenti vedendo l’ultima volta che la loro password è stata impostata e assicurandomi che fosse prima del tempo massimo che la password può avere, più di 30 (l’età che definisco per account).

Il codice sarà simile a questo:

Search-AdAccount -PasswordExpired -UsersOnly | Where-Object {((Get-Date) - (Get-AdUser -Filter "samAccountName -eq $_.SamAccountName").PasswordLastSet) -lt ($MaxPasswordAge + 30)}

La prossima volta che cerchi in AD i record inattivi, assicurati di dare un’occhiata a Search-AdAccount per vedere se esegue già quello che stai cercando di fare. Potrebbe farti risparmiare un sacco di tempo!

Vantaggi del ripulire AD

Secondo TechRadar, Active Directory è il servizio di directory proprietario di Windows, utilizzato dal 90% delle organizzazioni in tutto il mondo.

La sua popolarità è meritata: L’AD è fondamentale per la nostra vita lavorativa quotidiana, in quanto consente alle aziende di definire chi può fare cosa nella propria rete, gestendo al contempo varie risorse, dispositivi endpoint e sistemi.

Ripulendo l’AD, garantisci che la tua azienda mantenga l’efficienza operativa, incrementi l’integrità dei dati e pratichi una migliore governance dei dati. Si tratta di un processo essenziale che tutti gli MSP, gli MSSP e le aziende IT devono includere nelle loro strategie di manutenzione per continuare a fornire servizi di alta qualità ai loro utenti finali.

Best practice per ripulire Active Directory

Oltre a ciò che ho menzionato in precedenza(come la ricerca di account disabilitati e inattivi in Active Directory e tutto il resto), sarebbe prudente discutere altre best practice per ripulire Active Directory in modo che la tua rete IT rimanga efficiente, sicura e conforme.

Ripulire i criteri di gruppo obsoleti

Gli oggetti dei criteri di gruppo (GPO) non necessari possono rallentare l’AD. È consigliabile rivedere e scollegare regolarmente questi GPO tramite PowerShell o la Console di gestione dei Criteri di gruppo.

Ottimizzare gli script di accesso degli utenti

I script di accesso difettosi possono avere un impatto significativo sulle prestazioni. Per vedere l’impatto completo di questi script, prova a usare PowerShell, in particolare Get-GPResultantSetOfPolicy. Se lo consideri necessario, puoi anche forzare un aggiornamento dei criteri di gruppo da remoto.

Gruppi di sicurezza per l’audit

Come per qualsiasi cosa gestita, è opportuno controllare regolarmente i gruppi di sicurezza utilizzando comandi PowerShell come Get-ADGroupMember. Per uno script completo sulla modifica del membership degli utenti, consulta questo script di NinjaOne. Ricorda: i gruppi vuoti, inattivi o con un solo utente molto probabilmente non hanno alcuna utilità per l’organizzazione.

Gestire la replica di Active Directory

Assicurati di regolare con precisione gli intervalli di replica e di ottimizzare le topologie per aumentare le prestazioni di AD. Sottolineo ancora una volta che la “ripulire Active Directory” implica più di eliminare gli account e sperare per il meglio. Si tratta piuttosto di un processo in più fasi che richiede anche agli amministratori IT di riorganizzare gli account utente e i gruppi di Active Directory. Consiglio di utilizzare questo script di NinjaOne per visualizzare il report sull’integrità della replica di Active Directory.

Gestisci gli utenti di Active Directory con NinjaOne

NinjaOne offre uno strumento di gestione di Active Directory integrato direttamente nella sua piattaforma di gestione degli endpoint. Con NinjaOne puoi disabilitare facilmente gli account, sbloccare gli utenti, reimpostare le password e molto altro ancora, tutto da un unico pannello centralizzato!

Se sei pronto, richiedi un preventivo gratuito o guarda una demo.

Adam Bertram è un MVP di Microsoft Windows Cloud e Datacenter Management ed è autore di vari corsi di formazione, collabora regolarmente a numerose pubblicazioni cartacee e online e presenta a vari gruppi di utenti e conferenze. Puoi trovare Adam all’indirizzo adamtheautomator.com.

Adam Bertram foto

Passi successivi

La creazione di un team IT efficiente ed efficace richiede una soluzione centralizzata che funga da principale strumento per la fornitura di servizi. NinjaOne consente ai team IT di monitorare, gestire, proteggere e supportare tutti i dispositivi, ovunque essi si trovino, senza la necessità di una complessa infrastruttura locale.

Scopri di più su NinjaOne Endpoint Management, fai un tour dal vivoinizia la tua prova gratuita della piattaforma NinjaOne.

Ti potrebbe interessare anche

Pronto a semplificare le parti più complesse dell'IT?
×

Guarda NinjaOne in azione!

Inviando questo modulo, accetto La politica sulla privacy di NinjaOne.

Termini e condizioni NinjaOne

Cliccando sul pulsante “Accetto” qui sotto, dichiari di accettare i seguenti termini legali e le nostre condizioni d’uso:

  • Diritti di proprietà: NinjaOne possiede e continuerà a possedere tutti i diritti, i titoli e gli interessi relativi allo script (compreso il copyright). NinjaOne ti concede una licenza limitata per l’utilizzo dello script in conformità con i presenti termini legali.
  • Limitazione d’uso: Puoi utilizzare lo script solo per legittimi scopi personali o aziendali interni e non puoi condividere lo script con altri soggetti.
  • Divieto di ripubblicazione: In nessun caso ti è consentito ripubblicare lo script in una libreria di script appartenente o sotto il controllo di un altro fornitore di software.
  • Esclusione di garanzia: Lo script viene fornito “così com’è” e “come disponibile”, senza garanzie di alcun tipo. NinjaOne non promette né garantisce che lo script sia privo di difetti o che soddisfi le tue esigenze o aspettative specifiche.
  • Assunzione del rischio: L’uso che farai dello script è da intendersi a tuo rischio. Riconosci che l’utilizzo dello script comporta alcuni rischi intrinseci, che comprendi e sei pronto ad assumerti.
  • Rinuncia e liberatoria: Non riterrai NinjaOne responsabile di eventuali conseguenze negative o indesiderate derivanti dall’uso dello script e rinuncerai a qualsiasi diritto legale o di equità e a qualsiasi rivalsa nei confronti di NinjaOne in relazione all’uso dello script.
  • EULA: Se sei un cliente NinjaOne, l’uso dello script è soggetto al Contratto di licenza con l’utente finale (EULA) applicabile.