Authentification Kerberos pour les postes de travail hors domaine

8

J'ai une compréhension de base du fonctionnement de Kerberos dans un environnement Active Directory et des méthodes qu'il utilise pour authentifier les utilisateurs et les postes de travail sur le réseau, mais ma question est .. puisque Kerberos s'appuie sur l'émission d'un jeton de sécurité que l'utilisateur final utilise ensuite pour accéder ressources réseau, comment les systèmes (ordinateurs portables) du domaine ne peuvent-ils pas accéder aux mêmes ressources réseau en utilisant uniquement le nom d'utilisateur et le mot de passe d'un utilisateur Active Directory?

Je suppose que cela aurait plus de sens si simplement en utilisant les informations d'identification de l'utilisateur, Kerberos génère un jeton de sécurité et le délivre au système, mais il semble qu'il devrait y avoir plus de sécurité pour empêcher un système non-domaine d'accéder aux ressources du réseau.

Si quelqu'un pouvait m'éclairer, je l'apprécierais!

Eric
la source
Question stupide .. avec l'utilisation de Kerberos dans un environnement Active Directory .. est-il nécessaire d'activer NTLM? Non pas que je sois entièrement sûr qu'il puisse être désactivé, mais j'ai remarqué sur la page wiki joeqwerty liée à que Microsoft ne recommande pas son utilisation.
Eric
Si vous accédez à un serveur non par son nom (par exemple \\ 10.12.181.29), vous retournerez à NTLM; car kerberos dépend des noms des serveurs correspondant à leur certificat.
Ian Boyd

Réponses:

5

comment les systèmes (ordinateurs portables) ne se trouvant pas sur le domaine peuvent-ils accéder aux mêmes ressources réseau en utilisant uniquement le nom d'utilisateur et le mot de passe d'un utilisateur Active Directory?

Cela dépend des "ressources réseau" impliquées. Sur un ordinateur Windows auquel vous êtes connecté, vous avez au moins deux identités Kerberos clientes en jeu:

  • vous, utilisateur @ DOMAIN
  • l'ordinateur, poste de travail $ @ DOMAIN

Il y a aussi host / workstation @ DOMAIN, mais c'est généralement l'identification d'un service en cours d'exécution sur l'hôte, auquel on accède depuis un autre endroit. Si un processus privilégié sur l'hôte veut faire quelque chose - par exemple, ajouter son nom au DNS à l'aide du DNS dynamique authentifié par Kerberos - il utilisera son identité pour ce faire, poste de travail $ @ DOMAIN. Si vous, dans votre session de connexion, accédez à certaines ressources vous-même - par exemple, un partage réseau CIFS ou une URL HTTP authentifiée - alors l'identité du client est votre nom principal, user @ DOMAIN (les informations d'identification sont acquises automatiquement pour vous en utilisant le mot de passe que vous avez entré pour vous connecter). De votre question, vous semblez penser qu'une certaine combinaison est impliquée; ce n'est pas le cas, ils sont séparés.

C'est pourquoi il n'y a aucun problème à utiliser Kerberos pour accéder aux ressources Windows à partir d'autres plates-formes. Vous pouvez tout aussi bien taper "utilisateur kinit" sur une boîte Linux, entrez votre mot de passe pour obtenir un justificatif Kerberos (TGT) à partir d'un contrôleur de domaine, puis utilisez Firefox pour accéder à une page Web authentifiée Kerberos sur IIS. Les protocoles pour tout cela sont standard et vous n'avez besoin de rien d'autre que de vos informations d'identification d'utilisateur.

Une réponse précédente affirmait que NTLM est requis dans ce cas; c'est faux (bien que cela puisse certainement être utilisé). Cependant, lorsque vous accédez à une ressource à partir d'un ordinateur n'appartenant pas au domaine et que vous êtes invité à entrer votre nom d'utilisateur et votre mot de passe, vous ne savez pas nécessairement quelle méthode d'authentification est réellement utilisée. Il pourrait utiliser Kerberos. Il peut également se contenter d'un mécanisme basé sur un mot de passe par lequel il envoie votre nom d'utilisateur et votre mot de passe au serveur pour vérification, puis met en cache votre mot de passe afin que vous n'ayez pas à le ressaisir. De nombreux protocoles permettent les deux via des schémas d'abstraction comme SASL. Il faudrait regarder sur le fil pour voir ce qui se passe.

Richard E. Silverman
la source
Si Kerberos a été utilisé, vous pouvez ensuite voir le ticket de service mis en cache avec la commande "klist". Si vous avez accès sans que cela provoque la mise en cache d'un ticket de service, vous avez probablement utilisé NTLM à la place. Pour vraiment confirmer que vous avez utilisé Kerberos, vous devrez probablement désactiver NTLM (au cas où Windows pourrait toujours revenir de Kerberos à NTLM après avoir déjà obtenu un ticket de service).
Markus Kuhn
1

Les instructions ci-dessous expliquent comment s'authentifier auprès d'un serveur Samba à l'aide de Kerberos à partir d'un client Windows 7/10 (peut-être d'autres). Je n'ai pas testé pour une autre version du client et du serveur:

Sur le client Windows, "Exécuter en tant qu'administrateur" cmd.exe. Entrez ensuite cette commande pour fournir à Windows la connaissance du contrôleur de domaine Kerberos (KDC) pour le kerberos REALM.COM.

Si le KDC est dans DNS:

ksetup /addkdc REALM.COM

Autrement:

ksetup /addkdc REALM.COM kdc01.realm.com

(Entrez plus de KDC pour le domaine REALM.COM s'ils existent. Vous pouvez également ajouter d'autres domaines dans l'un ou l'autre style.)

Utilisez ensuite l'Explorateur pour accéder au partage réseau qui vous intéresse. (Par exemple, \\samba.realm.com\sharedans la barre d'adresse.) Une invite de mot de passe s'ouvrira si le partage est protégé.

Vous devrez spécifier le domaine dans le nom d'utilisateur. Cela peut être fait comme [email protected]ou REALM.COM\user.

Saisissez ensuite le mot de passe.

lickdragon
la source
0

Je connais au moins un système qui peut utiliser des kerberos qui fonctionnent à partir de postes de travail hors domaine. Le nom de cette application est "SAP NETWEAVER Portal". J'ai effectué quelques reniflements réseau sur le poste de travail et la communication, lorsque je me connecte à l'application Web qui se trouve entre le poste de travail et les contrôleurs de domaine. Avant cela, une requête DNS pour les enregistrements srv _krb du domaine que j'ai transmis au champ de nom d'utilisateur (il doit s'agir du format de domaine FQDN, par exemple mydomain.local \ myusername) est effectuée. Après cela, certains cadres Kerberos se produisent.

KatTer
la source