Mon ordinateur local utilise Windows 7 Pro et appartient au domaine LR, géré par les serveurs AD. Je me connecte à mon ordinateur lorsque je suis connecté au réseau de ce domaine. Je peux afficher le TGT avec MIT Kerberos pour Windows ver. 4.0.1.
Je souhaite accéder à des ressources sur un domaine étranger, FR. Il n'y a pas d'approbation Kerberos entre LR et FR, mais ils autorisent le trafic TCP entre eux. Je demande un TGT pour FR avec son KDC (Red Hat IdM / FreeIPA) et saisis mon mot de passe avec succès. Encore une fois, je peux afficher le TGT avec MIT Kerberos pour Windows ver. 4.0.1. Je peux maintenant accéder aux ressources en FR via SSH sans qu'on me demande un mot de passe, malgré l'origine de LR.
Le problème est que lorsque j'obtiens le TGT pour FR, le TGT pour mon principal LR disparaît. Seul le FR TGT est visible dans MIT Kerberos. Si je verrouille mon ordinateur puis le déverrouille avec mon mot de passe, maintenant le FR TGT est parti, remplacé par un nouveau LR TGT.
Il semble que MIT Kerberos pour Windows ne puisse stocker qu'un seul TGT à la fois. Chaque TGT fonctionne complètement pour son domaine à toutes fins utiles. Comment puis-je configurer MIT Kerberos pour me permettre d'avoir deux TGT à la fois, un pour chaque domaine? Est-il possible de "compartimenter" avec plusieurs instances clientes, chacune pointant vers un KRB5_CONFIG différent et un keytab local? Si je ne peux pas, existe-t-il une implémentation Windows alternative de Kerberos 5 côté client qui le fera, même en l'absence d'approbation inter-domaines?
PS - Je ne veux pas de confiance. Impossible d'obtenir une confiance.
MISE À JOUR: J'ai omis certains de ces détails plus tôt parce que je pensais que cela pourrait confondre le problème. Mais d'après la réponse de Brad, cela pourrait être justifié. Je m'attends à ce que la plupart des logiciels locaux utilisent l'implémentation Windows intégrée de Kerberos et utilisent toujours le keytab LR.
Cependant, les utilisateurs expérimentés comme moi utilisent heimdal sous Cygwin pour SSH en FR. Je m'attends à ce que tout ce qui passe par les DLL Cygwin utilise heimdal et ne voit jamais le LR TGT (ce qui n'est pas le cas, du moins pas par défaut). Je kinit explicitement et je passe à autre chose.
La partie délicate vient pour les utilisateurs non avertis que je dois soutenir qui n'utilisent pas Cygwin mais utilisent PuTTY. PuTTY vous permet de spécifier à la fois le chemin d'accès à la bibliothèque et la DLL pour laquelle l'implémentation GSSAPI doit être utilisée. Par exemple, je configure des sessions SSH pour utiliser les DLL MIT Kerberos au lieu des DLL Windows intégrées. J'espérais qu'il y avait une DLL qui n'essayait jamais de trouver le LR TGT (comme heimdal) ou autorisait plusieurs TGT à partir de plusieurs domaines. Il n'a pas besoin d'avoir une fenêtre GUI comme MIT Kerberos, mais cela aide.