Por que os usuários criados no controlador de domínio sempre fazem parte do domínio?

10

Por que os usuários criados no controlador de domínio sempre fazem parte do domínio?

Quando quero criar um usuário local no controlador de domínio net user <username> <password> /add, acho que o usuário é incluído automaticamente no Domain Usersgrupo.

Desejo criar uma conta de administrador local no controlador de domínio, que não faça parte do domínio, capaz de fazer logon no controlador de domínio interativamente e executar tarefas administrativas.

Isso é possível?

Shuzheng
fonte
2
Não. Não é possível.
joeqwerty

Respostas:

3

Contas locais são armazenadas em um arquivo chamado banco de dados SAM . Isso existe em um controlador de domínio - se você inicializar um controlador de domínio no modo de restauração , a conta usada para isso é apenas a conta de administrador local no banco de dados SAM. No entanto, quando o Windows está executando normalmente, o acesso ao banco de dados SAM é desabilitado e nenhuma das contas nele pode ser usada. Isso significa que é impossível fazer logon com uma conta local em um controlador de domínio.

No entanto, isso pode ser feito se você tiver prazer em trabalhar em uma linha de comando e se não precisar de acesso à rede. O truque é fazer logon como a conta do sistema local. O Windows não fornece nenhuma maneira de fazer isso, mas eu o fiz escrevendo um servidor telnet simples e executando-o como um serviço usando a conta do sistema local. Quando você se conecta ao servidor de telnet, você está conectado como a conta do sistema, não como uma conta de domínio. As únicas restrições são que é apenas linha de comando e a conta do sistema não tem acesso à rede. Se você usar um hack como este, tenha muito, muito cuidado com a segurança!

Embora tudo isso pareça um hack horrível, ele tem usos legítimos. Por exemplo, no trabalho, usamos uma ferramenta de gerenciamento chamada N-capaz que permite acesso remoto a um console em servidores, e o faz usando basicamente a técnica descrita acima. Se eu abrir um console em um de nossos controladores de domínio e usar o comando whoami , recebo:

insira a descrição da imagem aqui

Nota de rodapé

O Windows não possui um método interno para abrir um prompt de comando remoto, mas como o grawity menciona em um comentário O utilitário SysInternals psexec pode fazer isso, e os utilitários SysInternals são fornecidos e suportados pela Microsoft, portanto isso é pelo menos semi oficial. Usando o psexec em um dos meus servidores, recebo:

D:\temp\psexec>psexec64 \\cheddar -s cmd.exe

PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com


Microsoft Windows [Version 10.0.17134.345]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Windows\system32>whoami
nt authority\system

C:\Windows\system32>exit
cmd.exe exited on cheddar with error code 0.
John Rennie
fonte
Você reinventou o SysInternals psexec -s ?
user1686
1
@rawity Eu fiz isso pela primeira vez no Windows NT 3.1 antes da existência dos utilitários da Sysinternals :-) No entanto, você faz um bom argumento. Eu tinha esquecido que o psexec poderia fazer isso.
John Rennie
1
Ponto tomado. Embora, esperançosamente, o telnetd "totalmente aberto" original não esteja sendo usado agora?
user1686
23

Não, isso não é possível. Os controladores de domínio não têm seu próprio banco de dados de autenticação. É substituído pelo Active Directory quando promovido a um controlador de domínio.

pescoço longo
fonte
2
Isso responde "Isso é possível?" do corpo da pergunta, mas não responde "por que" do título. Alguma informação sobre a parte "por que"?
Mołot 29/10
8
Domain controllers don't have their own authentication database. It is replaced by Active Directory when promoted to a Domain Controlleré o porquê. Então, isso responde ao porquê.
Joeqwerty
4
@ Peterh Somente a Microsoft pode saber por que a projetou dessa maneira, mas duvido que eles saibam. Durante a minha entrega, a maioria das perguntas "por que" tive que responder com "respondi porque foi a primeira coisa que me veio à mente, e funcionou e, depois disso, nunca mudou um sistema em execução".
284 Alexander
5
Honestamente, se a pergunta for "Por que a Microsoft a projetou dessa maneira?" é a questão, eu teria VTC. Qualquer resposta que forneceríamos seria pura especulação (a menos que alguém aqui trabalhasse nesse projeto na MS por volta de 1999-ish?).
Katherine Villyard
2
Eu era um servidor Microsoft MVP para Windows naquela época e fiz algumas coisas com a equipe beta do "NT 5" e fui a algumas reuniões nas quais as decisões de design eram discutidas. O argumento era que não havia realmente uma ação de administrador "local" em um controlador de domínio, pois qualquer coisa tinha o potencial de afetar o domínio. Deseja reiniciar o controlador de domínio? Deseja adicionar ou remover uma função? Deseja alterar as configurações de DNS na placa de rede? Todos potencialmente capazes de afetar a capacidade desse controlador de domínio de atender seu domínio e, portanto, não são realmente ações de "administrador local" em um controlador de domínio.
quer