Procedure di Ripristino di Domain Controller – Parte I

In un’infrastruttura basata su Active Directory Domain Services, i Domain Controller (DC) rappresentano il cuore pulsante della rete aziendale: gestiscono autenticazioni, autorizzazioni, politiche di sicurezza. La loro disponibilità continua è quindi fondamentale per garantire l’operatività dei servizi IT.

Tuttavia, anche con un design ridondato e accorgimenti di alta disponibilità, può accadere che uno o più DC diventino inaccessibili o corrotti a seguito di eventi critici: guasti hardware, attacchi ransomware, errori umani o disastri fisici. In questi casi, è essenziale sapere come intervenire correttamente e tempestivamente per evitare ulteriori danni alla struttura logica della directory.

Questa serie di articoli ha l’obiettivo di fornisce una guida pratica e strutturata per affrontare scenari di perdita di un Domain Controller, distinguendo tra casi più o meno critici: dalla semplice rimozione di un DC secondario alla gestione della perdita di un controller che detiene ruoli vitali.

Breve introduzione ad Active Directory

Active Directory Domain Services è un servizio directory sviluppato da Microsoft per i sistemi operativi Windows. Introdotto con Windows 2000 Server, AD DS consente l’organizzazione e la gestione centralizzata di utenti, computer, gruppi, stampanti e altri oggetti all’interno di una rete.

In termini semplici, Active Directory è come un grande elenco telefonico aziendale che non solo tiene traccia di chi sei e dove ti trovi, ma decide anche cosa puoi fare.

L’idea di un servizio directory non nasce con Microsoft. I primi esempi risalgono agli anni ’80 e ’90, con tecnologie come:

  • X.500: uno standard sviluppato dall’ITU-T per la gestione di directory distribuite su reti, che ha introdotto il concetto di struttura gerarchica degli oggetti.
  • LDAP (Lightweight Directory Access Protocol): nato come versione semplificata e più efficiente di X.500, è ancora oggi uno dei protocolli più usati per interrogare e modificare i servizi di directory.
  • Novell Directory Services (NDS): una delle prime implementazioni commerciali e poi largamente adottate, sviluppata da Novell per NetWare.

Active Directory, rilasciato da Microsoft nel 1999, si ispira proprio a questi sistemi, adottando concetti simili come l’organizzazione gerarchica e il supporto per LDAP, ma integrandoli profondamente nell’ecosistema Microsoft.

Architettura di Active Directory

L’architettura di AD DS è progettata per offrire scalabilità, modularità e centralizzazione nella gestione di identità, risorse e criteri di sicurezza all’interno di una rete. Si basa, come detto, su una struttura gerarchica, che consente di modellare l’organizzazione secondo esigenze reali, mantenendo il controllo amministrativo distribuito.

Ricordiamo qui di seguito alcuni concetti fondamentali.

Struttura logica

La struttura logica di AD DS rappresenta l’organizzazione delle risorse e degli oggetti, indipendentemente dalla loro posizione fisica nella rete: raggruppare le risorse logicamente consente di rintracciarle facilmente per nome piuttosto che per posizione fisica.

Active Directory rende quindi trasparente agli utenti la struttura fisica della rete.

Dominio

È l’unità base di Active Directory. Un archivio interrogabile che può contenere milioni di oggetti (utenti, gruppi, computer, stampanti ecc.) ed ha una propria politica di sicurezza. Ogni Dominio ha:

  • Un nome DNS univoco (es. labnet.local)
  • Uno o più Domain Controller, server Windows con il compito di gestire l’accesso in scrittura e lettura ad Active Directory: tali server replicano fra di loro le informazioni di Active Directory

Organizational Unit (OU)

Struttura contenitore, utilizzata per:

  • Organizzare logicamente gli oggetti all’interno di un Dominio in gruppi logici amministrativi: una OU può contenere utenti, gruppi, computer, stampanti, applicazioni, condivisioni ed altre OU
  • Delegare autorizzazioni amministrative
  • Applicare impostazioni di sicurezza e configurazione a livello gerarchico e granulare (Group Policy)

Tree

  • Un Tree è un insieme di Domini che condividono un namespace contiguo e una relazione di trust automatica
  • Aggiungendo un Dominio ad un Tree esistente, il nuovo Dominio diventa “child” del dominio “parent

Forest

  • Una Forest è l’unità più alta dell’architettura AD DS: un raggruppamento gerarchico di Tree
  • Una Forest è un “recinto di sicurezza”: tutti i Domini facenti parte della stessa Forest sono legati da relazioni di trust automatiche, mentre i trust tra foreste diverse devono essere configurati manualmente
  • Gli AD DS consentono di interrogare tutti i Domini di tutti i Tree della stessa Forest come se fossero un unico archivio di oggetti e non più archivi separati

Struttura fisica

La struttura fisica riguarda la distribuzione dei Domain Controller e il meccanismo di replica dei dati di Active Directory.

Domain Controller (DC)

È il server che ospita una copia del database AD e gestisce:

  • Autenticazione degli utenti
  • Replica dei dati
  • Applicazione delle policy di sicurezza e di configurazione (Group Policy)

Sites

I Sites rappresentano segmenti della rete fisica (di solito basati sulla topologia IP) e sono usati per:

  • Ottimizzare la replica tra DC
  • Dirigere i client verso il DC più vicino
  • Migliorare le prestazioni in ambienti geografici distribuiti

Replica

La replica avviene tra DC per mantenere la consistenza dei dati. Opera in modalità multi-master (ovvero, tutti i DC detengono una copia modificabile dei dati), eccetto per alcuni ruoli speciali (FSMO roles, vedi più avanti).

Componenti chiave dell’infrastruttura

Prima di affrontare alcuni degli scenari di disastro che potrebbero colpire i Domain Controller, soffermiamoci sulle funzionalità peculiari svolte da alcuni DC all’interno della Forest:

  • Global Catalog Server
  • Schema Master
  • Domain Naming Master
  • RID Master
  • PDC Emulator
  • Infrastructure Master

 

Global Catalog (GC) Server

Il Global Catalog (GC) è un componente cruciale di Active Directory che consente di eseguire ricerche rapide e localizzare oggetti all’interno di tutta la foresta AD, anche se l’oggetto si trova in un altro dominio.

Il GC memorizza una copia parziale (read-only) di tutti gli oggetti della foresta, ovvero solo un sottoinsieme di attributi considerati più utili per la ricerca e l’autenticazione, come il nome utente, il SID, eccetera.

Ad esempio, se un utente nel dominio dev.labnet.local cerca una risorsa del dominio prod.labnet.local, il GC può fornire una risposta senza che il client debba contattare direttamente il dominio remoto.

Non tutti i Domain Controller sono Global Catalog Server, ma è buona pratica renderne almeno uno tale per ogni sito geografico: questo migliora le prestazioni e riduce il traffico di rete, soprattutto nei login.

 

FSMO Roles (Flexible Single Master Operation)

Sebbene Active Directory utilizzi una replica multi-master, per alcune operazioni critiche è necessario evitare conflitti ed è quindi previsto che solo un Domain Controller abbia la responsabilità di eseguire tali operazioni: questi ruoli speciali sono detti FSMO roles (o “ruoli a operazione singola”).

Esistono 5 ruoli FSMO, suddivisi tra ambito forest e ambito dominio.

Ruoli a livello forest

Questi ruoli sono unici in tutta la foresta:

1. Schema Master

  • Funzione: Gestisce tutte le modifiche allo schema di Active Directory
    • Lo Schema descrive quali tipi di oggetti possono essere creati nella directory, quali attributi essi possono avere e come si relazionano tra loro. In pratica, dice ad Active Directory che cos’è un utente, un computer, un gruppo, un dominio, ecc., e quali attributi ogni oggetto deve o può avere. Lo schema è comune a tutta la Forest (non al singolo Dominio) e può essere esteso per supportare: applicazioni (ad esempio, Microsoft Exchange Server), soluzioni di terze parti, customizzazioni aziendali (ad esempio, un nuovo attributo per memorizzare la matricola del badge, il codice fiscale, eccetera)
  • Posizione: Solo 1 per tutta la Forest
  • Criticità: Quando si installano applicazioni che estendono lo schema o vengono rilasciati aggiornamenti da parte di Microsoft

2. Domain Naming Master

  • Funzione: È il solo DC che può aggiungere o rimuovere domini nella Forest
  • Posizione: Solo 1 per tutta la Forest
  • Criticità: Durante l’aggiunta/rimozione di Domini o Tree

Ruoli a livello Dominio

Ogni Dominio ha una copia di ciascuno di questi 3 ruoli:

3. RID Master (Relative ID Master)

  • Funzione: Assegna pool di RID ai DC nel dominio
  • Cosa sono i RID: Ogni entità di sicurezza (utenti, gruppi, computer) in AD ha un SID univoco composto da un prefisso (unico a livello di Dominio nella Forest) + un RID (unico a livello di oggetto all’interno del Dominio)
    • SID: Un SID (Security Identifier) è una sequenza alfanumerica unica (esempio: S-1-5-21-1180699209-877415012-3182924384-1001) assegnata automaticamente da Windows al momento della creazione di un oggetto che ha a che fare con la sicurezza (utenti, gruppi, computer). Viene usato per controllare i permessi e le autorizzazioni: anche se si rinomina un utente o un gruppo, il SID resta il medesimo.
    • RID: Il RID (Relative Identifier) è la parte finale del SID che identifica in modo univoco un oggetto all’interno di un dominio Active Directory. È un numero incrementale assegnato automaticamente da Active Directory a ogni entità di sicurezza quando viene creata. SID completo = SID del dominio + RID dell’oggetto.
  • Posizione: 1 per ogni dominio
  • Criticità: A ogni DC in un dominio viene allocato un pool di RID da parte del RID Master. Quando il pool di RID allocato ad un DC scende al di sotto di una certa soglia, tale DC invia una richiesta di RID aggiuntivi al RID Master del Dominio. Se il RID Master non è presente, un DC che ha esaurito il proprio pool di RID non sarà in grado di creare nuovi oggetti in Active Directory.

4. PDC Emulator

  • Funzioni:
    • Fonte autorevole per la replica delle password: quando un utente cambia la password, la modifica viene prima applicata sul PDC Emulator
    • Fonte autorevole per la sincronizzazione dell’orario (NTP) per l’intero dominio
    • Esecuzione immediata delle Group Policy: le modifiche alle GPO vengono inizialmente salvate e replicate attraverso il PDC Emulator
  • Posizione: 1 per ogni dominio
  • Criticità: Il PDC Emulator è il più critico dei ruoli FSMO a livello di dominio perché centralizza una serie di funzioni fondamentali

5. Infrastructure Master

  • Funzione: Mantiene i riferimenti agli oggetti esterni al Dominio (ad esempio, un utente del Dominio dev.labnet.local aggiunto a un gruppo del Dominio prod.labnet.local)
  • Nota: Il ruolo Infrastructure Master deve essere gestito da un DC che non sia anche un Global Catalog server. Se tutti i DC in un Dominio ospitano anche il Global Catalog, non è importante quale controller di dominio abbia il ruolo di Infrastructure Master.
  • Posizione: 1 per ogni dominio
  • Criticità: Se il ruolo dell’Infrastructure Master non funziona correttamente, le informazioni tra i domini potrebbero non essere aggiornate, portando all’impossibilità di accedere a risorse condivise (se il gruppo a cui l’utente è associato non è sincronizzato o se i membri di gruppi non sono visibili o aggiornati)

Riepilogo dei FSMO Roles

Ruolo Ambito Funzione
Schema Master Forest Modifica lo schema AD
Domain Naming Master Forest Aggiunta/rimozione domini
RID Master Dominio Assegna pool di RID
PDC Emulator Dominio Replica password, orario, GPO
Infrastructure Master Dominio Aggiorna riferimenti cross-domain

Il ruolo del DNS

Infine, Active Directory dipende strettamente dal DNS per:

  • Localizzare i Domain Controller (DC)
  • Eseguire l’autenticazione degli utenti
  • Sincronizzare la replica tra DC
  • Applicare le Group Policy
  • Trovare i servizi LDAP, Kerberos, GC

Un problema DNS è quindi spesso l’origine di malfunzionamenti critici di AD DS: una configurazione corretta e ridondata del DNS è essenziale per garantire affidabilità, sicurezza e continuità operativa dell’ambiente di dominio.

Scenari di Disastro

A partire dal prossimo articolo andremo ad affrontare le procedure di ripristino per ovviare alla perdita di un Domain Controller, analizzando alcuni scenari particolari, fra cui:

  • Perdita di un Domain Controller che contiene uno o più ruoli FSMO
  • Perdita di un Domain Controller che è anche Global Catalog
  • Perdita di un Domain Controller senza ruoli FSMO