Por que os clientes em um site com RODC se autenticam em um domain controller de outro site?
Autor: Josue Yen / Revisão: Daniel Mauser
Introdução:
“Após instalar um Read Only Domain Controller em um site e realizar todas as configurações para o cache de algumas credenciais, os usuários continuam usando um writeable Domain Controllers de outro site para se autenticarem.” Essa foi a reclamação de um dos chamados que eu atendi a alguns meses atrás. Toda vez que realizávamos logon no computador o Logon Server era sempre um DC em outro Site, porém o RODC estava funcionando corretamente, quando o Link WAN era desativado o RODC era capaz de atender todos os pedidos de autenticação.
Cenario:
O que é um RODC?
O RODC é uma nova funcionalidade do AD DS lançado a partir do Windows Server 2008. Basicamente ele é um Domain Controller com uma base de dados somente leitura e sem as informações sobre as credenciais dos usuários e computadores. Ele foi desenvolvido para atender sites remotos com poucos usuários e baixa segurança física. Como não tem informações de credenciais, se esse servidor for extraviado as senhas não serão comprometidas. Como ele não guarda as credenciais dos usuários todo pedido de autenticação é encaminhado para um DC com a base completa.
Para evitar todo esse trafego na rede WAN o RODC possibilita salvar em cache apenas a senha dos usuários e computadores que irão usar o RODC como o seu logon server porém era sempre um DC em outro site que atendiam as requisições de autenticação.
Como um computador cliente escolhe um Domain Controller?
Quando um computador cliente precisa localizar um Domain Controller primeiro ele envia uma query para o seu servidor DNS para encontrar um DC que de preferencia esteja no mesmo site. Essa query é feita no formato _LDAP._TCP.dc._msdcs.domainname. Ao receber a lista dos servidores encontrados, um pacote UDP é enviado aos servidores e uma lista de servidores ativos e respondendo é criada com todos os servidores que responderem ao pacote UDP. Essa lista é guardada em Cache e será usada nas próximas buscar por um Domain Controller.
Após se autenticar em um dos Domain Controllers da lista o DC irá identificar em qual Site o computador pertence a partir das informações da Subnet em que o computador pertence. Se o DC e o cliente não estiverem no mesmo site, ou ele não for o melhor DC para o cliente, o nome do site correto é passado para o cliente.
Com a informação do site o computador faz uma query especifica pelas entradas SRV do site no DNS com queries no formato _tcp.sitename._sites.dc._msdcs.domainname.
Por que os clientes não usam o RODC?
Após verificar todas as configurações para o credential Cache, capturas de rede e revisar o netlogon.log dos computadores, vimos que durante as pesquisas DNS por servidores no site além do RODC um servidor Windows Server 2003 também aparecia nas respostas.
Ao verificar as entradas DNS tínhamos entradas parecidas com as do meu laboratório:
O servidor josudc04.josue.yen é um RW DC Windows Server 2003 do site principal do meu laboratório e mesmo removendo essas entradas, elas continuavam sendo criadas novamente.
Na realidade esse servidor está se comportando exatamente como ele foi programado, cobrindo sites que aparentemente não tem um Domain Controller (auto site coverage). Quando o Windows Server 2003 foi criado não existia ainda o conceito RODC, por isso, para esse servidor o site RemoteSite não tem um Domain Controller para atender a autenticação dos clientes, por isso o servidor JOSUD04 se registra como um DC para o site. Para resolver esse problemas temos 2 opções:
1- Desativar o auto site coverage dos servidores Windows Server 2003. Para isso, basta realizar os seguintes passos:
a. Abra o editor de registro
b. Vá até a chave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
c. Crie uma entrada DWORD com o nome AutoSiteCoverage e atribua o valor 0
2- Atualizar os servidores Windows Server 2003 para que eles reconheçam um servidor RODC como um servidor válido usando o hotfix do KB944043.
Conclusão
O RODC é totalmente compatível com um ambiente misto (Domain Controllers 2003 e 2008), porém é preciso preparar a floresta para que um RODC possa ser adicionado, mas essa atualização é apenas para o Schema da floresta, mas nenhuma alteração é feita nos servidores Windows Server 2003 ou clientes Windows XP para que eles saibam o que é um RODC, portanto se você tem um ambiente misto o ideal é que o KB944043 seja instalado em todos os computadores Windows Server 2003 e XP.
Referencias
Domain Controllers Running Windows Server 2003 Perform Automatic Site Coverage for Sites with RODCs