27.2. Hintergrundinformationen zur AD-Unterstützung unter Linux

Viele Systemkomponenten müssen fehlerfrei zusammenarbeiten, um einen Linux-Client in eine bestehende Windows Active Directory-Domäne zu integrieren. Abbildung 27.1, „Active Directory-Authentifizierungsschema“ markiert die wichtigsten. Die folgenden Abschnitte konzentrieren sich auf die zugrunde liegenden Prozesse der Schlüsselereignisse bei der Interaktion zwischen AD-Server und -Client.

Abbildung 27.1. Active Directory-Authentifizierungsschema

Active Directory-Authentifizierungsschema

Damit der Client mit dem Verzeichnisdienst kommunizieren kann, muss er mindestens zwei Protokolle mit dem Server gemeinsam verwenden:

LDAP

LDAP ist ein Protokoll, das für die Verwaltung von Verzeichnisinformationen optimiert ist. Ein Windows-Domain Controller mit AD kann das LDAP-Protokoll für den Austausch von Verzeichnisinformationen mit den Clients verwenden. Wenn Sie mehr über LDAP und den zugehörigen Open Source-Port, OpenLDAP, erfahren möchten, lesen Sie unter Kapitel 26, LDAP – Ein Verzeichnisdienst nach.

Kerberos

Kerberos ist ein verbürgter Authentifizierungsdienst eines Drittanbieters. Alle Clients von Kerberos vertrauen dessen Beurteilung der Identität eines anderen Client, wodurch kerberisierte Single-Sign-On-(SSO-)Lösungen ermöglicht werden. Windows unterstützt eine Kerberos-Implementierung und ermöglicht somit den Kerberos-SSO auch für Linux-Clients.

Die folgenden Client-Komponenten verarbeiten Konto- und Authentifizierungsdaten:

Winbind

Das Kernstück dieser Lösung ist der winbind-Dämon, der Teil des Samba-Projekts ist und die gesamte Kommunikation mit dem AD-Server abwickelt.

NSS (Name Service Switch)

NSS-Routinen bieten Namendienstinformationen. Ein Benennungsdienst für Benutzer und Gruppen wird durch nss_winbind bereitgestellt. Dieses Modul arbeitet direkt mit dem winbind-Dämon zusammen.

PAM (Pluggable Authentication Modules)

Die Benutzerauthentifizierung für AD-Benutzer wird vom Modul pam_winbind durchgeführt. Die Erstellung von Home-Verzeichnissen für die AD-Benutzer auf dem Linux-Client wird vom Modul pam_mkhomedir durchgeführt. Das Modul pam_winbind interagiert direkt mit winbindd. Weitere Informationen zu PAM finden Sie unter Kapitel 18, Authentifizierung mit PAM.

PAM-fähige Anwendungen wie die Anmelderoutinen und die GNOME- und KDE-Anzeige-Manager interagieren mit der PAM- und NSS-Schicht zur Authentifizierung beim Windows-Server. Awendungen, die die Kerberos-Authentifizierung unterstützten, beispielsweise Datei-Manager, Webbrowser oder E-Mail-Clients, verwenden den Kerberos-Berechtigungszwischenspeicher für den Zugriff auf die Kerberos-Tickets des Benutzers und sind somit Teil des SSO-Framework.

27.2.1. Domänenbeitritt

Beim Domänenbeitritt stellen der Server und der Client eine sichere Beziehung her. Auf dem Client müssen die folgenden Aufgaben ausgeführt werden, damit dieser der bestehenden LDAP- und Kerberos-SSO-Umgebung beitreten kann, die durch den Windows-Domain Controller bereitgestellt wird. Der gesamte Beitrittsvorgang wird vom YaST-Modul für die Domänenmitgliedschaft gesteuert, das während der Installation oder im installierten System ausgeführt werden kann:

  1. Der Windows-Domain Controller, der LDAP- und KDC-(Key Distribution Center-)Dienste bereitstellt, wird ermittelt.

  2. Im Verzeichnisdienst wird ein Computerkonto für den beitretenden Client erstellt.

  3. Ein erstes Ticket-Granting-Ticket (TGT) für den Client wird abgerufen und in seinem lokalen Kerberos-Berechtigungszwischenspeicher abgelegt. Der Client benötigt dieses TGT, um weitere Tickets anzufordern, die den Kontakt mit anderen Diensten ermöglichen, etwa zum Kontaktieren des Verzeichnisservers für LDAP-Anfragen.

  4. Die NSS- und PAM-Konfigurationen werden so angepasst, dass der Client sich beim Domänencontroller authentifizieren kann.

Während des Client-Bootvorgangs wird der winbind-Dämon gestartet und ruft das erste Kerberos-Ticket für das Computerkonto ab. Das Ticket wird von winbindd automatisch aktualisiert, damit es seine Gültigkeit nicht verliert. winbindd fragt regelmäßig den Domain Controller ab, um den Überblick über die aktuellen Kontorichtlinien zu behalten.

27.2.2. Domänenanmeldung und Home-Verzeichnisse

Die Anmelde-Manager von GNOME und KDE (GDM und KDM) wurden erweitert, um die Anmeldung bei einer AD-Domäne zu ermöglichen. Die Benutzer können wählen, ob sie sich bei der Primärdomäne Ihres Computers oder bei einer der verbürgten Domänen anmelden möchten, zu denen der Domain Controller der Primärdomäne in einem Verbürgungsverhältnis steht.

Die Benutzerauthentifizierung wird durch eine Reihe von PAM-Modulen ausgehandelt, wie unter Abschnitt 27.2, „Hintergrundinformationen zur AD-Unterstützung unter Linux“ beschrieben. Das Modul pam_winbind, das zur Authentifizierung von Clients bei Active Directory- oder NT4-Domänen verwendet wird, kennt die Windows-Fehlerbedingungen, die eine Anmeldung eines Benutzers verhindern können. Die Windows-Fehlercodes werden in entsprechende vom Benutzer lesbare Fehlermeldungen übersetzt, die PAM bei der Anmeldung mit einer der unterstützten Methoden (GDM, KDM, Konsole und SSH) ausgibt:

Passwort ist abgelaufen

Der Benutzer sieht eine Meldung, die besagt, dass sein Passwort abgelaufen ist und geändert werden muss. Das System fordert ihn direkt zur Eingabe eines neuen Passworts auf und informiert ihn, wenn sein neues Passwort nicht mit den firmeninternen Passwortrichtlinien übereinstimmt, beispielsweise, wenn es zu kurz oder zu einfach ist oder bereits verwendet wurde. Wenn das Passwort eines Benutzers fehlschlägt, wird der Grund angegeben und ein neues Passwort angefordert.

Zugang deaktiviert

Der Benutzer sieht eine Fehlermeldung, die besagt, dass sein Konto deaktiviert wurde und er sich an den Systemadministrator wenden soll.

Konto gesperrt

Der Benutzer sieht eine Fehlermeldung, die besagt, dass sein Konto gesperrt wurde und er sich an den Systemadministrator wenden soll.

Passwort muss geändert werden

Der Benutzer kann sich anmelden, erhält aber die Warnmeldung, dass sein Passwort bald geändert werden muss. Diese Warnung wird drei Tage vor Ablauf des Passworts gezeigt. Nach Ablauf kann sich der Benutzer nicht mehr anmelden.

Ungültiger Arbeitsplatzrechner

Wenn sich ein Benutzer nur von einem bestimmten Arbeitsplatzrechner aus anmelden darf und der aktuelle openSUSE-Computer nicht in dieser Liste aufgeführt ist, teilt eine Meldung mit, dass sich dieser Benutzer nicht von diesem Arbeitsplatzrechner aus anmelden kann.

Ungültige Anmeldezeit

Wenn sich ein Benutzer nur während der Arbeitsstunden anmelden darf und außerhalb der Arbeitszeit eine Anmeldung versucht, teilt eine Meldung mit, dass die Anmeldung zu diesem Zeitpunkt nicht möglich ist.

Konto abgelaufen

Ein Administrator kann eine Ablaufzeit für ein bestimmtes Benutzerkonto festlegen. Wenn dieser Benutzer versucht, sich nach Ablauf dieser Zeit anzumelden, teilt ihm eine Meldung mit, dass das Konto abgelaufen ist und nicht für eine Anmeldung benutzt werden kann.

Während einer erfolgreichen Authentifizierung erhält pam_winbind ein Ticket-Granting-Ticket (TGT) vom Kerberos-Server von Active Directory und speichert dieses im Berechtigungszwischenspeicher des Benutzers. Darüber hinaus kümmert sich die Datei um die Erneuerung des TGT im Hintergrund, sodass hierfür kein Benutzereingriff erforderlich ist.

openSUSE unterstützt lokale Home-Verzeichnisse für AD-Benutzer. Wenn die Konfiguration mit YaST durchgeführt wurde (siehe Abschnitt 27.3, „Konfigurieren eines Linux-Client für Active Directory“), wird bei der ersten Anmeldung eines Windows-(AD-)Benutzers beim Linux-Client ein Home-Verzeichnis für den Benutzer erstellt. Dieses Home-Verzeichnis unterscheidet sich äußerlich nicht von den standardmäßigen Home-Verzeichnissen der Linux-Benutzer und funktioniert unabhängig vom AD-Domain Controller. Durch Verwendung eines lokalen Home-Verzeichnisses kann der Benutzer auf seine Daten auf dem Computer zugreifen, selbst wenn keine Verbindung zum AD-Server besteht, sofern der Linux-Client für Offline-Authentifizierung konfiguriert wurde.

27.2.3. Offline-Dienst und Richtlinienunterstützung

Benutzer in einer Firmenumgebung müssen in der Lage sein, ein Roaming-Benutzer zu werden, d. h., die Netzwerke zu wechseln oder auch einige Zeit ohne Netzwerkverbindung zu arbeiten. Damit sich die Benutzer bei einem Computer ohne aktive Netzwerkverbindung anmelden können, wurde ein umfangreicher Zwischenspeicher in den winbind-Dämon integriert. Der winbind-Dämon erzwingt die Passwortrichtlinien auch im Offline-Status. Er verfolgt die Anzahl der fehlgeschlagenen Anmeldeversuche und reagiert entsprechend der in Active Directory konfigurierten Richtlinien. Die Offline-Unterstützung ist standardmäßig deaktiviert und muss im YaST-Modul für die Domänenmitgliedschaft ausdrücklich aktiviert werden.

Wie unter Windows, wenn der Domain Controller nicht mehr verfügbar ist, kann der Benutzer mit gültigen Kerberos-Tickets, die er vor dem Verbindungsverlust erworben hat, immer noch auf (vom AD-Server abweichende) Netzwerkressourcen zugreifen. Passwortänderungen können nur ausgeführt werden, wenn der Domain Controller online ist. Ohne Verbindung zum AD-Server kann ein Benutzer auf keine Daten zugreifen, die auf diesem Server gespeichert sind. Wenn ein Arbeitsplatzrechner vollständig vom Netzwerk getrennt wurde und später wieder mit dem Unternehmensnetzwerk verbunden wird, erhält openSUSE ein neues Kerberos-Ticket, sobald der Benutzer den Desktop gesperrt und entsperrt hat (beispielsweise mithilfe eines Desktop-Bildschirmschoners).