Rilevamento dei permessi delegati in Active Directory
Oct 27, 2016
I permessi di sicurezza in Active Directory possono essere un argomento complesso. Non solo Microsoft li nasconde di default in Users and Computers, ma non esiste nemmeno uno strumento integrato per avere una visione completa di come i permessi siano stati applicati a AD.
In this article, I’ll take you through the basics of delegating, removing permissions, using built–in tools to find permissions that have been delegated, and finally a custom PowerShell script that scans AD.
Perché delegare?
Immagina di essere il capo di una grande azienda con diversi dipartimenti: finanza, risorse umane, vendite, alta direzione. Se ogni utente che dimenticasse la propria password dovesse chiamare il helpdesk IT, sareste sommersi di chiamate.
Invece, potresti delegare i permessi al capo di ogni dipartimento in modo che possa reimpostare le password del proprio team.
Un altro caso d'uso classico per la delega è la capacità del personale di inviare email a vicenda, sia tramite una casella di posta condivisa, sia un assistente che invia email per conto del proprio capo.
Dare a tutti i privilegi di Domain Admin?
Potresti aver pensato—okay, diamo a ogni responsabile di dipartimento i permessi di Domain Admin, così possono reimpostare le password quando necessario.
Anche se tecnicamente vero, sarebbero poi in grado di fare qualsiasi cosa tu possa fare, incluso l'accesso ai dati degli utenti. Violazione dei dati in corso!
Come delegare i permessi in AD
Il modo corretto di ottenere ciò, ovviamente, è utilizzando la Delegation. Questo ti permetterà di selezionare individualmente i permessi che vuoi concedere.
1. Apri Active Directory Users and Computers e connettiti al tuo dominio di test preferito.
2. Fare clic con il pulsante destro del mouse sull'Unità Organizzativa del dipartimento a cui si desidera dare il permesso di reimpostare le password.
3. Trova l'opzione 'Delegate Control' (questa dovrebbe essere la prima opzione nell'elenco). Clicca su questa e premi Avanti.
4. Viene ora richiesto di scegliere utenti o gruppi ai quali si desidera delegare il controllo: queste sono le persone che si vuole possano eseguire un'operazione.
È ALTAMENTE consigliato creare un gruppo di sicurezza per ogni insieme di permessi che si sta delegando (ad esempio, uno per 'Sales – Password Reset Ability', 'HR – Password Reset Ability'). Questo permette di aggiungere o rimuovere molto facilmente gli utenti da questi gruppi in futuro, piuttosto che dover gestire direttamente i permessi.
5. Procedi e aggiungi un gruppo. (Nella figura qui sotto ho aggiunto il nostro team di alta direzione.)
6. Premere avanti e poi selezionare l'opzione 'Reimposta le password degli utenti e forza il cambio della password al prossimo accesso'.
7. Premi avanti e poi fine—hai finito!
Rimozione dei permessi delegati in AD
Ora che hai completato la procedura guidata, potresti chiederti come verificare di aver effettivamente delegato i permessi e come rimuoverli di nuovo.
1. Da Users and Computers, premere il menu Visualizza e assicurarsi che l'opzione 'Funzionalità avanzate' sia selezionata.
2. Selezionando questa casella, potrai visualizzare la scheda Sicurezza quando scegli Proprietà sugli oggetti in Active Directory.
Fai clic con il tasto destro sulla stessa OU a cui hai appena delegato i permessi e scegli Proprietà, poi la scheda Sicurezza.
3. Scegli 'Avanzate' e poi scorri verso l'alto e verso il basso fino a trovare il gruppo a cui hai appena dato i permessi. Dovresti vedere il permesso 'Reset Password' elencato sotto 'Accesso'.
4. Se si desiderasse rimuovere questo permesso, si potrebbe selezionarlo e premere Rimuovi, ma per ora lasciatelo in posizione e premete Annulla.
Come puoi vedere, trovare i permessi delegati è piuttosto difficile, specialmente quando consideri che puoi delegare non solo alle OU, ma anche ai gruppi di sicurezza e persino agli stessi oggetti utente.
Semplifica l'analisi dei permessi di AD
Scopri come Netwrix Access Analyzer può rivelare i rischi nel tuo ambiente Active Directory
Caccia ai permessi (Utilizzando DSACLS)
Quindi, uno scenario da incubo da considerare è che qualcuno ha reimpostato la password del capo e devi scoprire chi aveva il permesso di farlo. (Se avessi Netwrix Auditor installato, potresti controllare lì, ma per ora supponiamo che tu non lo abbia.)
1. In Users and Computers, naviga all'oggetto utente per cui desideri verificare i permessi.
2. Fare clic con il pulsante destro del mouse e selezionare 'Proprietà', quindi 'Editor attributi'
3. Scorri e fai doppio clic su 'distinguishedName'. Copia questa stringa per dopo.
4. Apri un prompt dei comandi e digita 'dsacls', seguito dall'incollare la stringa che hai appena copiato, racchiusa tra virgolette:
5.Premi invio.
6. A questo punto probabilmente ti renderai conto che ci sono troppe autorizzazioni sullo schermo: hai due opzioni:
a. Utilizza |more alla fine del comando per visualizzare una schermata completa alla volta.
b. Reindirizza l'output in un file di testo e leggilo invece utilizzando > filename.txt.
7. Ho optato per la 2a opzione, ho aperto il file con il blocco note e infine ho scoperto che il gruppo della direzione senior ha i permessi per reimpostare la password del capo!
Ricerca dei permessi (Utilizzando PowerShell)
Ora che hai scoperto la delega, potresti chiederti se ci sono delle deleghe di cui non sei a conoscenza—sia di ex dipendenti, sia di amministratori con intenti malevoli.
Ho creato uno script PowerShell breve che cercherà ogni tipo di oggetto delegabile e elencherà le due comuni deleghe di permesso: reimpostazione della password e 'send-as' (da Exchange).
Ecco un esempio di esecuzione da un dominio:
Per utilizzare questo script sul proprio dominio:
1. Apri Active Directory Users and Computers e naviga fino al dominio (o Unità Organizzativa) che stai investigando.
2. Fare clic destro su di esso e scegliere Proprietà.
3. Nella scheda 'Attribute Editor', cerca la proprietà 'distinguishedName'.
4. Selezionalo e premi Visualizza, poi copia il LDAP Path. Ti servirà più tardi.
5. Scarica una copia dello script da GitHub:
https://raw.githubusercontent.com/thephoton/activedirectory-delegation-searcher/master/search.ps1
6. Fare clic con il pulsante destro e modificare lo script utilizzando PowerShell ISE.
7. Modifica la riga 6 ($bSearch = …), sostituendo DOMAINCONTROLLER con il nome di uno dei DC del tuo dominio.
8. Modifica la riga 6, sostituendo LDAP con il percorso che hai copiato al passo 4.
9. Salva lo script e premi esegui.
10. Lascia che lo script cerchi nel tuo Active Directory; i progressi vengono riportati nella console e, al termine, riceverai un popup che dettaglia gli oggetti ai quali sono state delegate le autorizzazioni—potresti rimanerne sorpreso!
Se hai bisogno di maggiori informazioni su come rilevare chi ha modificato i permessi in Active Directory consulta il nostro how-to. È disponibile anche uno free tool from Netwrix che fornisce informazioni utili su chi ha i permessi per cosa in Active Directory e condivisioni di file.
Tutorial di scripting Windows PowerShell per principianti
Scopri di piùCondividi su
Scopri di più
Informazioni sull'autore
Matt Hopton
Consulente
Responsabile della rete ICT, consulente IT e imprenditore. Oltre a lavorare come Network Manager presso la Sir Thomas Rich's School, Matt sviluppa e ospita siti web per aziende locali, sviluppa software e fornisce raccomandazioni hardware.
Scopri di più su questo argomento
Creare utenti AD in massa e inviare le loro credenziali tramite PowerShell
Come creare, modificare e testare le password utilizzando PowerShell
Come aggiungere e rimuovere gruppi AD e oggetti nei gruppi con PowerShell
Attributi di Active Directory: Ultimo accesso
Fiducie in Active Directory