Novell Kerberos KDC: Management

27.03.2007 von Martin Kuppinger
Für die Verwaltung des Novell Kerberos KDC gibt es neben der Konfigurationsdatei krb5.conf einerseits eine Schnittstelle im iManager und andererseits mit kdb5_util und kadmin zwei Werkzeuge an der Befehlszeile. Die Schnittstellen werden in diesem Artikel erläutert.

Nachdem im vorangegangenen Teil der Serie auf die grundlegenden Aspekte zur Konfigurationsdatei krb5.conf eingegangen wurde, liegt der Schwerpunkt in diesem Teil auf den beiden Befehlszeilen-Werkzeugen für die Konfiguration. Der iManager wird nur am Rande behandelt. Das liegt daran, dass es in der getesteten Konstellation von OES, iManager und den Plug-Ins für den Kerberos KDC (Key Distribution Center) einige Probleme gab.

Die Plug-Ins waren zwar lauffähig, allerdings war die Anzeige doch in wichtigen Teilen unvollständig. Daher sollte man den Schwerpunkt bei der Nutzung zunächst auf die beiden „klassischen“ Werkzeuge legen, die sich in dieser oder ähnlicher Form auch bei den meisten anderen Kerberos-Implementierungen finden.

Novell Kerberos KDC 1.0.1

Teil 1

Funktionalität und Systemvoraussetzungen

Teil 2

Installation der Komponenten

Teil 3

Konfiguration über iManager und kerb.conf

Das Management von Realms

Realms sind die einzelnen Bereiche, die bei Kerberos nutzt, sie lassen sich mit den Domänen im Active Directory vergleichen. Der erste Konfigurationsschritt bei der Einrichtung eines KDC ist die Erstellung eines solchen Realms. Bei Verwendung von kbd5_util wird dazu die Anweisung create verwendet. Diese ist relativ komplex, in der Dokumentation des Novell Kerberos KDC aber umfassend beschrieben.

Wichtige Parameter für die Erstellung eines Realms sind:

Alternative iManager

Die Alternative dazu ist die Verwendung des Novell iManager (Bild 1). Dort findet sich der Befehl CreateRealm, der eigentlich als New Realm angezeigt werden sollte. Er ist wie alle diese Befehle unterhalb von Kerberos Management angesiedelt. Das Bild 1 macht allerdings deutlich, dass durch die Einschränkungen in der Oberfläche eine Nutzung nur schwer möglich ist.

Noch fehlerhaft: Die Integration in den iManager für die Verwaltung des Novell Kerberos KDC ist leider noch fehlerhaft.

Weitere Funktionen für das Management der Realms sind die Optionen

Auch hier gilt, wie schon bei create, dass die meisten der Anweisungen eine sehr umfassende und komplexe Syntax aufweisen, die in der Dokumentation aber umfassend erläutert ist.

Das Management von Diensten

Der zweite wichtige Aufgabenbereich bei der Verwaltung ist das Management der Diente. Hier werden insgesamt drei Dienste unterschieden:

Diese Dienste sind also nicht zu verwechseln mit den Diensten, für die eine Kerberos-Authentifizierung über Session Tickets erfolgen kann. Vielmehr handelt es sich um die Kerndienste der Kerberos-Infrastruktur. Sie werden ebenso wie Realms mit dem Werkzeug kdb5_util verwaltet.

Es gibt auch hier wieder verschiedene Optionen. Mit create_service lassen sich zusätzliche Instanzen von Diensten erstellen. So kann beispielsweise ein neuer KDC erzeugt werden, um die Last der Authentifizierung auf mehrere Server zu verteilen. Auch von den anderen Diensten lassen sich für die Lastverteilung und Fehlertoleranz zusätzliche Instanzen erzeugen. Da die von den Diensten verwendeten Daten zum überwiegenden Teil im eDirectory abgelegt sind, ist der Aufbau entsprechend skalierbarer und verfügbarer Infrastrukturen relativ leicht machbar – immerhin sind alle Komponenten weitgehend redundant verfügbar.

Weitere Parameter sind modify_service für das Ändern von Diensteinstellungen, view_service zum Anzeigen der Einstellungen für einen spezifizierten Dienst, list_service für eine Liste der Dienste und destroy_service zum Löschen.

Außerdem gibt es noch die Anweisung setsrvpw, mit der sich das Kennwort für jeden einzelnen Dienst konfigurieren lässt. Dieses schützt die Dienste zusätzlich zur Authentifizierung auf Systemebene. Da die Kerberos KDCs ein zentrales Element der Sicherheitsinfrastruktur von Netzwerken sind, ist dieser Schutz unverzichtbar.

Das Management von Principals

Die nächste Aufgabe ist die Verwaltung von Principals. Diese erfolgt mit kadmin. Dabei geht es weniger um die Benutzer als vielmehr um die Dienste. Bei Benutzern geht es nur darum, die Verbindung zwischen einem bereits vorhandenen eDirectory-Benutzerobjekt und der Kerberos-Infrastruktur herzustellen. Das Mapping erfolgt mit der Option add_principal. Gerade hier bietet es sich an, mit der Befehlszeile zu arbeiten, um die Erstellung von Kerberos-Principals für vorhandene Benutzer in einer Batch-Datei durchzuführen.

Die zweite Herausforderung ist die Erstellung von Service-Principals. Jeder Dienst, an dem eine Kerberos-Authentifizierung durchgeführt werden soll, benötigt einen solchen Service-Principal, der explizit erstellt sein muss.

Bei der Erstellung von Principals oder zu einem späteren Zeitpunkt können diesen auch Ticket-Richtlinien zugeordnet werden. Auf diese wird später im Artikel noch eingegangen.

Weitere Befehle für das Management von Principals sind:

Wichtig ist außerdem für einige Funktionen das Auslesen von Principal-Informationen in eine so genannte Keytab-Datei. Dazu wird die Option ktadd verwendet. Diese Dateien werden beispielsweise für den Aufbau von Vertrauensstellungen zwischen Realms – auch im heterogenen Umfeld – benötigt.

Das Management von Ticket-Richtlinien

Eine weitere wichtige Funktion sind die Ticket-Richtlinien. Diese können, wie oben angedeutet, einzelnen Principals zugeordnet werden. In der Regel wird man sie aber Realms oder Containern zuweisen, um keine Einzelzuweisungen vornehmen zu müssen.

Die Konfiguration erfolgt mit dem Utility kbd5_util. Die wichtigsten Einstellungen innerhalb der Richtlinie beziehen sich auf die Lebensdauer von Tickets. Standardwerte dafür sind zehn Stunden für Tickets und sieben Tage für die Erneuerung von Tickets. In der Regel ist es nicht erforderlich, mehr als eine Standardrichtlinie zu erstellen.

Das Management von Kennwort-Richtlinien

Schließlich gibt es noch Kennwortrichtlinien. Diese werden über kadmin verwaltet. Es handelt sich dabei um eine im Vergleich mit der MIT-Implementierung angepasste Funktionalität, weil diese nun mit einem LDAP-Verzeichnis zusammen funktionieren muss.

In der Regel sind solche Richtlinien allerdings nicht erforderlich, weil sie nur wirksam sind, falls sich die Kerberos-Passwörter von den eDirectory-Kennwörtern unterscheiden. Einzig für Service-Kennwörter kann eine Anpassung daher Sinn machen. Falls erforderlich, lassen sich in Richtlinien Einstellungen wie die Lebensdauer von Kennwörtern und ihre Länge modifizieren.

Fazit

Die Verwaltung des Kerberos KDC ist mit den verschiedenen Befehlen zwar nicht einfach, mit etwas Vorbereitung aber relativ gut zu bewerkstelligen. Dennoch muss man sich überlegen, ob man einen Kerberos KDC in einer Infrastruktur überhaupt benötigt.

Das ist nur erforderlich, falls man Kerberos als Authentifizierungsmechanismus einsetzen muss, um eine einheitliche Authentifizierung über Plattformgrenzen hinweg zu erreichen. In vielen Fällen kann man aber auch andere, einfacher einsetzbare und ausgereiftere Dienste von Novell verwenden, um ein vergleichbares Ergebnis zu erzielen. (mja)

Novell Kerberos KDC 1.0.1

Teil 1

Funktionalität und Systemvoraussetzungen

Teil 2

Installation der Komponenten

Teil 3

Konfiguration über iManager und kerb.conf