Daniel Petri - Responsabile formazione senior

La delega vincolata basata sulle risorse (RBCD) è una funzionalità di sicurezza di Active Directory (AD) che consente agli amministratori di delegare le autorizzazioni per gestire le risorse in modo più sicuro e con maggiore controllo. Introdotto in Windows Server 2012 R2 come miglioramento della tradizionale Kerberos constrained delegation (KCD), RBCD può contribuire a ridurre il rischio di escalation dei privilegi e a mantenere il principio del minimo privilegio.

Perché utilizzare la delega vincolata alle risorse?

Utilizzando RBCD per delegare le autorizzazioni a livello granulare gli amministratori possono garantire che gli utenti e i servizi abbiano l'accesso minimo necessario per svolgere le loro attività. Il mantenimento di questo livello di privilegio minimo riduce il potenziale di accessi non autorizzato o di uso improprio di informazioni sensibili.

La delega vincolata basata sulle risorse è particolarmente utile per gli account di servizio che devono accedere alle risorse per conto degli utenti, ma non devono avere pieno accesso agli account degli utenti. In RBCD, la delega dei permessi si basa sulle risorse piuttosto che sugli account di servizio che accedono a tali risorse.

RBCD consente agli amministratori di concedere a utenti o gruppi specifici la possibilità di impersonare altri utenti quando accedono a una particolare risorsa, senza concedere loro ampie autorizzazioni per tutte le risorse del dominio. Ad esempio, si supponga che:

  • Un'applicazione deve accedere a una condivisione di file, ma non deve essere in grado di eliminare o modificare i file presenti nella condivisione. Abilitando RBCD, è possibile configurare l'account del servizio applicativo in modo che impersoni un utente quando accede alla condivisione di file. In questo modo, l'account avrà accesso solo ai file necessari all'applicazione.
  • Un'applicazione interagisce con un database. Per migliorare la sicurezza e controllare l'accesso al database, è possibile utilizzare RBCD per delegare le autorizzazioni all'account del servizio applicativo, consentendogli di impersonare gli utenti quando accedono al database.

Come abilitare la delega vincolata alle risorse

Per abilitare l'uso della delega limitata alle risorse, è necessario modificare l'attributo AD msDS-AllowedToActOnBehalfOtherIdentity. L'attributo viene modificato per specificare quali principi di sicurezza (come utenti o gruppi) sono autorizzati a delegare i loro privilegi a un servizio in esecuzione sul computer.

Una volta configurati, i presidi di sicurezza specificati possono delegare i loro privilegi all'account del servizio in esecuzione. Questa delega consente al servizio di impersonare tali presidi quando accede alle risorse. Il servizio può quindi accedere alle risorse per conto degli utenti senza richiedere autorizzazioni eccessive. Questo approccio contribuisce a mantenere il principio del minimo privilegio e a migliorare la sicurezza.

Per configurare l'attributo msDS-AllowedToActOnBehalfOfOtherIdentityè possibile utilizzare PowerShell o le utility basate sul Lightweight Directory Access Protocol (LDAP). Per evitare accessi non autorizzati e mantenere un ambiente sicuro durante la modifica dell'attributo, concedere le autorizzazioni di delega solo ai principi di sicurezza necessari.

Delegazione limitata basata sulle risorse e rischi per la sicurezza di AD

La modifica dell'attributo msDS-AllowedToActOnBehalfOfOtherIdentity può avere implicazioni per la sicurezza se non viene eseguita con attenzione e con la giusta considerazione. Alcuni dei rischi includono:

  • Escalation dei privilegi: un account di servizio o un utente ottiene un accesso non autorizzato alle risorse.
  • Aumento della superficie di attacco: un aggressore sfrutta le autorizzazioni delegate di un servizio o di un account utente compromesso per ottenere l'accesso a risorse sensibili o eseguire azioni dannose.
  • Complessità e problemi di gestione: la gestione e la manutenzione dell'attributo msDS-AllowedToActOnBehalfOfOtherIdentity può essere complessa, soprattutto in ambienti di grandi dimensioni con più account di servizio e risorse. Configurazioni errate o incoerenze possono causare lacune nella sicurezza o conseguenze indesiderate.
  • Difficoltà di verifica e monitoraggio: il monitoraggio e la verifica dell'uso dei permessi delegati possono essere impegnativi e richiedono registrazioni e monitoraggi aggiuntivi per garantire che i permessi delegati siano usati in modo appropriato e sicuro.

Un altro potenziale rischio per la sicurezza, nel contesto della delega limitata alle risorse, riguarda l'account krbtgt. È possibile configurare la delega Kerberos sull'account krbtgt stesso. Questa possibilità è preoccupante a causa del ruolo critico che l'account krbtgt svolge nel processo di autenticazione Kerberos.

L'autenticazione richiede solo autorizzazioni generiche di scrittura, ovvero un livello di privilegio inferiore rispetto ai diritti di amministratore del dominio. Ciò significa che un utente malintenzionato, anche se ha ottenuto solo autorizzazioni limitate, potrebbe essere in grado di manipolare le impostazioni di delega dell'account krbtgt senza avere bisogno di un accesso amministrativo completo al dominio.

Questa situazione potenzialmente pericolosa può creare una vulnerabilità nel processo di autenticazione Kerberos. Un utente malintenzionato che riesca a sfruttare questa vulnerabilità potrebbe essere in grado di ottenere un accesso non autorizzato alle risorse o di eseguire azioni dannose nel dominio, causando gravi violazioni della sicurezza. Tra gli esempi vi è la generazione di una richiesta di Ticket Granting Service (TGS) all'account krbtgt come utente qualsiasi, che ha l'effetto di generare essenzialmente un Ticket Granting Ticket (TGT) simile a un Golden Ticket.

I problemi non si fermano qui. È stato scoperto che questo rischio di sicurezza può verificarsi anche in alcuni ambienti Azure AD. Quando si utilizza Azure AD e si abilita la funzionalità Seamless SSO, all'interno del tenant viene generato un oggetto account computer automatico denominato AZUREADSSOACC. Quando questo oggetto è configurato con RBCD, qualsiasi utente aggiunto all'attributo msDS-AllowedToActOnBehalfOtherIdentity di questo oggetto può impersonare qualsiasi utente del tenant Azure AD.

Di conseguenza, è necessario assicurarsi che l'attributo di questo oggetto rimanga vuoto e non venga mai configurato. Se si scopre che l'attributo è stato configurato, è molto probabile che il sistema sia stato compromesso, mettendo a rischio il tenant Azure AD.

Valutazione e correzione del rischio di sicurezza dell'RBCD

Per identificare potenziali configurazioni errate e vulnerabilità di sicurezza e per determinare se la sicurezza di Active Directory è stata compromessa, è necessario condurre scansioni periodiche della sicurezza di AD.

È possibile utilizzare strumenti come Purple Knight o Semperis Directory Services Protector (DSP). Quando vengono eseguiti nell'ambiente aziendale, questi strumenti eseguono la scansione e la ricerca di indicatori specifici, compresi i segni degli exploit qui discussi.

Tali scansioni possono aiutare a rispondere a importanti domande sulla sicurezza dell'ambiente AD:

  • L'account krbtgt è configurato con RBCD?
  • La configurazione è impostata correttamente?
  • Qualche utente ha le autorizzazioni per configurare RBCD sull'account krbtgt?
  • Chi può richiedere un TGS con i permessi dell'oggetto su cui è stato configurato, come l'account krbtgt e tutti i controller di dominio (DC) all'interno della foresta?

Purple Knight e DSP esaminano specificamente l'account krbtgt e gli oggetti DC, ma comprendono anche tutti gli oggetti computer. È altamente improbabile che questo avviso venga visualizzato in un ambiente AD tipico e non compromesso. Se viene rilevato, è una forte indicazione che il sistema è stato compromesso.

La Figura 1, ad esempio, mostra un rapporto che identifica l'account krbtgt con RBCD abilitato per un utente malintenzionato.

Figura 1. L'account krbtgt con RBCD abilitato per un utente malintenzionato

La Figura 2 mostra un report che identifica lo stesso problema per i DC dell'ambiente.

Figura 2. DC con RBCD abilitato per un utente malintenzionato

La Figura 3 mostra un report che identifica il rischio di sicurezza in un ambiente Azure AD.

Figura 3. RBCD abilitato per un bad actor in un ambiente Azure AD

Gestire saggiamente l'RBCD per mantenere la sicurezza di Active Directory

La delega limitata basata sulle risorse può essere una potente funzionalità di sicurezza AD per gli amministratori che desiderano delegare le autorizzazioni con maggiore controllo e sicurezza. Tuttavia, nonostante i suoi vantaggi, l'RBCD richiede un'attenta gestione e monitoraggio delle sue configurazioni per prevenire rischi e vulnerabilità di sicurezza.

Le regolari scansioni di sicurezza, la corretta gestione dei permessi e il rispetto del principio del minimo privilegio sono fondamentali per mantenere un ambiente sicuro. Comprendendo e affrontando i rischi potenziali associati a RBCD, gli amministratori possono sfruttarne le capacità per migliorare la sicurezza e l'efficienza della loro infrastruttura Active Directory.

Maggiori informazioni sulla sicurezza di AD