Mein lokaler Computer verwendet Windows 7 Pro und gehört zu Realm LR, das von AD-Servern verwaltet wird. Ich melde mich bei meinem Computer an, während ich mit dem Netzwerk dieses Bereichs verbunden bin. Ich kann das TGT mit MIT Kerberos für Windows ver anzeigen. 4.0.1.
Ich möchte auf Ressourcen in einem fremden Bereich zugreifen, FR. Es gibt keine Kerberos-Vertrauensstellung zwischen LR und FR, aber sie ermöglichen TCP-Verkehr untereinander. Ich fordere ein TGT für FR mit seinem KDC (Red Hat IdM / FreeIPA) an und gebe mein Passwort erfolgreich ein, wenn ich dazu aufgefordert werde. Wieder kann ich das TGT mit MIT Kerberos für Windows ver anzeigen. 4.0.1. Ich kann jetzt über SSH auf Ressourcen in FR zugreifen, ohne nach einem Passwort gefragt zu werden, obwohl ich von LR stamme.
Das Problem ist, wenn ich die TGT für FR erhalte, verschwindet die TGT für meinen LR-Principal. In MIT Kerberos ist nur das FR TGT sichtbar. Wenn ich meinen Computer sperre und dann mit meinem Passwort entsperre, ist der FR TGT jetzt weg und wird durch einen neuen LR TGT ersetzt.
Es scheint, dass MIT Kerberos für Windows jeweils nur ein TGT speichern kann. Jedes TGT arbeitet in jeder Hinsicht vollständig für sein Reich. Wie kann ich MIT Kerberos so konfigurieren, dass ich zwei TGTs gleichzeitig habe, eine für jeden Bereich? Ist es möglich, mehrere Client-Instanzen zu "unterteilen", die jeweils auf eine andere KRB5_CONFIG und ein anderes lokales Keytab verweisen? Wenn ich nicht kann, gibt es eine alternative Windows-Implementierung von clientseitigem Kerberos 5, die dies auch dann tut, wenn keine Inter-Realm-Vertrauensstellungen vorhanden sind?
PS: Ich will kein Vertrauen. Ich kann kein Vertrauen bekommen.
UPDATE: Ich habe einige dieser Details früher weggelassen, weil ich dachte, dass dies das Problem verwirren könnte. Aber basierend auf Brads Antwort könnte dies gerechtfertigt sein. Ich gehe davon aus, dass die meisten lokalen Programme die integrierte Windows-Implementierung von Kerberos verwenden und immer die LR-Keytab verwenden.
Power-User wie ich nutzen jedoch heimdal unter Cygwin, um SSH in FR zu bringen. Ich erwarte, dass alles, was Cygwin-DLLs durchläuft, heimdal verwendet und das LR-TGT nie sieht (was zumindest standardmäßig nicht der Fall ist). Ich kinit explizit und gehe weiter.
Der schwierige Teil kommt für Nicht-Power-User, die ich unterstützen muss und die Cygwin nicht verwenden, aber PuTTY verwenden. Mit PuTTY können Sie sowohl den Bibliothekspfad als auch die DLL angeben, für die die GSSAPI-Implementierung verwendet werden soll. Zum Beispiel konfiguriere ich SSH-Sitzungen so, dass MIT Kerberos-DLLs anstelle von integrierten Windows-DLLs verwendet werden. Ich hatte die Hoffnung, dass es da draußen eine DLL gibt, die entweder nie versucht hat, das LR-TGT (wie heimdal) zu finden, oder mehrere TGTs aus mehreren Bereichen zugelassen hat. Es muss kein GUI-Fenster wie MIT Kerberos haben, aber es hilft.