Kerberos-Interoperabilität

Neben der Funktion von Kerberos als sicherer Authentifizierungsmechanismus in Windows-Umgebungen liegt sein besonderer Reiz beim Einsatz in heterogenen Umgebungen, um das Active Directory für die Authentifizierung verschiedener Systeme zu nutzen. Die mehrteilige Artikelserie stellt die grundlegenden Möglichkeiten vor.

Kerberos kann eingesetzt werden, um die Authentifizierung von Zugriffen über verschiedene Systemplattformen zu integrieren. Da Kerberos auf dem IEEE-Standard RFC 1510 aufsetzt, ist das Zusammenspiel mit anderen Implementierungen grundsätzlich möglich. Im Detail gibt es aber doch einige Herausforderungen.

In dieser Serie wird zunächst ein Überblick über die Ansätze für die Integration gegeben, wobei einerseits die verschiedenen Wege besprochen und andererseits auch schon erste potenzielle Hürden genannt werden.

Die Zielsetzung

Die grundsätzliche Zielsetzung beim Aufbau integrierter Infrastrukturen ist die Vereinheitlichung von Sicherheits- und Verzeichnisinfrastrukturen. Ob nun mit Kerberos oder anderen Mechanismen gearbeitet wird: Es wird immer eine Verzeichnisinfrastruktur benötigt, in der Informationen zu Benutzern und anderen Objekten (Computern, Gruppen…) gespeichert sind. Gegen diese Umgebung muss die Authentifizierung erfolgen. Das kann bedeuten, dass es im Linux-Umfeld einerseits NIS-Dienste und andererseits Kerberos-Realms gibt, dass vielleicht teilweise auch noch mit lokalen Konfigurationen gearbeitet wird und dass es andererseits auch eine Active Directory-Infrastruktur für die Windows-Systeme gibt.

Kerberos bietet in diesen Szenarien Gestaltungsmöglichkeiten, um die Komplexität zu reduzieren. Dazu kann beispielsweise das Active Directory mit seinen KDCs – ein KDC pro Domänencontroller – eingesetzt werden, um die entsprechenden Verzeichnis- und Authentifizierungsdienste auch für Linux- und UNIX Systeme bereitzustellen.

Es gibt aber auch andere Gestaltungsmöglichkeiten wie den parallelen Betrieb von KDCs in Linux- und Windows-Umgebungen und die Verwendung von Vertrauensstellungen. Die Optionen werden nachfolgend näher vorgestellt.

Die Grundmodelle

Die beiden Grundmodelle der Integration sind damit die vollständige Nutzung einer Active Directory-Infrastruktur auch für Linux- und UNIXSysteme (Bild 1) und die Verwendung von zwei getrennten Infrastrukturen, einerseits für die Windows- und andererseits für die Linux-/UNIX-Welt (Bild 2).

Bild 1: Das Integrationsszenario mit nur einer KDC-Infrastruktur auf Basis des Active Directory (Quelle: Microsoft).
Bild 1: Das Integrationsszenario mit nur einer KDC-Infrastruktur auf Basis des Active Directory (Quelle: Microsoft).
Bild 2: Das Integrationsszenario mit zwei parallelen KDCInfrastrukturen (Quelle: Microsoft).
Bild 2: Das Integrationsszenario mit zwei parallelen KDCInfrastrukturen (Quelle: Microsoft).

Eine Reduktion ausschließlich auf eine KDC-und Verzeichnis-Infrastruktur auf Basis von UNIXoder Linux-Systemen ist dagegen schwierig, weil das Active Directory – oder auch das Novell eDirectory mit den entsprechenden Zusatzprodukten wie ZENworks – einen sehr hohen Funktionsumfang bietet. Ein solcher Ansatz wäre in jedem Fall mit einem erheblichen Verlust an Funktionalität verbunden.

Auf Basis dieser Grundmodelle lassen sich nun verschiedene Implementierungen umsetzen. Der parallele Betrieb zweier getrennter Infrastrukturen ist dort sinnvoll, wo bereits eine Kerberos-Infrastruktur auf Linux-/UNIX-Basis und parallel dazu eine Active Directory-Infrastruktur etabliert wurde. Solche Situationen finden sich häufig im universitären Bereich und in Unternehmen mit starkem Technologiefokus. Windows-Clients können gegen das Active Directory arbeiten. Falls sie auch Zugriff auf Dienste von Servern benötigen, die auf den Linux-/UNIX-Servern ausgeführt werden, ist eine einseitige Vertrauensstellung zwischen dem Active Directory-Kerberos-Realm und dem UNIX-Kerberos-Realm erforderlich. Damit kann das Active Directory auch Service Tickets für die Dienste auf UNIX/Linux ausstellen.

Die Vertrauensstellungen können aber auch in der umgekehrten Richtung arbeiten. Benutzer von UNIX- oder Linux-Systemen können auf den KDC des Active Directory zugreifen, dort eine Authentifizierung durchführen und Service Tickets sowohl für UNIX- als auch Windows-basierende Dienste anfordern.

Es ist grundsätzlich auch denkbar, ausschließlich mit einer UNIX-/Linux-basierenden KDCInfrastruktur zu arbeiten. Das wird ab Windows 200 von den Clients unterstützt, impliziert aber den Verzicht auf die erweiterten Funktionen des Active Directory wie beispielsweise die zentrale Client-Konfiguration über Gruppenrichtlinien. In Umgebungen, in denen mit einem genau definierten Satz von Anwendungen und fest vorgegebener Client-Konfiguration gearbeitet wird, kann das aber ein valider Ansatz sein, der sich durch die Vorbereitung der Systeme mit Lösungen für die Softwareverteilung und das Client-Management auch effizient umsetzen lässt.

Die bisherigen Beispiele nutzen entweder nur eine Kerberos-Infrastruktur oder arbeiten mit einseitigen Vertrauensstellungen.

Die Zielrichtung ist aber eine engere Integration, die entweder beidseitige Vertrauensstellungen zwischen der Kerberos-Infrastruktur unter Windows und UNIX/Linux nutzt, falls Letztere dauerhaft weiter betrieben werden soll, oder eine Integration auf das Active Directory.