Arquitetura Interna do Active Directory: Da Estrutura do NTDS.DIT e Replicação (KCC/ISTG) ao Gerenciamento dos 5 Mestres FSMO
Manual de Engenharia de Diretórios para SysAdmins, Arquitetos Windows e Especialistas em Infraestrutura
O Active Directory Domain Services (AD DS) é o serviço de identidade mais onipresente do planeta, presente em mais de 90% das empresas da Fortune 500. No entanto, sua operação interna é frequentemente tratada como uma “caixa preta”. Compreender a fundo o funcionamento do arquivo de banco de dados NTDS.DIT, a matemática dos vetores de replicação multimaster (USN e UTDV), os algoritmos do KCC e do ISTG e a distribuição cirúrgica dos 5 papéis FSMO é o divisor de águas entre um administrador reativo e um engenheiro de infraestrutura de alto nível.
NTDS.DIT & ESE: O motor Jet Blue e a integridade de páginas via Write-Ahead Logging.
Replicação Multimaster: Vetores USN, High-Watermark e a prevenção de USN Rollback.
KCC & ISTG: A árvore geradora mínima (Spanning Tree) intra e inter-sites.
Os 5 Papéis FSMO: Regras de ouro de posicionamento, transferência e apreensão forçada (*Seize*).
—
1. O Motor de Dados do AD DS: Anatomia do ntds.dit e ESE
Diferente de sistemas que utilizam bancos relacionais tradicionais, o Active Directory Domain Services opera sobre uma instância embarcada do Extensible Storage Engine (ESE), historicamente conhecido como Jet Blue.
A base de dados reside fisicamente no arquivo %SystemRoot%\NTDS\ntds.dit (Directory Information Tree), conforme especificado na documentação oficial de Estrutura do Banco de Dados do Active Directory no Microsoft Learn).
As Três Tabelas Fundamentais do ntds.dit
O arquivo ntds.dit é estruturado internamente em três tabelas em árvore balanceada (B+ Tree):
1. Data Table: Contém cada objeto instanciado no diretório. Cada linha representa um objeto (um usuário, uma impressora, um grupo), e cada coluna armazena um atributo (sAMAccountName, userPrincipalName, objectGUID, objectSid).
2. Link Table: Armazena referências a atributos que contêm múltiplos valores vinculados. O exemplo clássico é o atributo member de um grupo, que aponta de volta para o atributo memberOf do usuário correspondente.
3. Schema Table: Armazena a definição universal da estrutura de dados da floresta: os tipos de objetos que podem ser criados e quais atributos são permitidos ou obrigatórios.
O Ciclo Transacional e Proteção Contra Corrupção
O ESE opera estritamente através do princípio de Write-Ahead Logging (WAL):
- Nenhuma alteração é gravada diretamente no arquivo
ntds.dit. - A página de 8 KB é alterada no cache da memória RAM e a instrução sequencial é gravada no arquivo de log de transação ativo (
edb.log). - Somente após a gravação síncrona do log no disco ser concluída com sucesso, o sistema operacional confirma a transação para o cliente. O processo de descarga das páginas sujas (Dirty Pages) para o
ntds.ditocorre assincronamente em segundo plano.
—
2. A Física da Replicação Multimaster: USN, High-Watermark e UTDV
O Active Directory é um sistema de banco de dados distribuído que adota o modelo Multimaster (Múltiplos Mestres): quase qualquer alteração (como criação de usuários ou troca de senhas) pode ser executada em qualquer Controlador de Domínio (DC) gravável da rede, e essa modificação é replicada assincronamente para todos os outros nós.
Para orquestrar essa consistência distribuída sem gerar loops de tráfego, o AD utiliza os conceitos detalhados no guia de Active Directory Replication Concepts no Microsoft Learn.
1. Update Sequence Number (USN)
Cada DC mantém um contador de 64 bits chamado USN (Número de Sequência de Atualização), local e monotônico:
- Sempre que um objeto é criado ou modificado no DC, o contador USN interno desse DC é incrementado em 1.
- O atributo
uSNChangeddo objeto alterado recebe esse novo valor. - Atenção: O USN é estritamente local a cada Controlador de Domínio. O USN 10.000 no DC01 não possui nenhuma relação de equivalência temporal com o USN 10.000 no DC02.
2. High-Watermark Vector e Up-To-Date Vector (UTDV)
Para saber quais dados precisam ser transmitidos durante uma sessão de replicação:
- High-Watermark Vector: Registra o maior USN que o DC de destino já recebeu de um parceiro de replicação específico em uma determinada partição de diretório.
- Up-To-Date Vector (UTDV): Mantém uma tabela com o par
(InvocationID, Highest-USN)de todos os DCs da floresta que já originaram alguma alteração na partição. Isso impede o efeito de replicação redundante: se o DC01 recebe uma alteração que se originou no DC03 através do DC02, o DC01 analisa o UTDV e sabe que não precisa pedir essa mesma alteração novamente quando for sincronizar diretamente com o DC03.
3. Resolução de Conflitos: Last Writer Wins
Se dois administradores alterarem o mesmo atributo do mesmo usuário ao mesmo tempo em DCs diferentes (ex.: o telefone de um colaborador alterado no DC de São Paulo e no DC de Nova York):
1. Número de Versão do Atributo: O AD verifica o atributo msDS-ReplAttributeMetaData. O DC com a maior versão do atributo vence.
2. Critério de Desempate (Timestamp): Se as versões forem idênticas, o AD adota a regra Last Writer Wins (Último a Escrever Vence), comparando o carimbo de data/hora UTC da gravação.
3. Desempate Final (InvocationID): Se até os timestamps forem exatamente iguais (mesmo microssegundo), vence o DC que possuir o menor GUID de invocação (DSA InvocationID), garantindo determinação matemática idêntica em toda a rede.
—
O Perigo Crítico do USN Rollback em Ambientes Virtualizados
Um dos cenários mais destrutivos para um ambiente Active Directory corporativo é o USN Rollback, documentado detalhadamente em How to Detect and Recover from a USN Rollback no Microsoft Learn.
Como o Windows Server Moderno Mitiga o USN Rollback
A partir do Windows Server 2012 e hipervisores modernos (Hyper-V e VMware ESXi compatíveis com o identificador VM-GenerationID):
- O hipervisor expõe um identificador único de geração de máquina virtual na BIOS/firmware.
- Quando um snapshot de VM é revertido, o hipervisor altera esse identificador.
- O subsistema do Active Directory detecta a mudança de geração no boot, invalida imediatamente o seu banco local de invocações, gera um novo
InvocationID, descarta o pool de RIDs local e força uma sincronização de entrada autoritativa antes de aceitar qualquer nova escrita.
—
3. A Topologia de Replicação: KCC, ISTG, Sites e Sub-redes
A topologia de comunicação entre dezenas ou centenas de Controladores de Domínio espalhados por filiais é calculada dinamicamente pelo Knowledge Consistency Checker (KCC) e pelo Inter-Site Topology Generator (ISTG), documentados na especificação de How Active Directory Replication Topology Works).
1. Replicação Intra-Site (Dentro do Mesmo Datacenter / LAN)
- O KCC roda a cada 15 minutos em cada DC e gera automaticamente um anel de conexão bidirecional duplo.
- O objetivo do anel é garantir que nenhum nó esteja a mais de três saltos de distância de qualquer outro nó no mesmo site.
- Notificação de Alteração (Change Notification): Quando um objeto é modificado, o DC de origem aguarda apenas 15 segundos e envia uma notificação aos seus vizinhos de anel. A sincronização ocorre via chamadas RPC sem compactação de dados, priorizando velocidade sobre economia de CPU.
2. Replicação Inter-Site (Entre Filiais e Nuvens / WAN)
- Para links WAN lentos ou conexões de nuvem (ex.: VPN / ExpressRoute entre a Matriz e o Azure):
- Um DC de cada site é eleito como Inter-Site Topology Generator (ISTG).
- O ISTG calcula a Árvore Geradora Mínima (Spanning Tree) entre os sites para evitar loops e designa servidores específicos chamados Bridgehead Servers.
- A replicação entre Bridgeheads é compactada (reduzindo o tráfego de rede em até 70% às custas de processamento) e segue um agendamento estrito (por exemplo, sincronizando apenas a cada 60 minutos ou fora do horário comercial).
—
4. Os 5 Mestres de Operação FSMO (Flexible Single Master Operations)
Embora o Active Directory seja quase todo multimaster, existem cinco tarefas críticas que gerariam colapso de consistência se pudessem ser executadas em dois servidores simultaneamente.
Para essas cinco funções, a Microsoft adota o modelo de Mestre Único Flexível (FSMO), detalhado na base de suporte técnico oficial em FSMO roles in Active Directory no Microsoft Learn e no guia de planejamento Planning Operations Master Role Placement.
Análise Detalhada dos Papéis e Diretrizes de Engenharia
| Papel FSMO | Escopo | O que Faz na Prática? | Comportamento se Ficar Offline | Regra de Ouro Arquitetural |
|---|---|---|---|---|
| **Schema Master** | Floresta | Gerencia todas as modificações no esquema universal do Active Directory. | Nenhuma mudança estrutural pode ser feita (nenhum patch de schema do Windows ou Exchange pode ser instalado). | Mantenha protegido e com acesso restrito a membros do grupo *Schema Admins*. |
| **Domain Naming Master** | Floresta | Arbitra a criação e exclusão de novos domínios filhos e partições de aplicação. | Nenhum novo domínio ou partição de DNS pode ser criado na floresta. | Posicione preferencialmente no mesmo DC que o Catálogo Global (GC). |
| **PDC Emulator** | Domínio | É o coração pulsante do domínio: sincroniza o horário de todas as estações e servidores, recebe notificações imediatas de senhas alteradas e centraliza edições de GPOs. | **Impacto Imediato:** Falhas de autenticação Kerberos por desvio de relógio (>5 min), lentidão ao logar com senhas recém-alteradas e conflitos ao editar GPOs. | **Deve ser a máquina mais estável, rápida e com melhor conexão de rede do domínio.** |
| **RID Master** | Domínio | Aloca conjuntos de identificadores relativos (RIDs em blocos de 500) para os outros DCs criarem objetos com SIDs universais exclusivos. | DCs continuam criando objetos até esgotarem seus pools locais de 500 RIDs. Após isso, **nenhum novo usuário ou computador pode ser criado naquele DC**. | Monitore o contador de esgotamento de RID Pool periodicamente. |
| **Infrastructure Master** | Domínio | Atualiza referências cruzadas entre domínios diferentes quando um usuário de um domínio é colocado em um grupo de outro domínio. | Usuários de domínios remotos podem aparecer como SIDs numéricos em listas ACL em vez de nomes amigáveis. | **Nunca coloque no mesmo DC que o Catálogo Global (GC)** em florestas multi-domínio, a menos que todos os DCs sejam GC. |
Transferência Graciosa (Transfer) vs Apreensão Forçada (Seize)
- Transferência Graciosa (Transfer): Ocorre quando o detentor atual do papel FSMO está online e cooperativo. O comando transfere a função sincronizando os dados pendentes sem perda de consistência:
- Apreensão Forçada (Seizure): Deve ser utilizada exclusivamente quando o DC original sofreu uma catástrofe física irreversível e nunca mais retornará à rede:
- > ⚠️ ALERTA CRÍTICO DE ENGENHARIA: Se você realizar o Seize forçado dos papéis de Schema Master, Domain Naming Master ou RID Master, o servidor original que detinha o papel NUNCA MAIS DEVE SER RECONECTADO À REDE. Se ele for ligado, ocorrerá corrupção catastrófica de SIDs duplicados e divergência irrecuperável de esquema. O disco do servidor antigo deve ser formatado imediatamente.
—
5. Diagnóstico Prático e Auditoria de Saúde via CLI e PowerShell
Para auditar e monitorar a saúde dos controladores de domínio e da esteira de replicação, utilize a suíte padrão de comandos de baixo nível recomendada pela Microsoft:
—
6. Referências Técnicas Oficiais da Microsoft
Para aprofundamento adicional nos manuais de engenharia utilizados na construção desta análise:
- Microsoft Learn: Active Directory Domain Services Overview
- Microsoft Learn: Active Directory Replication Concepts
- Microsoft Learn: FSMO Roles in Active Directory Domain Services
- Microsoft Learn: How the Active Directory Replication Model Works)
- Microsoft Learn: Best Practices for Operations Master Role Placement
—
Guilherme Nascimento
Especialista & FundadorEspecialista em Infraestrutura, Cloud/DevOps e Cibersegurança | +10 anos de experiência prática
Profissional com mais de uma década atuando no campo de batalha da tecnologia corporativa. Especialista em arquiteturas resilientes, automação com Docker/Kubernetes, Hardening de Active Directory, Linux avançado e observabilidade SRE. Criador do ecossistema Hora Nerd, dedicado a desmistificar a tecnologia para profissionais e estudantes.