Red Hat Linux 7.1: Das Offizielle Red Hat Linux Referenzhandbuch | ||
---|---|---|
Zurück | Kapitel 9 Verwenden von Kerberos 5 in Red Hat Linux | Vor |
Wenn Sie Kerberos einrichten, müssen Sie zuerst den/die Server installieren. Falls Sie Slave-Server benötigen, finden Sie detaillierte Informationen zum Einrichten der Beziehungen zwischen Master- und Slave-Servern im Kerberos 5 Installation Guide (unter /usr/share/doc/krb5-server- Versionsnummer/).
So installieren Sie einen Kerberos-Server:
Stellen Sie sicher, dass Sie ein Zeitsynchronisierungsprogramm haben und DNS eingerichtet ist, bevor Sie Kerberos 5 installieren. Achten Sie im Besonderen auf die Zeitsynchronisation zwischen dem Kerberos-Server und seinen verschiedenen Clients. Wenn zwischen dem Server und den Clients eine Differenz von mehr als 5 Minuten besteht (diese Standardgröße kann in Kerberos 5 konfiguriert werden), können die Kerberos-Clients nicht von Server authentifiziert werden. Diese Zeitsynchronisierung ist nötig zum Schutz vor Hackern, die sich mit Hilfe einer alten Berechtigung als gültigen Benutzer ausgeben.
Sie sollten ein Network Time Protocol (NTP) kompatibles Client/ Server Netzwerk bei der Verwendung von Red Hat Linux einrichten, vor allem, wenn Sie Kerberos nicht benutzen. Red Hat Linux 7.1 enthält das ntp Paket für die entsprechendene Installation. Zusätzliche Informationen über NTP erhalten Sie unter http://www. eecis.udel.edu/~ntp.
Installieren Sie die Pakete krb5-libs, krb5-server und krb5-workstation auf dem Rechner, auf dem Ihr KDC ausgeführt werden soll. Dieser Rechner muss sicher sein — falls möglich, sollten außer dem KDC keine weiteren Dienste auf ihm ausgeführt werden.
Falls Sie ein GUI-Dienstprogramm (Graphical User Interface, GUI) für die Verwaltung von Kerberos verwenden möchten, sollten Sie auch das Paket gnome-kerberos installieren. Es enthält krb5, ein GUI-Tool für das Verwalten von Tickets, und gkadmin, ein GUI-Tool für das Verwalten von Kerberos- Realms.
Bearbeiten Sie die Konfigurationsdateien /etc/krb5.conf und /var/kerberos/krb5kdc/kdc.conf, so dass der Name Ihres Realms und Ihre Zuordnungen Domäne/Realm darin wiedergegeben werden. Sie können einen einfachen Realm erzeugen, indem Sie die Instances von EXAMPLE.COM und example.com durch den Namen Ihrer Domäne ersetzen (behalten Sie die Groß- und Kleinschreibung bei) und den KDC kerberos.example.com in den Namen Ihres Kerberos-Servers ändern. Es herrscht die Konvention, alle Namen von Realms in Großbuchstaben und alle DNS-Rechnernamen und Domänennamen in Kleinbuchstaben anzugeben. Details zu den Formaten dieser Dateien finden Sie auf den entsprechenden man-Seiten.
Erstellen einer Datenbank mit Hilfe des Dienstprogramms kdb5_util von einem Shell Prompt aus:
/usr/kerberos/sbin/kdb5_util create -s |
Der Befehl create erstellt die Datenbank, in der die Keys für Ihren Kerberos-Realm gespeichert werden. Die Erweiterung -s bewirkt das Erstellen einer stash-Datei, in der der Key des Master-Servers gespeichert ist. Ist keine stash-Datei vorhanden, aus der der Key ausgelesen werden könnte, fordert der Kerberos-Server (krb5kdc) den Benutzer bei jedem Start auf, das Passwort des Master-Servers einzugeben (das zum Regenerieren des Key verwendet werden kann).
Bearbeiten Sie die Datei /var/kerberos/krb5kdc/kadm5.acl. kadmind verwendet diese Datei, um festzustellen, welche Principals Zugriff auf die Kerberos- Datenbank haben und über welche Art von Zugriff sie verfügen. Für die meisten Organisationen reicht eine einzelne Zeile aus:
*/admin@EXAMPLE.COM * |
Die meisten Benutzer werden in der Datenbank durch einen einzelnen Principal repräsentiert (mit einem Instance vom Typ NULL; z.B.: joe@EXAMPLE.COM ). Bei dieser Konfiguration haben Benutzer, die über einen zweiten Principal mit einem Instance vom Typ admin verfügen (z.B.: joe/admin@EXAMPLE.COM), umfassenden Zugriff auf die Kerberos-Datenbank des Realms.
Sobald kadmind auf dem Server gestartet wurde, kann jeder Benutzer auf die Serverdienste zugreifen, indem er auf einem beliebigen Client oder Server im Realm kadmin oder gkadmin ausführt. Allerdings können nur in der Datei kadm5.acl aufgeführte Benutzer die Datenbank beliebig modifizieren (davon ausgenommen sind Änderungen an ihrem eigenen Passwort).
Bitte beachten | |
---|---|
Die Dienstprogramme kadmin und gkadmin kommunizieren mit dem kadmind -Server über das Netzwerk und verwenden Kerberos zum Verarbeiten von Authentifizierungen. Bevor Sie zu Verwaltungszwecken über das Netzwerk eine Verbindung mit dem Server herstellen können, müssen Sie einen Principal erzeugen. Erstellen Sie diesen ersten Principal mit dem Befehl kadmin.local, der speziell dafür entwickelt wurde, auf dem gleichen Host angewendet zu werden, das auch für KDC verwendet wird. Er benutzt Kerberos nicht zur Authentifizierung. |
Geben Sie am KDC-Terminal folgenden kadmin.local Befehl ein, um den ersten Principal zu erzeugen:
/usr/kerberos/sbin/kadmin.local -q "addprinc Benutzername/admin" |
Starten Sie Kerberos mit Hilfe der folgenden Befehle:
/sbin/service krb5kdc start /sbin/service kadmin start /sbin/service krb524 start |
Fügen Sie für Ihre Benutzer Principals hinzu. Verwenden Sie dazu den addprinc Befehl mit kadmin oder die gkadmin-Menüoption Principal => Add (Hinzufügen). kadmin (und kadmin.local im Master-KDC) ist ein Befehlszeilen-Interface für das Kerberos-Administrationssystem. Nachdem das Programm kadmin gestartet wurde, stehen Ihnen viele Befehle zur Verfügung. Unter der kadmin man-Seite finden Sie weiter Informationen.
Überprüfen Sie, ob der Server Tickets ausstellt. Führen Sie zunächst kinit aus, um ein Ticket zu erhalten, und speichern Sie es in einer Credential Cache-Datei. Zeigen Sie anschließend mit klist eine Liste der in Ihrem Cache enthaltenen Berechtigungsnachweise (Credentials) an, und löschen Sie den Cache und die darin enthaltenen Berechtigungsnachweise mit Hilfe von kdestroy.
Bitte beachten | |
---|---|
Standardmäßig verwendet kinit für Ihre Authentifizierung den Anmeldenamen des Benutzers, als der Sie aktuell im System (nicht im Kerberos-Server) angemeldet sind. Entspricht der Benutzer, unter dem Sie sich angemeldet haben, keinem der Principals in Ihrer Kerberos-Datenbank, wird eine Fehlermeldung ausgegeben. In diesem Fall brauchen Sie kinit nur den Namen Ihres Principal als Argument in der Befehlszeile (kinit principal) anzugeben. |
Sobald Sie die oben beschriebenen Schritte durchgeführt haben, sollte Ihr Kerberos-Server vollständig eingerichtet sein und laufen. Als Nächstes müssen Sie die Kerberos-Clients einrichten.