Protezione degli account dei servizi gestiti (gMSA) in Active Directory

Protezione degli account dei servizi gestiti (gMSA) in Active Directory

04/08/2025

Questo articolo tecnico ed educativo ha lo scopo di guidare gli analisti della sicurezza, gli amministratori IT e gli ingegneri di sistema nell'implementazione e nella protezione degli account di servizio gestiti di gruppo (gMSA) in Active Directory. I gMSA offrono una solida soluzione alle sfide legate alla sicurezza degli account di servizio automatizzando la gestione delle password e semplificando l'amministrazione [1].

Introduzione

Gli account di servizio tradizionali con password statiche rappresentano un rischio significativo. I gMSA (Group Managed Service Accounts) estendono la funzionalità degli MSA (Managed Service Account), consentendo l'utilizzo di un singolo account di servizio da più server, con Active Directory che gestisce automaticamente la rotazione delle password e la distribuzione delle chiavi senza intervento manuale [2].

Questa guida pratica tratterà i prerequisiti, la creazione e la configurazione degli account del servizio gestito, come associarli ai servizi e alle attività pianificate e le best practice per garantire che gli account di servizio siano protetti e gestiti in modo efficiente.

Perché gli MSA sono cruciali?

  • Gestione automatica delle password: le password complesse e lunghe vengono generate e ruotate automaticamente ogni 30 giorni da Active Directory.
  • Distribuzione su più server: un singolo gMSA può essere utilizzato da più server, semplificando l'amministrazione in ambienti distribuiti.
  • Principio del privilegio minimo: facilita la concessione delle autorizzazioni minime necessarie.
  • Controllo migliorato: semplifica il controllo poiché le identità del servizio sono chiaramente definite e tracciabili.

Prerequisiti

  1. Controller di dominio (DC) con Windows Server 2012 o versioni successive.
  2. Livello funzionale dominio (DFL) di Windows Server 2012 o versione successiva.
  3. Modulo Active Directory per Windows PowerShell.
  4. Server membri del dominio che utilizzeranno gMSA.
  5. Gruppo di sicurezza per host: un gruppo di sicurezza in Active Directory che conterrà i server che utilizzeranno gMSA.

Passo dopo passo: implementazione e protezione degli MSA

1. Configurazione del servizio chiave root KDS

Il servizio chiave radice KDS è necessario affinché Active Directory possa generare password per i servizi gestiti. È necessario configurarlo una volta per foresta [3].

  1. Aprire Windows PowerShell come amministratore su un controller di dominio.
  2. Controlla se il servizio KDS Root Key è già configurato: "PowerShell". Get-KdsRootKey ```
  3. Se non viene restituita alcuna chiave, creare una nuova chiave root KDS. Per la produzione, utilizzare "Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)" per abilitare la replica. Per un test immediato, utilizzare: "PowerShell". Aggiungi-KdsRootKey -Efficaceimmediatamente ```

2. Creazione del gruppo di sicurezza per gli host

Questo gruppo conterrà i server a cui sarà consentito recuperare la password del servizio gMSA.

  1. Aprire Utenti e computer di Active Directory (dsa.msc).
  2. Crea un nuovo gruppo di sicurezza (ad esempio gMSA_Hosts_ServicoX) con ambito "Globale" e digita "Security".
  3. Aggiungere i computer (server) che utilizzeranno gMSA a questo gruppo (es: ServidorApp01$, ServidorApp02$).

3. Creazione del gMSA

Ora creiamo il gMSA utilizzando PowerShell.

  1. Aprire Windows PowerShell come amministratore su un controller di dominio.
  2. Utilizzare il cmdlet "New-ADServiceAccount": "PowerShell". New-ADServiceAccount -Name gMSA_ServicoX -DNSHostName gMSA_ServicoX.contoso.com -PrincipalsAllowedToRetrieveManagedPassword "gMSA_Hosts_ServicoX" ```
    • Spiegazione: il parametro PrincipalsAllowedToRetrieveManagedPassword specifica il gruppo di sicurezza che può recuperare la password gMSA. Questo gruppo deve contenere i server che eseguiranno il servizio.

4. Installazione e test di gMSA sui server host

Sui server che utilizzeranno gMSA, è necessario installarlo e testarne la funzionalità.

  1. Su ciascun membro del server del gruppo gMSA_Hosts_ServicoX, aprire Windows PowerShell come amministratore.
  2. Installa gMSA: "PowerShell". Installa-ADServiceAccount -Identity gMSA_ServicoX ```
  3. Verificare che il gMSA sia installato e funzionante: "PowerShell". Test-ADServiceAccount -Identity gMSA_ServicoX ```
    • Risultato previsto: l'output dovrebbe essere "True", a indicare che gMSA è pronto per essere utilizzato sul server.

5. Associazione del gMSA a un servizio

  1. Sul server dove sarà il servizioUna volta eseguito, apri la console Servizi (services.msc).
  2. Individua il servizio che desideri configurare.
  3. Fare clic con il pulsante destro del mouse sul servizio, selezionare Proprietà.
  4. Nella scheda Accedi, seleziona Questo account.
  5. Nel campo Questo account, digita il nome del tuo gMSA seguito da "$", ad esempio: "gMSA_ServicoX$".
  6. Lasciare vuoti i campi della password. Active Directory gestirà la password automaticamente.
  7. Fare clic su Applica e OK.
  8. Riavviare il servizio affinché le modifiche abbiano effetto.

6. Utilizzo di gMSA con attività pianificate

  1. Sul server, apri Utilità di pianificazione (taskschd.msc).
  2. Crea una nuova attività o modificane una esistente.
  3. Nella scheda Generale, fare clic su Cambia utente o gruppo....
  4. Nel campo Inserisci il nome dell'oggetto da selezionare, inserisci il nome del tuo gMSA seguito da un $, ad esempio: gMSA_ServicoX$.
  5. Fare clic su Controlla nomi e quindi su OK.
  6. Lasciare vuoti i campi della password.
  7. Configurare le altre opzioni delle attività pianificate e fare clic su OK.

Migliori pratiche e suggerimenti per la sicurezza

  • Principio del privilegio minimo: concedere a gMSA solo le autorizzazioni necessarie per svolgere la sua funzione. Non utilizzare gMSA con privilegi di amministratore di dominio.
  • Gruppi di sicurezza dedicati: utilizza gruppi di sicurezza specifici per "PrincipalsAllowedToRetrieveManagedPassword" per controllare quali server possono utilizzare gMSA.
  • Audit: monitora l'utilizzo di gMSA tramite i log di sicurezza di Active Directory per rilevare eventuali attività anomale.
  • Protezione della chiave root KDS: assicurati che i controller di dominio siano sicuri, poiché la chiave root KDS è fondamentale per la sicurezza dei gMSA.
  • Rimuovi i vecchi account di servizio: esegui la migrazione dei servizi a gMSA e disabilita o elimina i vecchi account di servizio che utilizzavano password statiche.
  • Documentazione: tieni traccia di quali gMSA sono in uso, quali servizi eseguono e su quali server.

Conclusione

Gli account di servizio gestiti di gruppo (gMSA) sono un componente vitale per migliorare il livello di sicurezza di Active Directory, in particolare nella gestione delle identità di servizio. Automatizzando la rotazione delle password, semplificando l'implementazione in ambienti distribuiti e facilitando l'applicazione del principio del privilegio minimo, i gMSA riducono significativamente la superficie di attacco e la complessità amministrativa. La corretta implementazione e gestione dei gMSA sono passaggi cruciali per proteggere i servizi e le applicazioni dalle minacce informatiche.

Riferimenti

[1]Microsoft. (2023). Account di servizi gestiti di gruppo (gMSA) in Active Directory. [2]Microsoft. (2023). Panoramica degli account di servizio gestiti. [3]Microsoft. (2023). Servizio di distribuzione delle chiavi di Active Directory (KDS).