Este é um fenômeno verdadeiramente interessante (e chato) e eu insisto que nós descobrimos o que está acontecendo aqui.
Felizmente, o Windows Server tem algumas políticas de auditoria refinadas desde 2008, e podemos usar a auditoria para rastrear quem fez isso. Para fazer isso, precisaremos:
- Descubra onde a modificação do SPN ocorre
- Ativar auditoria de alteração de objeto do AD DS
- Definir uma ACE de auditoria no objeto
- Reproduzir o erro
- Inspecione o log de segurança no DC incorreto
Descubra onde a modificação do SPN ocorre:
Abra um prompt de comando elevado em um controlador de domínio e emita este comando:
repadmin /showobjmeta . "CN=computerAccount,DC=domain,DC=local"|findstr servicePricipalName
A saída conterá o nome do controlador de domínio que originalmente escreveu a versão atual do valor dos atributos servicePrincipalName:
AtivarauditoriadealteraçãodeobjetodoADDS:
Seumapolíticadeauditoriaglobalaindanãoestiverdefinida,vocêpoderáfazeressaalteraçãonapolíticadesegurançalocalnoControladordeDomínioidentificadonaetapaanterior
AbraoConsoledeGerenciamentodeDiretivadeGrupo(gpmc.msc
),localizeoDefaultDomainControllersPolicy
eedite-o.
- Irpara
ComputerConfiguration->WindowsSettings->SecuritySettings
- Selecioneeexpanda
LocalPolicies->SecurityOptions
- VerifiqueseAuditoria:forçarconfiguraçõesdesubcategoriadapolíticadeauditoria...estádefinidocomoAtivado
- Selecione e expanda
Advanced Audit Policy -> Audit Policies -> DS Access
- Certifique-se de que Auditoria de alterações no serviço de diretório esteja definida para pelo menos sucesso
DefinaumaACEdeauditorianoobjeto:
AbraUsuárioseComputadoresdoActiveDirectory(dsa.msc
)everifiqueaconfiguração"Recursos avançados" no menu "Exibir".
Navegue até o objeto de conta do computador, clique com o botão direito do mouse e selecione Propriedades. Escolha a guia Segurança e clique no botão "Avançado".
No prompt, selecione a guia Auditoria e verifique se "Gravar todas as propriedades" está sendo auditado para Todos . Caso contrário, ou se você estiver em dúvida, adicione uma nova entrada:
- Pressione Adicionar .
- Insira "Everyone" como o principal de destino
- Selecione "Sucesso" como o tipo
- Role para baixo nas propriedades e marque "Gravar servicePrincipalName"
- Pressione OK para adicionar a entrada e sair do ADUC
( Se você é preguiçoso, basta selecionar "Write all properties" )
Reproduzir o erro
Da sua pergunta, parece que o SPN get é deletado a cada minuto, então este é provavelmente o passo mais fácil. Faça uma lição de música de 1 minuto nesse meio tempo.
Inspecione o log de segurança no DC ofensivo
Agora que um minuto passou, vamos inspecionar o log de segurança no controlador de domínio identificado como o originador na etapa 1. Isso pode ser um problema em grandes domínios, mas a filtragem pode ajudar com isso:
- Abra o Visualizador de Eventos e navegue até
Windows Logs -> Security
- No painel direito, selecione Filtrar log atual
- No campo de entrada que diz "
<All Event IDs>
", insira 5136 (esse é o ID do evento para a modificação do objeto de diretório)
Agora você deve conseguir encontrar uma entrada de evento para cada alteração no atributo servicePrincipalName
na conta do computador.
Identifique o "Assunto" responsável pela mudança e veja de onde veio. Mate esse processo / máquina / conta com fogo!
Se o assunto for identificado como SYSTEM
, ANONYMOUS LOGON
ou uma descrição genérica semelhante, estamos lidando com o processamento interno no próprio controlador de domínio, e precisaremos desmembrar alguns registros de diagnóstico NTDS para descobrir o que está acontecendo. Por favor, atualize a pergunta se este for o caso