Dieses Kapitel ist für die Personen gedacht, auf deren Systemen SEAM bereits installiert ist. Es erläutert die Verwendung der "kerberosfähigen" Befehle, die von SEAM zur Verfügung gestellt werden: ftp, rcp , rlogin, rsh und telnet. Sie sollten bereits mit diesen Befehlen (in ihrer nicht-kerberosfähigen Version) vertraut sein, bevor Sie hier über sie lesen. Sie werden merken, dass die kerberosfähigen und nicht kerberosfähigen Versionen im wesentlichen dieselben sind. In vielen Fällen können Sie diese Befehle sogar verwenden, ohne je wissen oder beachten zu müssen, dass sie kerberosfähig sind. Die Unterschiede liegen in der Verwendung von Leistungsmerkmalen, die Kerberos nutzen (zum Beispiel für das Weiterleiten eines Tickets beim rlogin-Befehl).
Weil dieses Kapitel für den allgemein interessierten Leser gedacht ist, enthält es auch Informationen über Tickets: Abrufen, Anzeigen und Vernichten. Es enthält auch Informationen über Auswahl und Änderung eines Kerberos-Passworts.
Einen Überblick über SEAM erhalten Sie in Kapitel 1.
Dies ist eine Liste der Themen, die in diesem Kapitel behandelt werden:
Dieser Abschnitt erläutert, wie Tickets abgerufen, angezeigt und vernichtet werden. Eine Einführung in Tickets erhalten Sie in "Funktionsweise von SEAM".
Wenn SEAM installiert ist, wird Kerberos in den login-Befehl integriert, wodurch Sie automatisch Tickets erhalten, wenn Sie sich anmelden. Die kerberosfähigen Befehle rsh, rcp, telnet und rlogin werden gewöhnlich so eingerichtet, dass sie Kopien Ihrer Tickets an andere Computer weiterleiten und Sie nicht explizit Tickets anfordern müssen, um Zugang zu diesen Computern zu erhalten. (Es ist möglich, dass Ihre SEAM-Konfiguration dieses automatische Weiterleiten nicht enthält, aber es ist das Standardverhalten.) Weitere Informationen über das Weiterleiten von Tickets erhalten Sie unter "Überblick über kerberosfähige Befehle" und "Weiterleiten von Tickets mit Option -f oder -F".
Die meisten der kerberosfähigen Befehle vernichten auch Ihre Tickets automatisch, wenn sie beendet werden. Sie könnten es jedoch vorziehen, Ihre Kerberos-Tickets mit kdestroy explizit selbst zu vernichten, wenn diese nicht mehr benötigt werden, nur um sicherzugehen. Weitere Informationen über den Befehl kdestroy erhalten Sie unter "Vernichten von Tickets".
Informationen über die Lebensdauer von Tickets finden Sie unter "Lebensdauer für Tickets".
Normalerweise wird ein Ticket automatisch erstellt, wenn Sie sich anmelden, und Sie müssen nichts Besonderes tun, um eines zu erhalten. In den folgenden Fällen könnte es aber notwendig sein, ein Ticket zu erstellen:
Ihr Ticket läuft ab.
Sie müssen zusätzlich zu Ihrem Standard-Hauptbenutzer einen anderen Hauptbenutzer verwenden. (Wenn Sie sich zum Beispiel mit rlogin -l bei einem Computer als jemand anderes anmelden.)
Um ein Ticket zu erstellen, benutzen Sie den Befehl kinit.
% /usr/bin/kinit |
kinit fragt Sie nach Ihrem Passwort. Die vollständige Syntax des kinit-Befehls finden Sie auf der Seite kinit(1) der Online-Dokumentation (Man Page).
Dieses Beispiel zeigt eine Benutzerin, jennifer, die ein Ticket auf Ihrem eigenen System erstellt:
% kinit Passwort für jennifer@ENG.ACME.COM: <Geben Sie das Passwort ein> |
Hier erstellt der Benutzer david ein Ticket, das mit der Option -l drei Stunden gültig ist:
% kinit -l 3h david@ACME.ORG Passwort für david@ACME.ORG: <Geben Sie das Passwort ein> |
Dieses Beispiel zeigt, wie david ein weiterreichbares Ticket (über die Option - f) für sich selbst erstellt. Mit diesem weiterreichbaren Ticket kann er sich (zum Beispiel) bei einem zweiten System anmelden und sich dann über telnet mit einem dritten System verbinden.
% kinit -f david@ACME.ORG Passwort für david@ACME.ORG: <Geben Sie das Passwort ein> |
Mehr daüber, wie das Weiterleiten von Tickets funktioniert, finden Sie unter "Weiterleiten von Tickets mit Option -f oder -F" und "Arten von Tickets".
Nicht alle Tickets sind gleich. Ein Ticket kann beispielsweise weiterreichbarsein; ein weiteres kann nachdatiert sein; während ein drittes beides sein könnte. Sie können sehen, welche Tickets mit welchen Attributen Sie haben, indem Sie den Befehl klist mit der Option -f verwenden:
% /usr/bin/klist -f |
Die folgenden Symbole zeigen die mit jedem Ticket verknüpften Attribute an, wie sie durch klist angezeigt werden:
F |
Weiterreichbar |
f |
Weitergereicht |
P |
Vollmachten-Ticket |
p |
Bevollmächtigt |
D |
Nachdatierbar |
d |
Nachdatiert |
R |
Erneuerbar |
I |
Initialticket |
i |
Ungültig |
Die verschiedenen Attribute, die ein Ticket haben kann, werden unter "Arten von Tickets" beschrieben.
Dieses Beispiel zeigt das Ticket der Benutzerin jennifer, wobei es sich um ein Initialticket handelt, welches weiterreichbar (F) und nachdatiert (d), aber nicht nicht geprüft (i) ist:
% /usr/bin/klist -f Ticket-Cache: /tmp/krb5cc_74287 Standard-Hauptbenutzer: jenniferm@ENG.ACME.COM Gültig ab Läuft ab am Service-Hauptbenutzer 09 Mrz 99 15:09:51 09 Mrz 99 21:09:51 nfs/ACME.SUN.COM@ACME.SUN.COM zu verlängern bis 10 Mrz 99 15:12:51, Optionen: Fdi |
Dieses Beispiel zeigt zwei Tickets des Benutzers david, die von einem anderen Host auf diesen weitergereicht (f) wurden. Die Tickets sind auch (wiederholt)weiterreichbar (F):
% klist -f Ticket-Cache: /tmp/krb5cc_74287 Standard-Hauptbenutzer: david@ACME.SUN.COM Gültig ab Läuft ab am Service-Hauptbenutzer 07 Mrz 99 06:09:51 09 Mrz 99 23:33:51 host/ACME.COM@ACME.COM zu verlängern bis 10 Mrz 99 17:09:51, Optionen: fF Gültig ab Läuft ab am Service-Hauptbenutzer 08 Mrz 99 08:09:51 09 Mrz 99 12:54:51 nfs/ACME.COM@ACME.COM zu verlängern bis 10 Mrz 99 15:22:51, Optionen: fF |
Tickets werden in der Regel automatisch zerstört, wenn die Befehle, mit denen sie erstellt wurden, beendet werden. Sie könnten es jedoch vorziehen, Ihre Kerberos-Tickets explizit selbst zu vernichten, wenn diese nicht mehr benötigt werden, nur um sicherzugehen. Tickets können gestohlen werden. Wenn das passiert, kann die Person, die sie sich angeeignet hat, diese bis zu ihrem Ablaufdatum verwenden (gestohlene Tickets müssen jedoch entschlüsselt werden).
Um Tickets zu vernichten, verwenden Sie den Befehl kdestroy.
% /usr/bin/kdestroy |
kdestroy vernichtet alle Tickets, die Sie haben. Sie können damit nicht gezielt ein bestimmtes Ticket vernichten.
Wenn Sie sich von Ihrem System entfernen müssen und befürchten, dass ein Eindringling Ihre Berechtigungen benutzt, sollten Sie entweder kdestroy verwenden, oder einen Bildschirmschoner, der den Bildschirm sperrt.
Eine Möglichkeit, sicherzustellen, dass Ihre Tickets immer vernichtet werden, besteht darin, den Befehl kdestroy zur Datei .logout in Ihrem Home-Verzeichnis hinzuzufügen
In Fällen, in denen das PAM-Modul konfiguriert worden ist (Standard), werden Tickets automatisch beim Abmelden vernichtet, so dass ein Aufruf von kdestroy in Ihrer .login-Datei nicht nötig ist. Wenn jedoch das PAM-Modul nicht konfiguriert worden ist, oder wenn Sie nicht wissen, ob dies geschehen ist oder nicht, dann können Sie den Befehl kdestroy zu Ihrer .login-Datei hinzufügen, um sicherzugehen, dass die Tickets vernichtet werden, wenn Sie Ihr System verlassen.
Wenn Sie SEAM installiert haben, verfügen Sie jetzt über zwei Passwörter: Ihr normales Solaris-Passwort und ein Kerberos-Passwort. Sie können für beides dieselben oder unterschiedliche Passwörter verwenden.
Nicht kerberosfähige Befehle wie login werden in der Regel durch PAM so eingerichtet, dass sie die Authentisierung bei Kerberos wie auch bei UNIX vornehmen. Wenn Sie unterschiedliche Passwörter haben, müssen Sie beide Passwörter für eine Anmeldung mit entsprechender Authentisierung angeben. Wenn beide Passwörter aber dieselben sind, wird das erste, das Sie für UNIX eingeben, auch von Kerberos akzeptiert.
Leider kann durch Verwendung desselben Passworts für beide die Sicherheit beeinträchtigt werden. Das heißt, wenn jemand Ihr Kerberos-Passwort entdeckt, dann ist eben Ihr UNIX-Passwort auch kein Geheimnis mehr. Jedoch ist die Verwendung desselben Passworts für UNIX und für Kerberos immer noch sicherer als eine Site ohne Kerberos, weil in einer Kerberos-Umgebung die Passwörter nicht über das Netzwerk versendet werden. Gewöhnlich hat eine Site Richtlinien, die Ihnen bei der Entscheidung über Ihre Optionen helfen.
Ihr Kerberos-Passwort ist für Kerberos die einzige Möglichkeit, Ihre Identität zu überprüfen. Wenn jemand Ihr Kerberos-Passwort entdeckt, wird die Kerberos-Sicherheit bedeutungslos, weil diese Person sich für Sie ausgeben und E-Mails senden kann, die scheinbar von Ihnen kommen, Ihre Dateien lesen, bearbeiten oder löschen kann, oder sich mit Ihrem Namen bei anderen Hosts anmelden kann; niemand wird in der Lage sein, einen Unterschied festzustellen. Aus diesem Grund ist es es unerlässlich, dass Sie ein gutes Passwort auswählen und es geheim halten. Wenn Sie einer anderen Person Zugang zu Ihrem Konto gewähren müssen, können Sie dies über Kerberos tun, ohne Ihr Passwort preisgeben zu müssen (Siehe "Zugriffserlaubnis auf ein Konto"). Sie solten niemals Ihr Passwort einer anderen Person nennen, nicht einmal Ihrem Systemverwalter. Außerdem sollten Sie Ihr Passwort häufig ändern, besonders immer dann, wenn Sie glauben, jemand könnte es herausgefunden haben.
Ihr Passwort kann fast aus jedem Zeichen bestehen, das Sie eingeben können (die wichtigsten Ausnahmen sind die STRG-Taste und die RETURN-Taste oder Eingabetaste). Ein gutes Passwort ist eines, das Sie leicht behalten können, aber das kein anderer leicht erraten kann. Hier sind einige Beispiele für schlecht gewählte Passwörter:
Wörter, die in einem Wörterbuch gefunden werden können
Ein allgemein bekannter oder beliebter Name
Der Name einer berühmten Person oder Gestalt
Ihr eigener Name oder Benutzername in irgendeiner Form (zum Beispiel rückwärts, zweimal wiederholt und so weiter.)
Der Name der Ehefrau, eines Kindes oder Haustiers.
Ihr Geburtstag oder der eines Verwandten
Sozialversicherungsnummer, Führerscheinnummer, Reisepassnummer oder eine ähnliche identifizierende Zahl
Jedes Beispielpasswort, das in diesem oder irgendeinem anderen Handbuch vorkommt.
Ein geeignetes Passwort umfasst mindestens acht Zeichen. Darüber hinaus sollte ein Passwort eine Mischung unterschiedlicher Zeichen enthalten, wie Groß- und Kleinbuchstaben, Zahlen und Interpunktionszeichen. Es folgen Beispiele von Passwörtern, die gut wären, wenn Sie nicht in diesem Handbuch erschienen:
Akronyme wie "IHmhiHv" (gemerkt als "Ich hab' mein Herz in Heidelberg verloren")
Leicht auszusprechende, unsinnige Wörter wie "DackeDiDu" oder "UmmsFallera!"
Absichtlich falsch geschriebene Phrasen wie "sexOhr" oder "AaaleMchtDnFrauuun!"
Verwenden Sie diese Beispiele nicht. Passwörter, die in Handbüchern erscheinen, sind die ersten, die ein Hacker ausprobiert.
Sie können Ihr Kerberos-Passwort auf zwei Arten ändern:
Mit dem üblichen UNIX-Befehl passwd. Wenn SEAM installiert ist, fragt der Solaris-Befehl passwd automatisch auch nach einem neuen Kerberos-Passwort.
Der Vorteil bei der Verwendung von passwd anstelle von kpasswd liegt darin, dass Sie beide Passwörter (UNIX und Kerberos) zur selben Zeit festlegen können. Im Allgemeinen müssen Sie jedoch nicht beide Passwörter mit passwd ändern; oft können Sie einfach Ihr UNIX-Passwort ändern und das Kerberos-Passwort unverändert lassen oder umgekehrt.
Das Verhalten von passwd hängt davon ab, wie das PAM-Modul konfiguriert ist. In manchen Konfigurationen könnte es erforderlich sein, beide Passwörter zu ändern. Für manche Sites muss das UNIX-Passwort geändert werden, während andere verlangen, dass Sie das Kerberos-Passwort ändern.
Der Befehl kpasswd ähnelt sehr dem Befehl passwd. Ein Unterschied ist, dass kpasswd nur Kerberos-Passwörter ändert: Sie müssen passwd verwenden, um Ihr UNIX-Passwort zu ändern.
Ein weiterer Unterschied ist, dass kpasswd das Passwort für einen Kerberos-Hauptbenutzer ändern kann, der kein gültiger UNIX-Benutzer ist. So ist zum Beispiel david/admin ein Kerberos-Hauptbenutzer, aber kein UNIX-Benutzer, weswegen Sie den Befehl kpasswd anstelle von passwd verwenden müssen.
Nachdem Sie Ihr Passwort geändert haben, dauert es einige Zeit, bis die Änderung sich durch ein System vervielfältigt hat (besonders, wenn es sich um ein großes Netzwerk handelt). Abhängig davon, wie Ihr System eingerichtet ist, könnte das etwa einige Minuten bis zu einer Stunde und länger dauern. Wenn Sie kurz nach dem Ändern Ihres Passworts neue Kerberos-Tickets abrufen müssen, versuchen Sie das neue Passwort zuerst. Wenn das neue Passwort nicht funktioniert, versuchen Sie es noch einmal mit dem alten.
Kerberos V5 erlaubt Systemverwaltern, Kriterien über zulässige Passwörter pro Benutzer festzulegen. Solche Kriterien werden durch die Richtlinie definiert, die für jeden Benutzer eingerichtet ist (oder durch eine Standard-Richtlinie); Weitere Informationen zu Richtlinien finden Sie unter "Verwalten von Richtlinien". Nehmen wir zum Beispiel an, dass die Benutzerin jennifer eine Richtlinie (mit dem Namen jenpol) festgelegt hat, die verlangt, dass Passwörter wenigstens acht Zeichen lang sein müssen und mindestens zwei unterschiedliche Zeichenarten enthalten muss. In diesem Fall weist kpasswd den Versuch zurück, "penner" als Passwort zu verwenden.
% kpasswd kpasswd: Passwort ändern für jennifer@ENG.ACME.COM. Altes Passwort: <jennifer gibt Ihr bestehendes Passwort ein> kpasswd: Das Passwort von jennifer@ENG.ACME.COM wird von einer Richtlinie gesteuert, nach der mindestens 8 Zeichen mit mindestens zwei unterschiedlichen Zeichenarten erforderlich sind (die fünf Zeichenarten sind Grußbuchstaben, Kleinbuchstaben, Zahlen, Satzzeichen und alle anderen Zeichen). Neues Passwort: <jennifer gibt 'penner' ein> Neues Passwort (erneut): <jennifer gibt nochmals 'penner' ein>> kpasswd: Neues Passwort ist zu kurz. Bitte wählen Sie ein Passwort, das mindestens 8 Zeichen umfaßt. |
Im folgenden Beispiel verwendet jennifer "faulPelz008" als Passwort. Das erfüllt die Kriterien, weil es länger als 8 Zeichen ist und wenigstens zwei Arten von Zeichen (Kleinbuchstaben, Großbuchstabe, Zahlen) enthält.
% kpasswd kpasswd: Passwort ändern für jennifer@ENG.ACME.COM. Altes Passwort: <jennifer gibt Ihr bestehendes Passwort ein> kpasswd: Das Passwort von jennifer@ENG.ACME.COM wird von einer Richtlinie gesteuert, nach der mindestens 8 Zeichen mit mindestens zwei unterschiedlichen Zeichentypen erforderlich sind (die fünf Zeichentypen sind Grußbuchstaben, Kleinbuchstaben, Zahlen, Satzzeichen und alle anderen Zeichen). Neues Passwort: <jennifer gibt 'faulPelz008' ein> Neues Passwort (erneut): <jennifer gibt noch einmal 'faulPelz008' ein> Kerberos-Passwort geändert. |
Das folgende Beispiel zeigt, wie david sein UNIX- und auch sein Kerberos-Passwort mit passwd ändert.
% passwd passwd: Passwort ändern für david. Geben Sie Anmeldepasswort (NIS+) ein: <geben Sie das aktuelle UNIX-Passwort ein> Neues Passwort: <geben Sie das neue UNIX-Passwort ein> Geben Sie das Passwort erneut ein: <bestätigen Sie das neue UNIX-Passwort> Altes KRB5-Passwort: <geben Sie das aktuelle Kerberos-Passwort ein> Neues KRB5-Passwort: <geben Sie das neue Kerberos-Passwort ein> Geben Sie das neue KRB5-Passwort erneut ein: <bestätigen Sie das neue Kerberos-Passwort> |
Im obigen Beispiel fragt passwd nach dem UNIX- und dem Kerberos-Passwort; wenn jedoch der Parameter try_first_pass im PAM-Modul gesetzt ist, dann wird automatisch das Kerberos-Passwort identisch mit dem UNIX-Passwort eingerichtet. (Dies ist die Standardkonfiguration.) In diesem Fall muss david mit kpasswd das Kerberos-Passwort ändern, wie nachfolgend gezeigt.
Das Beispiel zeigt, wie er nur sein Kerberos-Passwort mit kpasswd ändert:
% kpasswd kpasswd: Passwort ändern für david@ENG.ACME.COM. Altes Passwort: <geben Sie das aktuelle Kerberos-Passwort ein> Neues Passwort: <geben Sie das neue Kerberos-Passwort ein> Neues Passwort (erneut): <bestätigen Sie das neue Kerberos-Passwort> Kerberos-Passwort geändert. |
In diesem Beispiel ändert david das Passwort für den Kerberos-Hauptbenutzer david/admin (der kein gültiger UNIX-Benutzer ist). Um dies zu tun, muss er den Befehl kpasswd verwenden.
% kpasswd david/admin kpasswd: Passwort ändern für david/admin. Altes Passwort: <geben Sie das aktuelle Kerberos-Passwort ein> Neues Passwort: <geben Sie das neue Kerberos-Passwort ein> Neues Passwort (erneut): <bestätigen Sie das neue Kerberos-Passwort> Kerberos-Passwort geändert. |
Wenn Sie jemandem Zugriff auf Ihr Konto geben müssen, damit er/sie sich mit Ihrer ID anmelden kann, dann können Sie das über Kerberos erreichen, ohne Ihr Passwort preiszugeben, indem Sie eine .k5login-Datei in Ihrem Home-Verzeichnis ablegen. Diese Datei besteht aus einer Liste mit einem oder mehreren Hauptbenutzern, die jeweils der Person, der Sie den Zugang erlauben möchten, zugeordnet werden. (Jeder Hauptbenutzer muss auf einer gesonderten Zeile angegeben sein.)
Nehmen wir an, dass der Benutzer david eine .k5login-Datei in seinem Home-Verzeichnis führt, deren Inhalt folgendermaßen aussieht:
jennifer@ENG.ACME.COM joe@ACME.ORG |
Diese Datei erlaubt den Benutzern jennifer und joe, die Identität von david anzunehmen, vorausgesetzt, sie besitzen schon Kerberos-Tickets in ihren jeweiligen Bereichen. So kann zum Beispiel jennifer sich über rlogin auf davids Computer (hamburg) mit dessen Identiät anmelden, ohne dessen Passwort eingeben zu müssen:
In dem Fall, dass das Home-Verzeichnis von david ein NFS-Mount von einem anderen (dritten) Computer unter Verwendung der Kerberos V5-Protokolle ist, muss jennifer ein weiterreichbares Ticket haben, damit sie auf das Home-Verzeichnis zugreifen kann. Ein Beispiel für die Verwendung eines weiterreichbaren Tickets finden Sie unter "So erstellen Sie ein Ticket".
Wenn Sie sich auf anderen Computern im Netzwerk anmelden möchten, sollten Sie Ihren eigenen Kerberos-Hauptbenutzer in den jeweiligen .k5login-Dateien auf diesen Computern eintragen.
Die Verwendung einer .k5login-Datei ist viel sicherer als die Preisgabe Ihres Passworts:
Sie können den Zugang jederzeit wieder aufheben, indem Sie den/die Hauptbenutzer aus der Datei .k5login entfernen.
Obwohl die in der .k5login-Datei Ihres Home-Verzeichnisses genannten Benutzer vollen Zugriff auf Ihr Konto auf diesem Computer (oder auf eine Gruppe von Computern, wenn die Datei .k5login, zum Beispiel über NFS, freigegeben ist) haben, erhalten sie nicht Ihre Netzwerk-Privilegien; das heißt, jeder kerberosfähige Service autorisiert den Zugriff auf der Basis der Identität des jeweiligen Benutzers, nicht Ihrer eigenen. So kann sich jennifer auf dem Computer von joe anmelden und dort Aufgaben erledigen, aber wenn sie ein mit Kerberos ausgestattetes Programm wie ftp oder rlogin verwendet, tut sie dies unter ihrer eigenen Identität.
Kerberos führt ein Protokoll darüber, wer Tickets abruft; daher kann ein Systemverwalter, sofern erforderlich, herausfinden, wer die Fähigkeit hat, Ihre Benutzer-Identität zu einem bestimmten Zeitpunkt zu benutzen.
Eine übliche Art, die Datei .k5login zu benutzen, ist, sie im Home-Verzeichnis von root abzulegen, wodurch root Zugriff auf die für diesen Computer aufgelisteten Kerberos-Hauptbenutzer erhält. Das gibt einem Systemverwalter die Möglichkeit, auf lokaler Ebene root zu werden, oder sich remote als root anzumelden, ohne das root-Passwort ausgeben zu müssen, und ohne dass jemand das root-Passwort über das Netzwerk eingeben muss.
Nehmen wir an, jennifer beschließt, sich auf dem Computer hamburg.acme.com als root anzumelden. Da sie einen Eintrag für ihren Hauptbenutzernamen in der Datei .k5login im Home-Verzeichnis von root auf hamburg.acme.com hat, muss sie auch in diesem Fall nicht ihr Passwort eingeben:
% rlogin hamburg.acme.com -l root -x Diese rlogin-Sitzung verwendet DES-Verschlüsselung für alle Datenübertragungen. Letzte Anmeldung: Do. 20. Juni, 16:20:50 h von chrysantheme SunOS Release 5.7 (GENERIC) #2: Di 14. Nov 18:09:31 h 1998 hamburg[root]% |
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.