Kerberos V5 ist ein System mit einfacher Anmeldung. Das bedeutet, dass Sie nur einmal Ihr Passwort eingeben müssen, und die Kerberos V5-Programme erledigen dann das Authentisieren (und wahlweise auch das Verschlüsseln) für Sie, weil Kerberos in jedes der existierenden, bekannten Netzwerkprogramme integriert ist. Die Kerberos V5-Anwendungen sind Versionen bestehender UNIX-Netzwerkprogramme, bei denen die Kerberosfunktionen hinzugefügt worden sind.
Wenn Sie zum Beispiel ein mit Kerberos ausgestattetes Programm dazu verwenden, um sich mit einem entfernten Host zu verbinden, dann müssen das Programm, das KDC und der entfernte Host eine Reihe von schnellen Verhandlungen durchführen. Wenn diese Verhandlungen abgeschlossen sind, hat das Programm Ihre Identität beim entfernten Host in Ihrem Namen nachgewiesen, und der entfernte Host hat Ihnen Zugang gewährt.
Beachten Sie, dass kerberosfähige Befehle zuerst versuchen, die Authentisierung mit Kerberos durchzuführen. Wenn die Authentisierung durch Kerberos fehlschlägt, tritt ein Fehler auf, oder es wird die UNIX-Authentisierung versucht, je nachdem, welche Optionen mit dem Befehl verwendet wurden. Ausführlichere Informationen erhalten Sie im Abschnitt Kerberos-Sicherheit der Online-Dokumentation zu den Kerberos-Befehlen.
Die mit Kerberos ausgestatteten Netzwerk-Services sind diejenigen Programme, die zu einem anderen Computer irgendwo im Internet eine Verbindung herstellen. Diese Programme befinden sich in /usr/krb5/bin; legen Sie die Variable PATH so fest, dass diese vor nicht-Kerberos-Versionen stehen. Es handelt sich bei diesen Programmen um:
ftp
rcp
rlogin
rsh
telnet
Diese Programme verfügen über alle ursprünglichen Leistungsmerkmale der entsprechenden, nicht kerberosfähigen Entsprechungen. Sie haben auch zusätzliche Leistungsmerkmale, bei denen unter Verwendung von Kerberos-Tickets die Authentisierung (und wahlweise auch Verschlüsselung) mit dem entfernten Host transparent verhandelt wird. In den meisten Fällen werden Sie nur bemerken, dass Sie Ihr Passwort nicht mehr eingeben müssen, um sie zu benutzen, weil Kerberos für Sie den Nachweis Ihrer Identität erbringt.
Die Kerberos V5-Netzwerkprogramme erlauben Ihnen folgende Optionen:
Weiterleiten Ihrer Tickets an einen anderen Host (sofern Sie von vornherein weiterreichbare Tickets erworben haben)
Verschlüsseln der zwischen Ihnen und dem entfernten Host übertragenen Daten
Dieser Abschnitt geht davon aus, dass Sie bereits mit den nicht kerberosfähigen Versionen dieser Programme vertraut sind, und stellt daher die Funktionalität heraus, die durch das Kerberos V5-Package hinzugefügt worden sind. Ausführliche Beschreibungen der hier dargestellten Befehle finden Sie auf den entsprechenden Seiten der Online-Dokumentation.
Die folgenden Kerberos-Optionen sind zu den Befehlen ftp, rcp, rlogin, rsh und telnet hinzugefügt worden:
Versuche eine automatische Anmeldung mithilfe von bestehenden Tickets. Verwendet den von getlogin()augegebenen Benutzernamen. Dies ist nicht der Fall, wenn er sich von der aktuellen Benutzer-ID unterscheidet. (Siehe die Online-Dokumentation (Man Page) telnet (1) um weitere Informationen zu erhalten).
Leite ein nicht wiederholt weiterreichbares Ticket an einen entfernten Host weiter. Diese Option und die -F (siehe unten) schließen sich gegenseitig aus; sie können im selben Befehl nicht zusammen verwendet werden.
Sie sollten ein Ticket weiterleiten, wenn Sie Grund zur Annahme haben, dass Sie sich bei einem anderen mit Kerberos ausgestatteten Service authentisieren müssen, wenn Sie sich zum Beispiel über rlogin bei einem anderen Computer und dann von dort aus über rlogin bei einem dritten Computer anmelden möchten.
Sie sollten auf jeden Fall ein weiterreichbares Ticket verwenden, wenn Ihr Home-Verzeichnis auf dem entfernten Host ein mit Kerberos V5 ausgestatteter NFS-Mount ist, weil Sie sonst keinen Zugriff auf Ihr Home-Verzeichnis haben. (Das heißt: angenommen, Sie melden sich zunächst bei System 1 an. Von dort aus melden Sie sich über rlogin bei Ihrem Home-Computer an, System 2, der Ihr Home-Verzeichnis aus System 3 einhängt. Wenn Sie nicht die Option -f oder die Option -F mit dem Befehl rlogin verwendet haben, können Sie nicht zu Ihrem Home-Verzeichnis gelangen, weil Ihr Ticket nicht an System 3 weitergeleitet werden kann.
Standardmäßig ruft kinit weiterreichbare Ticket-Granting Tickets (TGTs) ab; Ihre SEAM-Konfiguration könnte in der Beziehung jedoch anders sein.
Weitere Informationen über das Weiterleiten von Tickets finden Sie unter "Weiterleiten von Tickets mit Option -f oder -F".
Leite eine wiederholt weiterreichbare Kopie eines Ticket-Granting Tickets an ein entferntes System weiter. Ähnlich der Option -f (siehe oben), doch sie erlaubt den Zugriff auf einen weiteren (z. B. vierten oder fünften) Computer. Die Option -F kann daher als Obermenge der Option -f angesehen werden. Diese Option und die Option -f schließen sich gegenseitig aus; sie können im selben Befehl nicht zusammen verwendet werden.
Weitere Informationen über das Weiterleiten von Tickets finden Sie unter "Weiterleiten von Tickets mit Option -f oder -F".
Fordere Tickets für entfernten Host im angegebenen Bereich an, anstatt den Bereich selbst über die Datei krb5.conf zu ermitteln.
Authentisiere mit den Tickets beim entfernten Host, melde aber nicht automatisch an.
Gebe den zu verwendenden GSS-API-Sicherheitsmechanismus gemäß Liste /etc/gss/mech an. Standardeinstellung ist kerberos_v5.
Verschlüssele diese Sitzung.
Deaktiviere Authentisierungstyp auth_type.
Tabelle 6-1, zeigt, welche Befehle über bestimmte Optionen verfügen (ein "X" bedeutet, dass der Befehl über diese Option verfügt).
Tabelle 6-1 Kerberos-Optionen für Netzwerk-Befehle
|
ftp |
rcp |
rlogin |
rsh |
telnet |
---|---|---|---|---|---|
-a |
|
|
|
|
X |
-f |
X |
|
X |
X |
X |
-F |
|
|
X |
X |
X |
-k |
|
X |
X |
X |
X |
-K |
|
|
|
|
X |
-m |
X |
|
|
|
|
-x |
|
X |
X |
X |
X |
-X |
|
|
|
|
X |
Zusätzlich ermöglicht ftp die Festlegung der Schutzstufe für eine Sitzung zum Zeitpunkt der Befehlseingabe:
Setze die Schutzstufe auf "clear" (kein Schutz). Dies ist die Standardeinstellung.
Setze die Schutzstufe auf "private". Datenübertragungen werden zum Schutz der Vertraulichkeit und Integrität verschlüsselt. Dieser Vertraulichkeits-Service steht jedoch möglicherweise nicht allen SEAM-Benutzern zur Verfügung.
Setze die Schutzstufe auf "safe". Integritätsschutz von Datenübertragungen wird durch kryptographische Prüfsummen erreicht.
Sie können die Schutzstufe auch bei der ftp-Befehlseingabe festlegen, indem Sie protect eingeben und danach eine der oben genannten Schutzstufen (clear, privateoder safe).
Wie in "Überblick über kerberosfähige Befehle" beschrieben, ist es bei einigen Befehlen möglich, Tickets entweder mit der Option -f oder mit der Option -F weiterzuleiten. Durch das Weiterleiten von Tickets können Sie Ihre Netzwerk-Transaktionen "verketten"; so können Sie sich zum Beispiel mit rlogin auf einem Computer anmelden und dann von dort aus über rloginauf einem anderen anmelden. Die Option -f erlaubt das Weiterleiten eines Tickets, während die Option -F das erneute Weiterleiten eines bereits weitergeleiteten Tickets erlaubt.
In Abbildung 6-2 ruft der Benutzer david mit kinit ein Ticket-Granting Ticket (TGT) ab. (Es ist nicht weiterreichbar, da er nicht die Option -f angegeben hat.) In Szenario 1 kann er mit rlogin auf Computer B zugreifen, kommt jedoch nicht weiter. In Szenario 2 schlägt der Befehl rlogin -f fehl, weil er versucht, ein Ticket weiterzuleiten, das nicht weiterreichbar ist.
(In der Realität werden SEAM-Konfigurationsdateien so eingerichtet, dass kinit standardmäßig weiterreichbare Tickets abruft. Ihre Konfiguration könnte jedoch unterschiedlich sein. Für diesen Fall gehen wir davon aus, dass kinit nur dann weiterreichbare TGTs abruft, wenn der Befehl mit der Option - f aufgerufen wird. Beachten Sie übrigens, dass kinit nicht die Option -F hat; TGTs sind nur weiterreichbar oder nicht weiterreichbar.)
In Abbildung 6-3 ruft david weiterreichbare TGTs mit kinit -f ab. In Szenario 3 kann er Computer C erreichen, weil er ein weiterreichbares Ticket mit rlogin verwendet. In Szenario 4 schlägt der zweite rlogin fehl, weil das Ticket nicht wiederholt weiterreichbar ist. Durch Verwendung der Option -F, wie in Szenario 5, ist stattdessen der Befehl rlogin erfolgreich, so dass das Ticket an Computer D weitergereicht werden kann.
Die folgenden Beispiele vermitteln eine Vorstellung, wie die Optionen der kerberosfähigen Befehle funktionieren.
Bei diesem Beispiel hat sich der Benutzer david bereits angemeldet und möchte mit telnet den Computer stuttgart.acme.com erreichen. Er verwendet die Option -f zum Weiterleiten des vorhandenen Tickets, die Option -x zum Verschlüsseln der Sitzung und die Option -a, um eine automatische Anmeldung auszuführen. Weil er nicht vorhat, die Services eines dritten Hosts in Anspruch zu nehmen, kann er die Option -f anstelle von -F verwenden.
% telnet -a -f -x stuttgart.acme.com Verbindungsaufbau mit 128.0.0.5... Verbunden mit stuttgart.acme.com. Escape-Zeichen ist '^]'. [ Kerberos V5 akzeptiert Sie als "david@eng.acme.com" ] [ Kerberos V5 hat weitergeleitete Berechtigungsnachweise akzeptiert] SunOS 5.7: Di 21. Mai 00:31:42 EDT 1998 Willkommen bei SunOS % |
Beachten Sie, dass davids Rechner sich über Kerberos bei stuttgart.acme.com authentisiert hat und automatisch mit seiner Identität angemeldet wurde. Er hatte eine verschlüsselte Sitzung, Kopien seiner Tickets warteten schon auf ihn, und er musste nie sein Passwort eingeben. Hätte er eine nicht-kerberosfähige Version von telnet benutzt, dann wäre er nach seinem Passwort gefragt worden, und dieses wäre dann unverschlüsselt über das Netzwerk gesendet worden. Wenn ein Eindringling zu der Zeit den Netzwerkverkehr beobachtet hätte, dann hätte er das Passwort von david erfahren.
Wenn Sie Ihre Kerberos-Tickets weiterleiten, vernichtet telnet (wie auch die anderen hier behandelten Befehle) diese bei Programmende.
Hier möchte die Benutzerin jennifer sich auf ihrem eigenen Computer hamburg.acme.com anmelden. Sie leitet ihre bestehenden Tickets mit der Option -F weiter und verschlüsselt dann die Sitzung mit -x. Sie wählt die Option -F anstelle von -f, weil sie nach ihrer Anmeldung bei hamburg noch andere Netzwerk-Transaktionen durchführen möchte, was ein wiederholtes Weiterleiten der Tickets erfordert. Auch muss sie Ihr Passwort nicht eingeben, da sie ihre bestehenden Tickets weiterleitet.
% rlogin hamburg.acme.com -F -x Diese rlogin-Sitzung verwendet DES-Verschlüsselung für alle Datenübertragungen. Letzte Anmeldung Mo 19. Mai 15:19:49 h von chrysantheme SunOS Release 5.7 (GENERISCH) #2 Di 14. Nov 18:09:3 h 1998 % |
Nehmen wir jetzt an, dass joe mithilfe von ftp seine Post vom Verzeichnis ~joe/MAIL auf dem Computer stuttgart.acme.com holen und dabei die Sitzung verschlüsseln möchte. Der Informationsaustausch würde folgendermaßen aussehen:
% ftp -f stuttgart.acme.com Verbunden mit stuttgart.acme.com 220 stuttgart.acme.org FTP-Server (Version 6.0) bereit. 334 Verwendung von Authentisierungstyp GSSAPI; ADAT muss folgen GSSAPI als Authentisierungstyp akzeptiert GSSAPI-Authentisierung erfolgreich Name (chrysantheme.acme.org:joe) 232 GSSAPI Benutzer joe@MELPOMENE.ACME.COM als joe autorisiert 230 Benutzer joe angemeldet. Entfernter Systemtyp ist UNIX. BINÄR-Modus zum Übertragen von Dateien verwendet. ftp> protect private 200 Schutzstufe "private" eingestellt ftp> cd ~joe/MAIL 250 CWD Befehl erfolgreich. ftp> get RMAIL 227 Eintritt in Passivmodus (128,0,0,5,16,49) 150 Datenverbindung im BINÄR-Modus für RMAIL geöffnet (158336 Byte). 226 Übertragung abgeschlossen. 158336 Byte in 1,9 Sekunden empfangen (1.4e+02 Kbytes/s) ftp> quit % |
Um die Sitzung zu verschlüsseln, setzt joe die Schutzstufe auf private.