Beim Betrieb einer Subdomäne stellte sich im Rahmen der Versuche
heraus, dass entgegen den Beschreibungen aus den Quellen [Mic05]
der University of Michigan und [Alb05] der kanadischen
University of Alberta nicht einem Trust-Path über die Root-Domain
gefolgt wird. Bestand ein Realm-Trust zwischen Heimdal und der
Subdomäne wurde direkt nach dem Authentifizierungsschritt durch den
externen Heimdal-Kerberos an den Domaincontroller der Subdomäne
verwiesen. Dieser kann auch das Service-Ticket für den Client-Rechner
bereitstellen. Allerdings wird im Folgeschritt versucht, einen
Domainenbenutzer zu finden, der dem Prinzipal des externen Kerberos
entspricht. Ist dieser vorhanden, kann der Nutzer mit den
Berechtigungen dieses Domainbenutzerobjektes angemeldet werden. Ziel
der Aufgabenstellung ist allerdings eine zentrale Nutzerverwaltung, in
der die Nutzer an nur einer Stelle verwaltet werden sollen. Auch ist
eine Einschränkung des Zugriffs auf personenbezogene Daten auf einen
überschaubaren Personenkreis zu beachten.
Entsprechend der oben genannten Quellen sei eine Bereitstellung der
Nutzer im Active Directory der Root-Domaine ausreichend, da der
Prinzipal mit dem ersten Vorkommen eines passenden Nutzerobjektes auf
dem Trust-Path angemeldet wird. Dies entspricht allerdings nicht dem
beschriebenen Verhalten des Heimdal-Kerberos. In den Quellen wurde
erwähnt, dass einzig eine Vertrauensstellung zwischen der
Windows-Root-Domaine und dem externen Kerberos bestehen muss.
Ähnliches wird in verschiedenen Papers der University of Colorado
unter [Col00] beschrieben. Ist dies
bei der Heimdal-Implementierung der Fall, wird die Anfrage des
Clienten nach seinem Service-Ticket durch den Heimdal-Server einzig
durch einen "`KRB5_ERROR_PRINZIPAL_UNKNOWN"' beantwortet, da ihm
auch kein Trust bekannt ist, der die Anfrage befriedigender bearbeiten
kann.
Ein weiterer Versuch bestand darin, dieses Verhalten durch ein
geschicktes Verschachteln von Gruppen eine Art Verweis auf die
Nutzerobjekte in der Root-Domain innerhalb der Subdomäne anzulegen.
Prinzipiell kennt X.500 ja Verweise, um auf den Datenbestand anderer
DSA zu vermitteln, welche vom angesprochenen DSA nicht beantwortet
werden können. Leider ist das Anlegen eines solchen Verweises in Form
eines Nutzerobjektes innerhalb des Active Directorys nicht vorgesehen,
weshalb auf die Variante der Gruppenmitgliedschaften ausgewichen werden
sollte. Vertiefend könnte ein Versuch in dieser Richtung mit Hilfe von
Visual Basic in der Folge der Arbeit durchgeführt werden, da
allerdings die Erfolgsaussichten gering sind, wurde es an dieser
Stelle nicht ausgeweitet. Eine sinnvolle Gruppenverschachtelung ist im
Rahmen der Tests ebenfalls erfolglos geblieben, aber es sei auf Abschnitt
5.8 verwiesen, welcher verschiedene Erkenntnisse zu
Gruppenarten und -verweisen enthält, die sicher auch für die tägliche
Arbeit interessant sind.
Wie sich im Rahmen der Tests herausstellte, unterstützt hingegen
MIT-Kerberos mittels einer Funktion genau eine Befolgung des oben genannten
Szenarios. Ein AS-Request, wie er bei der Erstauthentifizierung eines
Nutzers gestellt wird, wird auch durch das MIT-Kerberos nur durch
Abgleich des angeforderten Prinzipals mit der lokalen
Prinzipaldatenbank abgearbeitet. Hingegen wird in der Funktion zur
Abarbeitung von TGS-Requests "`do_tgs()"' bei einem erfolglosen
Versuch, das Prinzipal in der lokalen Datenbank zu finden oder einem
direkten Trust folgend weiter zu vermitteln, eine Funktion gerufen,
die das angeforderte Prinzipal an Trennzeichen (üblicherweise dem
Punkt) zerlegt und dann die verschiedenen Kombinationen gegen die
lokale Datenbasis abgleicht. Die Abweisung eines solchen Verhaltens
bei AS-Requests erklärt sich durch das Kerberos-Protokoll, da die
Weitervermittlung mittels Erteilung eines TGTs für den Zielrealm
erfolgt, dessen Validierung aber durch den empfangenden Realm beim
auslösenden KDC möglich sein muss. Beim AS-Request kann aber der
ursprünglich angesprochene KDC noch niemanden validieren, da ihm ja
eine Prüfung des Prinzipals nicht möglich war.
Beispielhaft am oben aufgeführten Szenario der Subdomain könnte das
Verhalten des MIT bei einem TGS-Request wie folgt aussehen: