Sobald die unterstützende Infrastruktur (DNS, NTP) eingerichtet und das KDC ordnungsgemäß konfiguriert und gestartet wurde, konfigurieren Sie die Clientcomputer. Sie können entweder YaST zum Konfigurieren eines Kerberos-Clients oder eine der beiden unten beschriebenen manuellen Vorgehensweisen verwenden.
Anstatt beim Konfigurieren eines Kerberos-Clients alle relevanten Konfigurationsdateien manuell zu bearbeiten, können Sie YaST diese Aufgabe für Sie erledigen lassen. Sie können die Clientkonfiguration entweder während der Installation auf Ihrem Computer oder im installierten System durchführen:
Melden Sie sich als root
an und wählen Sie + .
Wählen Sie
.Zur Konfiguration eines DNS-basierten Kerberos-Clients gehen Sie wie folgt vor:
Bestätigen Sie die angezeigten
.Klicken Sie auf
, um die Einzelheiten in Bezug auf Tickets, Unterstützung von OpenSSH und Zeitsynchronisation zu konfigurieren.Zur Konfiguration eines statischen Kerberos-Clients gehen Sie wie folgt vor:
Legen Sie die
, den und die fest, sodass sie zu Ihrer Installation passen.Klicken Sie auf
, um die Einzelheiten in Bezug auf Tickets, Unterstützung von OpenSSH und Zeitsynchronisation zu konfigurieren.Wenn Sie die Ticket-Optionen im Dialogfeld
konfigurieren, können Sie aus folgenden Optionen wählen:Geben Sie die d, h und m ohne Leerzeichen zwischen dem Wert und der Maßeinheit).
des Tickets und den in Tagen, Stunden oder Minuten an (Verwenden Sie die MaßeinheitenWenn Sie Ihre vollständige Identität weiterleiten möchten, um Ihre Tickets auf anderen Hosts zu verwenden, wählen Sie
.Aktivieren Sie den Transfer bestimmter Tickets mit
.Mit einem PAM-Modul bleiben die Tickets verfügbar, auch nach dem Ende einer Sitzung, wenn Sie
aktivieren.Aktivieren Sie die Kerberos-Authentifizierungsunterstützung für Ihren OpenSSH-Client, indem Sie das entsprechende Kontrollkästchen auswählen. Der Client verwendet dann Kerberos-Tickets zur Authentifizierung bei dem SSH-Server.
Schließen Sie eine Reihe von Benutzerkonten von der Nutzung der Kerberos-Authentifizierung aus, indem Sie einen Wert für die root
) ausschließen.
Verwenden Sie die
, um einen Wert für die zulässige Differenz zwischen Zeitstempel und der Systemzeit des Hosts festzulegen.Damit das System mit einem NTP-Server synchronisiert bleibt, können Sie den Host als NTP-Client einrichten, indem Sie Abschnitt 24.1, „Konfigurieren eines NTP-Client mit YaST“ beschriebene NTP-Client-Dialogfeld von YaST wird geöffnet. Nach Abschluss der Konfiguration führt YaST alle erforderlichen Änderungen durch und der Kerberos-Client kann verwendet werden.
wählen. Das unter
Bei der Konfiguration von Kerberos gibt es zwei verschiedene Ansätze: die statische Konfiguration in der Datei /etc/krb5.conf
oder die dynamische Konfiguration mit DNS. Bei der DNS-Konfiguration suchen die Kerberos-Anwendungen die KDC-Dienste über DNS-Einträge. Bei der statischen Konfiguration fügen Sie die Hostnamen Ihres KDC-Servers der Datei krb5.conf
hinzu (und aktualisieren Sie die Datei, wenn Sie das KDC verschieben oder Ihren Bereich anderweitig neu konfigurieren).
Die DNS-basierte Konfiguration ist meist viel flexibler und der Arbeitsaufwand pro Maschine ist wesentlich geringer. Ihr Bereichsname muss hierfür jedoch entweder Ihrer DNS-Domäne oder einer Unterdomäne davon entsprechen. Die Konfiguration mit DNS führt zu einem gewissen Sicherheitsrisiko. Ein Angreifer kann Ihre Infrastruktur über den DNS ernsthaft stören (durch Shoot-Down des Namenservers, Spoofing von DNS-Datensätzen usw.). Meistens führt das jedoch zu einem Denial of Service. Ein ähnliches Szenario gilt für die statische Konfiguration, es sei denn, Sie geben IP-Adressen in die Datei krb5.conf
statt Hostnamen ein.
Eine Konfigurationsweise von Kerberos ist die Bearbeitung der Konfigurationsdatei /etc/krb5.conf
. Die standardmäßig installierte Datei enthält verschiedene Beispieleinträge. Löschen Sie alle Einträge vor dem Start. krb5.conf
besteht aus mehreren Abschnitten. Jeder beginnt mit dem Abschnittsnamen in Klammern, das sieht z. B. [so aus]
.
Zur Konfiguration Ihrer Kerberos-Clients fügen Sie der Datei krb5.conf
den folgenden Absatz hinzu (wobei kdc.example.com
der Hostname des KDC ist):
[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = kdc.example.com admin_server = kdc.example.com }
Die Zeile default_realm
bestimmt den Standardbereich für Kerberos-Anwendungen. Wenn Sie mehrere Bereiche haben, fügen Sie zusätzliche Anweisungen im Abschnitt [realms]
hinzu.
Fügen Sie der Datei außerdem eine Anweisung hinzu, die bestimmt, wie Anwendungen Hostnamen einem Bereich zuordnen. Beispiel: Wenn Sie sich bei einem entfernten Host anmelden, muss die Kerberos-Bibliothek wissen, in welchem Bereich sich der Host befindet. Das muss im Abschnitt [domain_realms]
konfiguriert werden:
[domain_realm] .example.com = EXAMPLE.COM www.foobar.com = EXAMPLE.COM
Dadurch weiß die Bibliothek, dass alle Hosts in der Datei example.com
DNS-Domänen im Kerberos-Bereich EXAMPLE.COM
sind. Außerdem sollte ein externer Host mit dem Namen www.foobar.com
als Mitglied des Bereichs EXAMPLE.COM
betrachtet werden.
Die DNS-basierte Kerberos-Konfiguration verwendet die SRV-Datensätze. Siehe (RFC2052) A DNS RR for specifying the location of services unter http://www.ietf.org. Diese Datensätze werden in früheren Installationen des BIND-Namensservers nicht unterstützt. Dafür ist mindestens die BIND-Version 8 erforderlich.
Der Name eines SRV-Datensatzes ist für Kerberos immer im Format _service._proto.realm
, wobei "realm" für den Kerberos-Bereich steht. Die Groß-/Kleinschreibung wird bei Domänennamen in DNS nicht beachtet. Daher würden Kerberos-Bereiche mit Groß-/Kleinschreibung bei dieser Konfigurationsmethode zerstört. _service
ist ein Dienstname (beim Verbindungsversuch mit dem KDC oder dem Passwortdienst werden beispielsweise verschiedene Namen verwendet). _proto
kann entweder _udp
oder _tcp
sein, aber nicht alle Dienste unterstützen beide Protokolle.
Der Datenteil der SRV-Ressourcen-Datensätze besteht aus einem Wert für die Priorität, einer Gewichtung, einer Port-Nummer und einem Hostnamen. Die Priorität legt die Reihenfolge fest, in der die Hosts versucht werden (ein niedriger Wert bedeutet eine niedrigere Priorität). Die Gewichtung unterstützt eine Art Belastungsausgleich zwischen Servern mit gleicher Priorität. Sie brauchen diese Werte wahrscheinlich nicht und können sie daher auf Null setzen.
MIT Kerberos sucht derzeit bei der Suche nach Diensten die folgenden Namen:
Definiert den Standort des KDC-Daemons (die Authentifizierung und der Ticket ausstellende Server). Ein typischer Datensatz sieht wie folgt aus:
_kerberos._udp.EXAMPLE.COM. IN SRV 0 0 88 kdc.example.com. _kerberos._tcp.EXAMPLE.COM. IN SRV 0 0 88 kdc.example.com.
Beschreibt den Standort des entfernten Administrationsdiensts. Ein typischer Datensatz sieht wie folgt aus:
_kerberos-adm._tcp.EXAMPLE.COM. IN SRV 0 0 749 kdc.example.com.
Da kadmind UDP nicht unterstützt, sollte kein _udp
-Datensatz vorhanden sein.
Wie bei der statischen Konfigurationsdatei gibt es eine Methode, den Clients mitzuteilen, dass sich ein bestimmter Host im Bereich EXAMPLE.COM
befindet, auch wenn dieser nicht zur example.com
-DNS-Domäne gehört. Das geschieht, indem ein TXT-Datensatz an _keberos.hostname
angehängt wird, wie im Folgenden:
_keberos.www.foobar.com. IN TXT "EXAMPLE.COM"
Die Zeitdifferenz ist die Toleranz, in der Tickets mit Zeitstempeln akzeptiert werden, die nicht genau der Systemuhr des Hosts entsprechen. Die Zeitdifferenz wird in der Regel auf 300 Sekunden (fünf Minuten) festgelegt. Das bedeutet, ein Ticket kann einen Zeitstempel zwischen fünf Minuten vorher und fünf Minuten nach der Server-Uhr haben.
Wenn Sie NTP zum Synchronisieren aller Hosts einsetzen, können Sie diesen Wert auf ca. eine Minute verringern. Der Wert für die Zeitdifferenz wird in der Datei /etc/krb5.conf
wie folgt festgelegt:
[libdefaults] clockskew = 120