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, daß 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, daß 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-Paßworts.
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".
Mit der Installation von SEAM 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, daß sie Kopien Ihrer Tickets an andere Computer weiterleiten und Sie nicht explizit um Tickets bitten müssen, um Zugang zu diesen Computern zu erhalten. (Es ist möglich, daß 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 "Wie Tickets vernichtet werden".
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 besonders 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 ein anderer anmelden.)
Um ein Ticket zu erstellen, benutzen Sie den Befehl kinit.
% /usr/krb5/bin/kinit |
kinit fragt Sie nach Ihrem Paßwort. Die vollständige Syntax des kinit-Befehls finden Sie auf der Seite kinit(1) der Online-Dokumentation.
Dieses Beispiel zeigt eine Benutzerin, jennifer, die ein Ticket auf Ihrem eigenen System erstellt:
% kinit Paßwort für jennifer@ENG.ACME.COM: <Geben Sie das Paßwort ein> |
Hier erstellt der Benutzer david ein Ticket, das mit der Option -l drei Stunden gültig ist:
% kinit -l 3h david@ACME.ORG Password for david@ACME.ORG: <Geben Sie das Paßwort ein> |
Dieses Beispiel zeigt, wie david ein weiterleitbares Ticket (über die Option - f) für sich selbst erstellt. Mit diesem weiterleitbaren 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 Paßwort für david@ACME.ORG: <Geben Sie das Paßwort 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 könnte zum Beispiel weiterleitbar sein, ein anderes nachdatiert; während ein drittes beides sein könnte. Sie können sehen, welche Tickets Sie haben, und was ihre Attribute sind, indem Sie den Befehl klist mit der Option -f verwenden:
% /usr/krb5/bin/klist -f |
Die folgenden Symbole zeigen die mit jedem Ticket verknüpften Attribute an, wie sie durch klist angezeigt werden:
F |
Weiterleitbar |
f |
Weitergeleitet |
P |
Proxyfähig |
p |
Proxy |
D |
Nachdatierbar |
d |
Nachdatiert |
R |
Erneuerbar |
I |
Erstausgabe |
i |
Ungültig |
Die verschiedenen Attribute, die ein Ticket haben kann, werden unter "Arten von Tickets" beschrieben.
Dieses Beispiel zeigt, daß die Benutzerin jennifer die Erstausgabe eines Tickets hat, das weiterleitbar (F) und nachdatiert (d), aber noch nicht gültig (i) ist:
% /usr/krb5/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 |
Das nachfolgende Beispiel zeigt, daß der Benutzer david zwei Tickets hat, die von einem anderen Host an seinen Host weitergeleitet (f) worden sind. Die Tickets sind auch (wiederholt)weiterleitbar (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 |
Im allgemeinen werden Tickets automatisch vernichtet, 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, und wenn das passiert, kann die Person, die sie besitzt, sie solange verwenden, bis sie ablaufen (obwohl gestohlene Tickets entschlüsselt werden müssen).
Um Tickets zu vernichten, verwenden Sie den Befehl kdestroy.
% /usr/krb5/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 besorgt sind, daß ein Eindringling Ihre Berechtigungen benutzt, sollten Sie entweder kdestroy verwenden, oder einen Bildschirmschoner, der den Bildschirm sperrt.
Eine Möglichkeit sicherzustellen, daß Ihre Tickets immer vernichtet werden, besteht darin, den Befehl kdestroy zur Datei .logout in Ihrem Home-Verzeichnis hinzuzufügen
In den Fällen, wo das PAM-Modul konfiguriert worden ist (der Standard und übliche Fall), werden Tickets automatisch beim Abmelden vernichtet, so daß 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önnten Sie den Befehl kdestroy in Ihrer .login-Datei hinzufügen um sicherzugehen, daß die Tickets vernichtet werden, wenn Sie Ihr System verlassen.
Wenn Sie SEAM installiert haben, verfügen Sie jetzt über zwei Paßwörter: Ihr normales Solaris-Paßwort und ein Kerberos-Paßwort. Sie können für beides dieselben oder unterschiedliche Paßwörter verwenden.
Nicht kerberosfähige Befehle wie login werden in der Regel durch PAM so eingerichtet, daß sie die Authentisierung bei Kerberos wie auch bei UNIX vornehmen. Wenn Sie unterschiedliche Paßwörter haben, müssen Sie beide Paßwörter für eine Anmeldung mit entsprechender Authentisierung angeben. Wenn beide Paßwörter aber dieselben sind, wird das erste, das Sie für UNIX eingeben, auch von Kerberos akzeptiert.
Leider kann durch Verwendung desselben Paßworts für beide die Sicherheit beeinträchtigt werden. Das heißt, wenn jemand Ihr Kerberos-Paßwort entdeckt, dann ist eben Ihr UNIX-Paßwort auch kein Geheimnis mehr. Jedoch ist die Verwendung desselben Paßworts für UNIX und für Kerberos immer noch sicherer als eine Site ohne Kerberos, weil in einer Kerberos-Umgebung die Paßwörter nicht über das Netzwerk versendet werden. Gewöhnlich hat eine Site Richtlinien, die Ihnen bei der Entscheidung über Ihre Optionen helfen.
Ihr Kerberos-Paßwort ist für Kerberos die einzige Möglichkeit, Ihre Identität zu überprüfen. Wenn jemand Ihr Kerberos-Paßwort entdeckt, wird die Kerberos-Sicherheit bedeutungslos, weil diese Person sich für Sie ausgeben und E-Mail senden kann, die scheinbar von Ihnen kommt, 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äßlich, daß Sie ein gutes Paßwort 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 Paßwort preisgeben zu müssen (Siehe "Zugangserlaubnis auf ein Konto"). Sie solten niemals Ihr Paßwort einer anderen Person offenbaren, nicht einmal Ihrem Systemverwalter. Außerdem sollten Sie Ihr Paßwort häufig ändern, besonders immer dann, wenn Sie glauben, jemand könnte es herausgefunden haben.
Ihr Paßwort 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 Paßwort ist eines, das Sie leicht behalten können, aber das kein anderer leicht erraten kann. Hier sind einige Beispiele für schlecht gewählte Paßwö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 jeglicher 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, Reisepaßnummer oder eine ähnliche, identifizierende Zahl
Jedes Beispielpaßwort, das in diesem oder irgendeinem anderen Handbuch vorkommt.
Ein gutes Paßwort ist wenigstens acht Zeichen lang. Darüber hinaus sollte ein Paßwort eine Mischung unterschiedlicher Zeichen enthalten, wie Groß- und Kleinbuchstaben, Zahlen und Interpunktionszeichen. Es folgen Beispiele von Paßwö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 nicht diese Beispiele. Paßwörter, die in Handbüchern erscheinen, sind die ersten, die ein Hacker ausprobiert.
Sie können Ihr Kerberos-Paßwort 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-Paßwort.
Der Vorteil bei der Verwendung von passwd anstelle von kpasswd liegt darin, daß Sie beide Paßwörter (UNIX und Kerberos) zur selben Zeit festlegen können. Im allgemeinen müssen Sie jedoch nicht beide Paßwörter mit passwd ändern; oft können Sie einfach Ihr UNIX-Paßwort ändern und das Kerberos-Paßwort unverändert lassen und umgekehrt.
Das Verhalten von passwd hängt davon ab, wie das PAM-Modul konfiguriert ist. In manchen Konfigurationen könnte es erforderlich sein, beide Paßwörter zu ändern. Für manche Sites muß das UNIX-Paßwort geändert werden, während andere verlangen, daß Sie das Kerberos-Paßwort ändern.
Der Befehl kpasswd ähnelt sehr dem Befehl passwd. Ein Unterschied ist, daß kpasswd nur Kerberos-Paßwörter ändert: Sie müssen passwd verwenden, um Ihr UNIX-Paßwort zu ändern.
Ein weiterer Unterschied ist, daß kpasswd das Paßwort 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 eigentlicher UNIX-Benutzer, weswegen Sie den Befehl kpasswd anstelle von passwd verwenden müssen.
Nachdem Sie Ihr Paßwort 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 Paßworts neue Kerberos-Tickets abrufen müssen, versuchen Sie das neue Paßwort zuerst. Wenn das neue Paßwort nicht funktioniert, versuchen Sie es noch einmal mit dem alten.
Kerberos V5 erlaubt Systemverwaltern, Kriterien über zulässige Paßwörter pro Benutzer festzulegen. Solche Kriterien werden durch die Richtlinie definiert, die für jeden Benutzer eingerichtet ist (oder durch eine Standard-Richtlinie); siehe "Verwalten von Richtlinien", um mehr über Richtlinien zu erfahren. Nehmen wir zum Beispiel an, daß die Benutzerin jennifer eine Richtlinie (mit dem Namen jenpol) festgelegt hat, die verlangt, daß Paßwörter wenigstens acht Buchstaben lang und eine Mischung von wenigstens zwei Arten von Zeichen enthalten muß. Daher weist kpasswd den Versuch zurück, "penner" als Paßwort zu verwenden.
% kpasswd kpasswd: Paßwort ändern für jennifer@ENG.ACME.COM. Altes Paßwort: <jennifer gibt Ihr bestehendes Paßwort ein> kpasswd: Das Paßwort von jennifer@ENG.ACME.COM wird durch die Richtlinie jenpol kontrolliert, die wenigstens 8 Zeichen aus mindestens 2 Klassen verlangt (die 5 Klassen sind Kleinbuchstaben, Großbuchstaben, Interpunktion und alle anderen Zeichen). Neues Paßwort: <jennifer gibt 'penner' ein> Neues Paßwort (erneut): <jennifer gibt nochmals 'penner' ein>> kpasswd: Neues Paßwort ist zu kurz. Bitte wählen Sie ein Paßwort, das wenigstens 8 Zeichen lang ist. |
Im folgenden Beispiel verwendet jennifer "faulPelz008" als Paßwort. 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: Paßwort ändern für jennifer@ENG.ACME.COM. Altes Paßwort: <jennifer gibt Ihr bestehendes Paßwort ein> kpasswd: Das Paßwort von jennifer@ENG.ACME.COM wird durch die Richtlinie jenpol kontrolliert, die wenigstens 8 Zeichen aus mindestens 2 Klassen verlangt (die 5 Klassen sind Kleinbuchstaben, Großbuchstaben, Interpunktion und alle anderen Zeichen). Neues Paßwort: <jennifer gibt 'faulPelz008' ein> Neues Paßwort (erneut): <jennifer gibt noch einmal 'faulPelz008' ein> Kerberos-Paßwort geändert. |
Das folgende Beispiel zeigt, wie david sein UNIX- und auch sein Kerberos-Paßwort mit passwd ändert.
% passwd passwd: Paßwort ändern für david. Geben Sie Anmeldepaßwort (NIS+) ein: <geben Sie das aktuelle UNIX-Paßwort ein> Neues Paßwort: <geben Sie das neue UNIX-Paßwort ein> Geben Sie das Paßwort erneut ein: <bestätigen Sie das neue UNIX-Paßwort> Altes KRB5-Paßwort: <geben Sie das aktuelle Kerberos-Paßwort ein> Neues KRB5-Paßwort: <geben Sie das neue Kerberos-Paßwort ein> Geben Sie das neue KRB5-Paßwort erneut ein: <bestätigen Sie das neue KRB5-Paßwort> |
Im obigen Beispiel fragt passwd nach dem UNIX- und dem Kerberos-Paßwort; wenn jedoch der Parameter try_first_pass im PAM-Modul gesetzt ist, dann wird automatisch das Kerberos-Paßwort identisch mit dem UNIX-Paßwort eingerichtet (das ist die Standard-Konfiguration). In dem Fall muß david mit kpasswd als Kerberos-Paßwort etwas anderes eingeben, wie nachfolgend gezeigt.
Das Beispiel zeigt, wie er nur sein Kerberos-Paßwort mit kpasswd ändert:
% kpasswd kpasswd: Paßwort ändern für david@ENG.ACME.COM. Altes Paßwort: <geben Sie das aktuelle Kerberos-Paßwort ein> Neues Paßwort: <geben Sie das neue Kerberos-Paßwort ein> Neues Paßwort (erneut): <bestätigen Sie das neue Kerberos-Paßwort> Kerberos-Paßwort geändert. |
In diesem Beispiel änderd david das Paßwort für den Kerberos-Hauptbenutzer david/admin (der kein gültiger UNIX-Benutzer ist). Um dies zu tun, muß er den Befehl kpasswd verwenden.
% kpasswd david/admin kpasswd: Paßwort ändern für david/admin. Altes Paßwort: <geben Sie das aktuelle Kerberos-Paßwort ein> Neues Paßwort: <geben Sie das neue Kerberos-Paßwort ein> Neues Paßwort (erneut): <bestätigen Sie das neue Kerberos-Paßwort> Kerberos-Paßwort geändert. |
Wenn Sie jemandem Zugang 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 Paßwort 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 muß in eine gesonderte Zeile haben.)
Nehmen wir an, daß 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 (boston) mit dessen Identiät anmelden, ohne dessen Paßwort eingeben zu müssen:
In dem Fall, daß davids Home-Verzeichnis ein NFS-Mount von einem anderen (dritten) Computer unter Verwendung der Kerberos V5-Protokolle ist, muß jennifer ein weiterleitbares Ticket haben, damit sie auf das Home-Verzeichnis zugreifen kann. Siehe "So erstellen Sie ein Ticket", um ein Beispiel für die Verwendung eines weiterleitbaren Tickets zu erhalten.
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 Paßworts:
Sie können den Zugang jederzeit wieder aufheben, indem Sie den/die Hauptbenutzer aus der Datei .k5login entfernen.
Obwohl die in .k5login Ihres Home-Verzeichnisses genannten Benutzer vollen Zugriff auf Ihr Konto auf diesem Computer (oder auf eine Gruppe von Computern, wenn die Datei .k5login freigegeben ist, zum Beispiel über NFS) haben, erben 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 jennifer auf joes Computer anmelden und dort Aufgaben erledigen, aber wenn Sie ein mit Kerberos ausgestattetes Programm wie ftp oder rlogin verwendet, tut sie dies mit 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 entfernt als root anzumelden, ohne das root-Paßwort ausgeben zu müssen, und ohne daß jemand das root-Paßwort über das Netzwerk eingeben muß.
Nehmen wir an, jennifer beschließt, sich auf dem Computer boston.acme.com als root anzumelden. Da Sie einen Eintrag für ihren Hauptbenutzernamen in der Datei .k5login im Home-Verzeichnis von root auf boston.acme.com hat, muß sie wieder nicht ihr Paßwort eingeben:
% rlogin boston.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: Die 14. Nov 18:09:31 h 1998 boston[root]% |
Kerberos V5 ist ein System mit einfacher Anmeldung. Das bedeutet, Sie müssen nur einmal Ihr Paßwort eingeben, 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, daß 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. Lesen Sie im Abschnitt Kerberos-Sicherheit der Online-Dokumentation zu den Kerberos-Befehlen nach, wo Sie ausführlichere Informationen erhalten.
Die mit Kerberos ausgestatteten Netzwerk-Services sind diejenigen Programme, die zu einem anderen Computer irgendwo im Internet eine Verbindung herstellen. Diese Programme befinden sich im Verzeichnis /usr/krb5/bin; setzen Sie die Variable PATH so, daß sie vor den nicht kerberosfähigen Versionen kommen. Es handelt sich bei diesen Programmen um:
ftp
rcp
rlogin
rsh
telnet
Diese Programme haben alle originalen Leistungsmerkmale der jeweiligen, 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, daß Sie Ihr Paßwort 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 weiterleitbare Tickets erworben haben)
Verschlüsseln der zwischen Ihnen und dem entfernten Host übertragenen Daten
Dieser Abschnitt geht davon aus, daß 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 automatische Anmeldung mithilfe von existierenden Tickets. Verwendet den Benutzernamen, wie er von getlogin() zurückgegeben wird, es sei denn, dieser unterscheidet sich von der aktuellen Benutzer-ID. (Siehe die Online-Dokumentation unter telnet(1), um Einzelheiten zu erfahren.)
Leite ein nicht wiederholt weiterleitbares Ticket weiter an einen entfernten Host. 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, daß 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 weiterleitbares 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 weiterleitbare 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 weiterleitbare 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 bestimmte Optionen haben (ein "X" bedeutet, der Befehl hat diese Option).
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 erlaubt 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 könnte jedoch nicht allen SEAM-Benutzern zur Verfügung stehen.
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, private oder 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 mitrlogin 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 weiterleitbar, da der nicht die Option -f angegeben hat.) In Szenario 1 kann er sich mit rlogin auf Computer B anmelden, kann aber nicht weitergehen. in Szenario 2 schlägt der Befehl rlogin -f fehl, weil er versucht, ein Ticket weiterzuleiten, das nicht weiterleitbar ist.
(In der Realität werden SEAM-Konfigurationsdateien so eingerichtet, daß kinit standardmäßig weiterleitbare Tickets abruft. Ihre Konfiguration könnte jedoch unterschiedlich sein. Um der Erklärung willen haben wir angenommen, daß kinit nur dann weiterleitbare TGTs abruft, wenn der Befehl mit der Option - f aufgerufen wird. Beachten Sie übrigens, daß kinit keine Option - F hat; TGTs sind nur weiterleitbar oder gar nicht.)
In Abbildung 6-3 ruft david weiterleitbare TGTs mit kinit -f ab. In Szenario 3 kann er Computer C erreichen, weil er ein weiterleitbares Ticket mit rlogin verwendet. In Szenario 4 schlägt der zweite rlogin fehl, weil das Ticket nicht wiederholt weiterleitbar ist. Durch Verwendung der Option -F, wie in Szenario 5, ist stattdessen der Befehl rlogin erfolgreich, so daß das Ticket an Computer D weitergeleitet werden kann.
Die folgenden Beispiele vermitteln eine Vorstellung, wie die Optionen der kerberosfähigen Befehle funktionieren.
In diesem Beispiel hat der Benutzer david sich schon angemeldet und will nun über telnet auf den Computer denver.acme.com zugreifen. Er verwendet die Option -f, um seine bestehenden Tickets weiterzuleiten, die Option - x, um die Sitzung zu verschlüsseln, und die Option -a, um die Anmeldung automatisch durchzufü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 denver.acme.com Verbindungsaufbau mit 128.0.0.5... Verbunden mit denver.acme.com. Escape-Zeichen ist '^]'. [ Kerberos V5 akzeptiert Sie als "david@eng.acme.com" ] [ Kerberos V5 hat weitergeleitete Berechtigungsnachweise akzeptiert] SunOS 5.7: Die. 21. Mai 00:31:42 EDT 1998 Willkommen bei SunOS % |
Beachten Sie, daß davids sich über Kerberos bei denver.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 mußte nie sein Paßwort eingeben. Hätte er eine nicht kerberosfähige Version von telnet benutzt, dann wäre er nach seinem Paßwort gefragt worden, und dieses wäre dann unverschlüsselt über das Netzwerk gesendet worden. Wenn ein Eindringling den Netzwerkverkehr zu der Zeit beobachtet hätte, dann hätte er davids Paßwort erfahren.
Wenn Sie Ihre Kerberos-Tickets weiterleiten, vernichtet telnet (wie auch die anderen hier behandelten Befehle) diese bei Programmende.
Hier möchte die Benutzererin jennifer sich auf ihrem eigenen Computer, boston.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 auf boston noch andere Netzwerk-Transaktionen durchführen möchte, was ein wiederholtes Weiterleiten der Tickets erfordert. Auch muß Sie Ihr Paßwort nicht eingeben, da sie ihre bestehenden Tickets weiterleitet.
% rlogin boston.acme.com -F -x Diese rlogin-Sitzung verwendet DES-Verschlüsselung für alle Datenübertragungen. Letzte Anmeldung Mon 19. Mai 15:19:49 h von chrysantheme SunOS Release 5.7 (GENERISCH) #2 Die 14. Nov 18:09:3 h 1998 % |
Nehmen wir jetzt an, daß joe mithilfe von ftp seine Post vom Verzeichnis ~joe/MAIL auf dem Computer denver.acme.com holen und dabei die Sitzung verschlüsseln möchte. Der Informationsaustausch würde folgendermaßen aussehen:
% ftp -f denver.acme.com Verbunden mit denver.acme.com 220 denver.acme.org FTP-Server (Version 6.0) bereit. 334 Verwendung von Authentisierungstyp GSSAPI; ADAT muß 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 seconds empfangen (1.4e+02 Kbytes/s) ftp> quit % |
Um die Sitzung zu verschlüsseln, setzt joe die Schutzstufe auf private.