Pourquoi les utilisateurs créés sur le contrôleur de domaine font-ils toujours partie du domaine?

10

Pourquoi les utilisateurs créés sur le contrôleur de domaine font-ils toujours partie du domaine?

Lorsque je souhaite créer un utilisateur local sur le contrôleur de domaine net user <username> <password> /add, je constate que l'utilisateur est automatiquement inclus dans le Domain Usersgroupe.

Je souhaite créer un compte d'administrateur local sur le contrôleur de domaine, ne faisant pas partie du domaine, capable de se connecter au contrôleur de domaine de manière interactive et d'effectuer des tâches administratives.

Est-ce possible?

Shuzheng
la source
2
Non, ce n'est pas possible.
joeqwerty

Réponses:

3

Les comptes locaux sont stockés dans un fichier appelé la base de données SAM . Cela existe sur un contrôleur de domaine - si vous démarrez un contrôleur de domaine en mode restauration, le compte que vous utilisez pour ce faire est simplement le compte administrateur local dans la base de données SAM. Cependant, lorsque Windows s'exécute normalement, l'accès à la base de données SAM est désactivé et aucun des comptes qu'il contient ne peut être utilisé. Cela signifie qu'il est impossible de se connecter avec un compte local sur un contrôleur de domaine.

Cependant, cela peut être fait si vous êtes heureux de travailler à partir d'une ligne de commande et si vous n'avez pas besoin d'un accès réseau. L'astuce consiste à se connecter en tant que compte système local. Windows ne fournit aucun moyen de le faire, mais je l'ai fait en écrivant un simple serveur Telnet, puis en l'exécutant en tant que service à l'aide du compte système local. Lorsque vous vous connectez au serveur Telnet, vous êtes connecté en tant que compte système et non pas compte de domaine. Les seules restrictions sont qu'il s'agit uniquement de la ligne de commande et que le compte système n'a pas d'accès au réseau. Si vous allez utiliser un hack comme celui-ci, soyez très, très prudent en matière de sécurité!

Bien que tout cela ressemble à un horrible hack, il a des utilisations légitimes. Par exemple, au travail, nous utilisons un outil de gestion appelé N-able qui permet l'accès à distance à une console sur des serveurs, et il le fait en utilisant essentiellement la technique que je décris ci-dessus. Si j'ouvre une console sur l'un de nos contrôleurs de domaine et utilise la commande whoami que j'obtiens:

entrez la description de l'image ici

note de bas de page

Windows n'a pas de méthode intégrée pour ouvrir une invite de commande à distance, mais comme le mentionne grawity dans un commentaire, l' utilitaire SysInternals psexec peut le faire, et les utilitaires SysInternals sont fournis et pris en charge par Microsoft, c'est donc au moins semi officiel. En utilisant psexec sur l'un de mes serveurs, j'obtiens:

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
la source
Avez-vous réinventé SysInternals psexec -s ?
user1686
1
@grawity J'ai d'abord fait cela sur Windows NT 3.1 avant que les utilitaires Sysinternals n'existent :-) Cependant, vous faites un bon point. J'avais oublié que psexec pouvait faire ça.
John Rennie
1
Point pris. Mais si tout va bien le telnetd original "grand ouvert" n'est pas utilisé maintenant?
user1686
23

Non, ce n'est pas possible. Les contrôleurs de domaine n'ont pas leur propre base de données d'authentification. Il est remplacé par Active Directory lorsqu'il est promu contrôleur de domaine.

long cou
la source
2
Cela répond "Est-ce possible?" du corps de la question, mais ne répond pas "pourquoi" du titre. Des informations sur la partie "pourquoi"?
Mołot
8
Domain controllers don't have their own authentication database. It is replaced by Active Directory when promoted to a Domain Controllerest le pourquoi. Cela répond donc au pourquoi.
joeqwerty
4
@peterh Seul Microsoft peut savoir pourquoi ils l'ont conçu de cette façon, mais je doute qu'ils le sachent. Lors de mon transfert, la plupart des questions «pourquoi» auxquelles j'ai dû répondre «Je l'ai fait parce que c'était la première chose qui me venait à l'esprit, et cela a fonctionné, et après cela, ne jamais changer un système en cours d'exécution».
Alexander
5
Honnêtement, si la question est "Pourquoi Microsoft l'a-t-il conçu de cette façon?" est la question, je ferais VTC. Toute réponse que nous fournirions serait de la pure spéculation (à moins que quelqu'un ici ne travaille sur ce projet chez MS vers 1999-ish?).
Katherine Villyard
2
J'étais MS MVP pour le serveur Windows à l'époque et j'ai fait quelques trucs avec l'équipe bêta "NT 5" et je suis allé à quelques réunions où les décisions de conception ont été discutées. L'argument était alors qu'il n'existait pas vraiment une action d'administrateur "local" sur un contrôleur de domaine, car tout ce qui pouvait affecter le domaine. Vous voulez redémarrer le DC? Vous souhaitez ajouter ou supprimer un rôle? Vous souhaitez modifier les paramètres DNS sur la carte réseau? Tous peuvent potentiellement affecter la capacité de ce contrôleur de domaine à desservir son domaine et, par conséquent, pas vraiment les actions "d'administration locale" sur un contrôleur de domaine.
Rob Moir