Autorizzazioni delegate di Active Directory (Visualizza / Rimuovi)

Per sbloccare completamente questa sezione è necessario Accedere

La delega di Active Directory (AD) è parte fondamentale dell’infrastruttura IT di molte organizzazioni. Delegando l’amministrazione, è possibile concedere agli utenti o ai gruppi solo le autorizzazioni necessarie senza aggiungere utenti a gruppi con privilegi (ad esempio, amministratori di dominio, operatori di account). Il modo più semplice per eseguire la delega è utilizzare la delega di controllo guidata nello snap-in utenti e computer di Active Directory Microsoft Management Console (MMC).

Sebbene la procedura guidata Delega di controllo fornisca un modo semplice per delegare le autorizzazioni, non esiste una procedura guidata corrispondente per rimuovere le autorizzazioni delegate. Qualcuno di Microsoft deve aver notato questa lacuna e ha creato un programma da riga di comando chiamato Dsrevoke.exe che può rimuovere le voci di autorizzazione aggiunte dalla delega di controllo guidata.

Tuttavia, il Dsrevoke.il programma exe ha due importanti limitazioni tecniche, che sono documentate nell’articolo Microsoft ” Quando si utilizza lo strumento da riga di comando Dsrevoke per segnalare le autorizzazioni per tutte le unità organizzative in un dominio basato su Windows Server 2003, lo strumento potrebbe non restituire tutte le voci di controllo degli accessi.”Queste limitazioni sono:

  • Dsrevoke.exe può trovare solo fino a 1.000 OU in una singola ricerca. La soluzione suggerita per questa limitazione consiste nell’avviare la ricerca del programma in un’unità organizzativa (OU) più annidata per ridurre il numero di risultati.
  • Dsrevoke.exe fallisce se qualsiasi OU contiene un carattere forward slash (/) nei loro nomi. Non esiste una soluzione alternativa per questa limitazione se non per rinominare l’OU incriminato.

Per motivi organizzativi, rinominare l’unità operativa per rimuovere il carattere barra non è solitamente un’opzione. Inoltre, la barra è un carattere valido in un nome OU e Dsrevoke.exe dovrebbe funzionare indipendentemente dal fatto che un OU contenga una barra nel suo nome o meno. Inoltre, lavorare intorno al limite di 1.000 OU nel mio ambiente richiedeva molto tempo.

A partire dalle versioni recenti di Windows, i Dsacl.il programma exe fornisce un modo per rimuovere le autorizzazioni aggiunte dalla delega della procedura guidata di controllo. Anche se non fallisce se un OU contiene una barra nel suo nome, Dsacls.exe non può cercare i subcontainer per le autorizzazioni come Dsrevoke.exe lo fa.

Dsrevoke.exe e Dsacl.exe può produrre un elenco di autorizzazioni, ma l’output è molto lungo e tecnico.

Abbiamo bisogno di avere alcune informazioni di base su ciò che accade quando si utilizza la delega di controllo guidata così come coprire alcuni concetti di base di sicurezza di Windows.

Perché delegare?

Immagina di essere il capo di una grande azienda con diversi dipartimenti: finanza, risorse umane, vendite, gestione superiore.

Se ogni utente che ha dimenticato la propria password doveva chiamare l’helpdesk IT, si sarebbe sommerso di chiamate.

Invece, è possibile delegare le autorizzazioni al capo di ciascun dipartimento in modo che possa reimpostare le password del proprio team.

Un altro classico caso d’uso per la delega è la possibilità per il personale di inviare e-mail come l’altro, sia una cassetta postale condivisa, o un PA invio di e-mail per conto del suo capo.

Offri a tutti l’amministratore del dominio?

Si potrebbe avere pensato, diamo ogni autorizzazioni di amministratore di dominio capo reparto, quindi possono reimpostare le password quando richiesto.

Mentre questo è tecnicamente vero, sarebbero quindi in grado di fare qualsiasi cosa tu possa fare, incluso l’accesso ai dati dell’utente.

Quindi, fai attenzione a dare il ruolo di amministratore del dominio agli utenti non IT per ridurre le attività di amministrazione: questo approccio può portare a diversi problemi.

Per comprendere le informazioni fornite nella finestra di dialogo Impostazioni di sicurezza avanzate, è necessario conoscere i seguenti concetti di sicurezza di Windows: access Control list (ACL), access control entry (ACE), trustee, e l’ereditarietà. È inoltre necessario comprendere questi concetti per utilizzare Remove-DSACE.ps1.

ACL: Esistono due tipi di ACL: ACL discrezionali (DACL) e ACL di sistema (SACL). Un DACL identifica gli account a cui è consentito o negato l’accesso a un oggetto. Un SACL descrive come un amministratore desidera registrare i tentativi di accesso a un oggetto (ad esempio, auditing).

ACE: Un ACL è composto da ASSI. Ogni ACE identifica un trustee e specifica l’accesso del trustee (consenti, nega o verifica) per l’oggetto. La delega guidata di controllo aggiunge ASSI al DACL di un contenitore AD. La figura precedente mostra il DACL per Tutti gli utenti OU. In questa figura, la voce di autorizzazione termine è sinonimo di ACE.

Trustee: un trustee è l’entità (un utente, un gruppo di sicurezza o una sessione di accesso) a cui si applica un ACE. Ogni ASSO si applica a un singolo trustee. Nella Figura 5, il termine Principale è sinonimo di fiduciario. Figura 5 mostra che ci sono due ASSI assegnati al gruppo di reimpostazione della password. In altre parole, il gruppo di reimpostazione della password è il fiduciario (principale) per questi due ASSI.

Eredità: Un ACE può essere applicato direttamente a un oggetto o può essere ereditato dall’oggetto genitore della risorsa. Nella figura precedente, i due ASSI per Tutti gli utenti OU che contengono il gruppo di reimpostazione della password come trustee non vengono ereditati dal contenitore padre (ad esempio, la colonna Ereditata da legge None) perché la delega di controllo guidata li ha aggiunti direttamente al DACL.

Aggiunta di autorizzazioni delegate con la procedura guidata

la procedura guidata Delega di controllo fornisce un modo semplice per delegare le autorizzazioni. Ad esempio, supponiamo che i membri del gruppo di reimpostazione password siano in grado di reimpostare le password per gli utenti nell’UU Tutti gli utenti nel dominio AD. Per fare ciò, è necessario eseguire questi passaggi:

Aprire la console Utenti e computer di Active Directory, quindi fare clic con il pulsante destro del mouse su Tutti gli utenti OU (o qualsiasi altra OU) e scegliere Delegate Control, come mostrato in Figura 1. Fare clic sul pulsante Avanti per avanzare oltre la pagina di benvenuto della procedura guidata.

 Autorizzazioni delegate di Active Directory (Visualizza / Rimuovi)

Nella pagina Utenti o gruppi della procedura guidata, fare clic sul pulsante Aggiungi.

Seleziona Utenti, Computer o Gruppi di dialogo, immettere il nome del gruppo (Reset Password), fare clic sul pulsante Controlla Nomi per assicurarsi che il nome del gruppo è corretto, quindi fare clic su OK, come illustrato nella figura seguente:

Active Directory Autorizzazioni Delegate (Vista/Rimuovere)

Dopo essersi assicurati che il nome del gruppo è elencato nella pagina Utenti e Gruppi, fare clic su Avanti come mostrato nella figura seguente:

Active Directory Autorizzazioni Delegate (Vista/Rimuovere)

In merito ai Compiti da Delegare pagina, selezionare Reimposta password utente e la forza di modifica della password all’accesso successivo e fare clic su Avanti, come mostrato nella figura seguente:

Active Directory Autorizzazioni Delegate (Vista/Rimuovere)

Quando si fa clic sul pulsante Fine, la Delegazione Guidata del Controllo aggiunge la richiesta di autorizzazioni per Tutti gli Utenti OU. È possibile visualizzare gli effetti della delega facendo clic con il pulsante destro del mouse su Tutti gli utenti, scegliendo Proprietà e selezionando la scheda Protezione. Se la scheda Protezione non è visibile, attivare l’opzione Funzioni avanzate nel menu Visualizza della console Utenti e computer di Active Directory.)

Per una visualizzazione dettagliata, è possibile fare clic sul pulsante Avanzate. La figura seguente mostra la finestra di dialogo Impostazioni di sicurezza avanzate visualizzata.

 Autorizzazioni delegate di Active Directory (Visualizza / Rimuovi)

Controlla il permesso (usando PowerShell)

Ora che abbiamo scoperto la delega, potresti chiederti se ci sono delegazioni di cui non sei a conoscenza, da dipendenti passati o amministratori malintenzionati.

Abbiamo messo insieme un breve script PowerShell che cercherà ogni tipo di oggetto delegabile ed elencare le due deleghe di autorizzazione comuni, reimpostare la password e inviare-come (da Exchange).

Ecco un esempio eseguito da un dominio:

 Autorizzazioni delegate di Active Directory (Visualizza / Rimuovi)

E qui il codice dello script:

###### Search common delegation targets$filter = "(|(objectClass=domain)(objectClass=organizationalUnit)(objectClass=group)(sAMAccountType=805306368)(objectCategory=Computer))" ###### Search just OUs and Groups#$filter = "(|(objectClass=organizationalUnit)(objectClass=group))"###### More filters can be found here: http://www.ldapexplorer.com/en/manual/109050000-famous-filters.htm###### Connect to DOMAINCONTROLLER using LDAP path, with USERNAME and PASSWORD#$bSearch = New-Object System.DirectoryServices.DirectoryEntry("LDAP://DOMAINCONTROLLER/LDAP"), "USERNAME", "PASSWORD") ###### Connect to DOMAINCONTROLLER using LDAP path$bSearch = New-Object System.DirectoryServices.DirectoryEntry("LDAP://DOMAINCONTROLLER/LDAP") $dSearch = New-Object System.DirectoryServices.DirectorySearcher($bSearch)$dSearch.SearchRoot = $bSearch$dSearch.PageSize = 1000$dSearch.Filter = $filter #comment out to look at all object types$dSearch.SearchScope = "Subtree"####### List of extended permissions available here: https://technet.microsoft.com/en-us/library/ff405676.aspx$extPerms = '00299570-246d-11d0-a768-00aa006e0529', 'ab721a54-1e2f-11d0-9819-00aa0040529b', '0'$results = @()foreach ($objResult in $dSearch.FindAll()){ $obj = $objResult.GetDirectoryEntry() Write-Host "Searching... " $obj.distinguishedName $permissions = $obj.PsBase.ObjectSecurity.GetAccessRules($true,$false,) $results += $permissions | Where-Object { $_.AccessControlType -eq 'Allow' -and ($_.ObjectType -in $extPerms) -and $_.IdentityReference -notin ('NT AUTHORITY\SELF', 'NT AUTHORITY\SYSTEM', 'S-1-5-32-548') } | Select-Object ` @{n='Object'; e={$obj.distinguishedName}}, @{n='Account'; e={$_.IdentityReference}}, @{n='Permission'; e={$_.ActiveDirectoryRights}}}$results | Out-GridView

Per utilizzare questo script sul proprio dominio:

  • Aprire Utenti e computer di Active Directory e accedere al dominio (o all’Unità organizzativa) su cui si sta indagando.
  • Fare clic con il pulsante destro del mouse e scegliere Proprietà.
  • Nella scheda Editor attributi, cercare la proprietà distinguishedName.
  • Selezionarlo e premere Visualizza, quindi copiare il percorso LDAP. Ne avrai bisogno dopo.
  • Modifica riga 6 (b bSearch = …), sostituendo DOMAINCONTROLLER con il nome di uno dei DCS del tuo dominio.
  • Modifica la riga 6, sostituendo LDAP con il percorso copiato in precedenza.
  • Salvare lo script e premere esegui.
  • Lascia che lo script cerchi nella tua Active Directory; i progressi sono riportati nella console e quando è completato riceverai un popup che descrive in dettaglio gli oggetti che hanno autorizzazioni delegate a loro.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.