Kapitel 16. Interdomain-Vertrauensstellungen

John H. Terpstra

Samba Team

Rafal Szczesniak

Samba Team

Jelmer R. Vernooij

drawing
Samba Team

Stephen Langasek

Felix Erlacher

Deutsche Übersetzung
German Samba-3-Docs-Translation Team

April 3, 2003

Inhaltsverzeichnis

Eigenschaften und Vorzüge
Hintergrund von Vertrauensstellungen
Native MS Windows NT4-Vertrauenstellungen konfigurieren
Eine NT4-Vertrauensstellung aufbauen
Eine NT4-Vertrauensstellung fertig stellen
Interdomain-Vertrauensmöglichkeiten
Konfigurieren einer NT-artigen Vertrauensstellung mit Samba
Samba als vertraute Domäne
Samba als die vertrauende Domäne
NT4-artie Domänen-Vertrauensstellungen mit Windows 2000
Häufige Fehler
Das Durchsuchen der vertrauten Domäne schlägt fehl
Probleme mit LDAP ldapsam und den smbldap-Tools

Samba-3 unterstützt NT4-gleiche Domänen-Vertrauensstellungen. Dies ist eine Eigenschaft, die viele Sites benutzen möchten, wenn sie von einer NT4-gleichen Domäne auf eine Samba-3-Domäne migrieren, aber kein Active Directory oder ein LDAP-basierendes Backend übernehmen möchten. Dieses Kapitel beschreibt einige Hintergrundinformationen zu Vertrauensstellungen und zeigt, wie sie erstellt werden. Samba-3 kann jetzt NT4 vertrauen (und umgekehrt), genauso wie es möglich ist, Samba-zu-Samba-Vertrauensstellungen zu erstellen.

Eigenschaften und Vorzüge

Samba-3 kann an einer Samba-zu-Samba-Vertrauensstellung teilnehmen, genauso wie an einer Samba -zu-MS-Windows-NT4-Vertrauensstellung. Somit hat Samba eine ähnliche Skalierbarkeit wie MS Windows NT4.

Da Samba-3 die Fähigkeit besitzt, mit einem skalierbaren Authentifizierungsbackend wie LDAP zu funktionieren, und es sowohl als primärer Domänencontroller als auch als Backup-Domänencontroller funktioniert, sollte der Administrator sich nach Alternativen umschauen, bevor er die Interdomänen-Vertrauensstellung benutzt, aus dem einfachen Grund, dass das Prinzip, nach dem sie arbeiten, einfach unsicher ist. Dies war, unter anderem, ein Hauptgrund für die Entwicklung von Microsoft Active Directory.

Hintergrund von Vertrauensstellungen

MS Windows NT3/4-Sicherheitsdomänen haben eine nicht-hierarchische Sicherheitsstruktur. Die Einschränkungen dieser Architektur und die Tatsache, wie sie die Skalierbarkeit von MS Windows- Netzwerken in großen Organisationen betreffen, sind wohl bekannt. Dazu schränkt der flache Namensraum, der aus diesem Design resultiert, auch die Verteilung von administrativen Aufgaben in großen Netzwerken sehr ein.

Microsoft entwickelte Active Directory Service (ADS), das auf Kerberos und LDAP basiert, um die Einschränkungen der älteren Technologien zu umgehen. Nicht jede Organisation ist gewillt oder bereit, ADS einzusetzen. Für kleinere Unternehmen ist das alte NT4-Domänensicherheitsmuster eher angebracht; es bleibt eine feste Benutzerbasis, für die es keinen Grund gibt, eine mit Betriebsunterbrechungen einhergehende Umstellung der Technologie durchzuführen, um ADS zu adaptieren.

Mit MS Windows NT hat Microsoft die Fähigkeit eingeführt, unterschiedlichen Sicherheitsdomänen einen Mechanismus zu erlauben, mit dem Benutzern einer Domäne Anmelderechte und Privilegien in einer anderen Domäne gegeben werden können. Dies wird als Vertrauensstellung (Trust) bezeichnet. So vertraut beispielsweise eine Domäne den Benutzern einer anderen Domäne. Die Domäne, deren Benutzer einer anderen Domäne zur Verfügung stehen, nennt man vertraute Domäne. Die Domäne, in der diese Benutzer gewisse Rechte und Privilegien haben, ist die vertrauende Domäne. Mit NT3.x/4.0 gehen alle Vertrauensstellungen immer nur in eine Richtung, d.h., wenn Benutzer beider Domänen in der jeweils anderen Domäne Rechte und Privilegien haben sollen, muss man zwei Vertrauensstellungen aufbauen: eine in jede Richtung.

In einer NT4-artigen MS-Sicherheitsdomäne sind alle Vertrauensstellungen nicht-transitiv. Das bedeutet: Wenn wir drei Domänen haben (nennen wir sie ROT, WEISS und BLAU), in der ROT und WEISS in einer Vertrauensstellung zueinander stehen und WEISS und BLAU in einer Vertrauensstellung zueinander stehen, dann bedeutet das nicht, dass ROT und BLAU automatisch eine Vertrauensstellung zueinander haben. Vertrauensstellungen sind explizit und nicht transitiv.

Neu im MS Windows 2000-ADS-Sicherheitskontext ist die Tatsache, dass Vertrauensstellungen per Voreinstellung in beiden Richtungen verlaufen. Zusätzlich sind alle Inter-ADS-Domänen-Vertrauensstellungen transitiv. Im Fall der Domänen ROT, WEISS und BLAU und Windows 2000 mit ADS würde das bedeuten, dass ROT und BLAU sich vertrauen würden. Dies ist eine Eigenschaft, die nur ADS-Domänen haben. Samba-3 implementiert MS Windows NT4-artige Domänen-Vertrauensstellungen und verkehrt mit MS Windows 200x-ADS-Sicherheitsdomänen in einer ähnlichen Weise wie mit MS Windows NT4-artigen Domänen.

Native MS Windows NT4-Vertrauenstellungen konfigurieren

Zwei Schritte sind erforderlich, um eine Interdomain-Vertrauensstellung herzustellen. Um eine 2-Wege-Vertrauensstellung aufzubauen, müssen beide Domänenadministratoren einen Trust Account für die jeweils andere Domäne anlegen, der dazu dient, die Sicherheitsbeschränkungen zu überprüfen.

Eine NT4-Vertrauensstellung aufbauen

In MS Windows NT4 werden alle Domänen-Vertrauensstellungen mit dem Domain User Manager konfiguriert. Sie rufen ihn über den Eintrag Domain User Manager Policies in der Menüleiste auf. Vom Policy-Menü aus wählen Sie Trust Relationships. Gleich neben der unteren Box mit dem Namen Permitted to Trust this Domain sind zwei Buttons, Add und Remove. Der Add-Button öffnet ein Menü, in dem man den Namen der Domäne eintragen kann, die dann befähigt ist, Zugriffsrechte an Benutzer in Ihrer Domäne zu vergeben. Sie müssen auch ein Passwort für diese Vertrauensstellung eingeben, das die vertrauende Domäne benötigt, wenn sie Benutzer aus der vertrauten Domäne authentifiziert. Das Passwort muss zweimal eingegeben werden (Standard-Bestätigung).

Eine NT4-Vertrauensstellung fertig stellen

Eine Vertrauensstellung funktioniert nur, wenn die andere (vertrauende) Domäne die benötigten Verbindungen mit der vertrauten Domäne herstellt. Um das Vertrauensverhältnis herzustellen, muss der Administrator den Domain User Manager starten, dann unter Policies den Menüpunkt Trust Relationships auswählen und auf den Add-Button klicken, der sich neben der Trusted Domains-Box befindet. Es öffnet sich ein Menü, in dem man den Namen der anderen Domäne sowie das Passwort zur Vertrauensstellung eingeben muss.

Interdomain-Vertrauensmöglichkeiten

Eine 2-Wege-Vertrauensstellung ist erstellt, wenn zwei Einweg-Vertrauensstellungen erstellt worden sind, und zwar eine in jede Richtung. Wo eine Einweg-Vertrauensstellung zwischen zwei MS Windows NT4-Domänen besteht (nennen wir sie DomA und DomB), wurden folgende Möglichkeiten hergestellt:

Abbildung 16.1. Überblick über Vertrauensstellungen

Überblick über Vertrauensstellungen
  • DomA (stellt die Vertrauensverbindung fertig) vertraut DomB.

  • DomA ist die vertrauende Domäne.

  • DomB ist die vertraute Domäne (initiiert die Vertrauensstellung).

  • Benutzer aus DomB können auf Ressourcen aus DomA zugreifen.

  • Benutzer aus DomA können nicht auf Ressourcen aus DomB zugreifen.

  • Globale Grppen aus DomB können in DomA benutzt werden.

  • Globale Gruppen aus DomA können nicht in DomB benutzt werden.

  • DomB erscheint im Logon-Dialog auf Client-Workstations von DomA.

  • DomA erscheint nicht im Logon-Dialog auf Client-Workstations von DomB.

  • Den Benutzern/Gruppen in einer vertrauenden Domäne können keine Zugriffe oder Rechte zu einer vertrauten Domäne gegeben werden.

  • Die vertrauende Domäne kann auf Konten (Benutzer/globale Gruppen) der vertrauten Domäne zugreifen und sie benutzen.

  • Den Administratoren der vertrauten Domäne können administrative Rechte in der vertrauenden Domäne gegeben werden.

  • Den Benutzern in einer vertrauten Domäne können Rechte und Privilegien in der vertrauenden Domäne gegeben werden.

  • Den globalen Gruppen der vertrauten Domäne können Rechte und Zugriffe in der vertrauenden Domäne gegeben werden.

  • Globale Gruppen einer vertrauten Domäne können Mitglieder in den lokalen Gruppen einer Maschine werden, die Mitglied einer MS Windows-Domäne ist.

Konfigurieren einer NT-artigen Vertrauensstellung mit Samba

Diese Beschreibung ist eine recht kurze Einführung sein, wie man einen Samba-Server so aufsetzt, dass er an einer Inderdomain-Vertrauensstellung teilnehmen kann. Die Unterstützung von Verstrauensstellungen in Samba befindet sich in einem frühen Stadium, deshalb sollten Sie nicht überrascht sein, wenn etwas nicht so funktioniert, wie es sollte.

Alle unten beschriebenen Szenarien gehen davon aus, dass die Peer-Domäne in der Vertrauensstellung von einem Windows NT4-Server betrieben wird. Das entfernte Ende könnte aber auch genauso gut eine andere Samba-3-Domäne sein. Nachdem Sie dieses Dokument zu Ende gelesen haben, werden Sie erkennen, dass man, wenn man die Samba-spezifische Teile der folgenden Anleitungen zusammensetzt, auch eine Vertrauensstellung zwischen Domänen in einer reinen Samba-Umgebung herstellen kann.

Samba als vertraute Domäne

Um den Samba-PDC als vertraute Seite der Vertrauensstellung festzulegen, muss zuerst ein spezielles Konto in der Domäne erstellt werden, die die vertrauende Seite sein wird. Dazu verwenden Sie das Programm smbpasswd. Ein vertrautes Domänen-Konto zu erstellen funktioniert ähnlich, wie ein vertrautes Maschinen-Konto zu erstellen. Nehmen wir an, Ihre Domäne heißt SAMBA und die entfernte Domäne ist RUMBA. Der erste Schritt ist, folgenden Befehl in Ihrer Lieblings-Shell auszuführen:

root#  smbpasswd -a -i rumba
New SMB password: XXXXXXXX
Retype SMB password: XXXXXXXX
Added user rumba$

Dabei bedeutet -a, dass ein neues Konto zur passdb-Datenbank hinzugefügt wird, und -i heißt so viel wie: „Erstelle dieses Konto mit dem Interdomain-Vertrauens-Flag“.

Der Kontoname lautet nun „rumba$“ (das ist der Name der entfernten Domäne). Falls dies fehlschlägt, sollten Sie überprüfen, ob das Konto zur System-Password-Datenbank (/etc/passwd) hinzugefügt wurde. Falls nicht, können sie es von Hand hinzufügen und dann den obigen Schritt wiederholen.

Nachdem Sie diesen Befehl eingegeben haben, werden Sie nach einem Passwort für dieses Konto gefragt. Sie können hier jedes beliebige Passwort verwenden, aber beachten Sie, dass Windows NT dieses Passwort nicht früher als 7 Tage nach der Konto-Erstellung ändern wird. Nach erfolgreicher Ausführung des Befehls können Sie den Eintrag für das neue Konto anschauen (in der Art, die Ihre Konfiguration vorsieht), und Sie werden sehen, dass der Kontoname wirklick RUMBA$ ist und dass das „I“-Flag im flags-Feld gesetzt ist. Sie können nun die Vertrauensstellung bestätigen, indem Sie sie vom Windows NT-Server aus aufbauen.

Öffnen Sie den User Manager for Domains, und wählen Sie im Policies-Menü den Eintrag Trust Relationships.... Neben der Trusted domains-Listbox klicken Sie auf den Add...-Button. Sie werden nach dem Namen der vertrauten Domäne und dem dazugehörigen Passwort gefragt. Geben Sie SAMBA an, da dies der Name unserer entfernten Domäne ist, und das Passwort das bei der Konto-Erstellung verwendet wurde. Klicken Sie auf OK, und wenn alles ohne Fehler funktioniert hat, werden Sie die Mitteilung Trusted domain relationship successfully established bekommen.

Samba als die vertrauende Domäne

Jetzt werden die Aufgaben umgekehrt. Wieder nehmen wir an, dass Ihre vom Samba-PDC kontrollierte Domäne SAMBA heißt und die NT-kontrollierte Domäne RUMBA.

Der erste Schritt besteht darin, ein Konto für die SAMBA-Domäne auf dem PDC RUMBA zu erstellen.

Starten Sie den Domain User Manager, und wählen Sie im Menü Policies den Eintrag Trust Relationships aus. Jetzt klicken Sie auf den Add-Button, der sich neben der Trusted Domains-Box befindet, und geben den Namen der vertrauten Domäne (SAMBA) und das Passwort für die Sicherung der Vertrauensstellung ein.

Das Passwort kann willkürlich gewählt werden. Es ist einfach, das Passwort zu jedem Zeitpunkt vom Samba-Server aus zu ändern. Nachdem man das Passwort bestätigt hat, ist das Konto fertig für den Gebrauch. Jetzt ist der Samba-Server an der Reihe.

Sie melden sich mit ihrer bevorzugten Shell als root an und führen folgenden Befehl aus:

root# net rpc trustdom establish rumba

Sie werden nach dem Passwort gefragt, das Sie gerade in Ihrer Windows NT4-Server-Maschine eingegeben haben. Die Fehlermeldung `NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT', die manchmal auftritt, kann getrost ignoriert werden. Sie bedeutet, dass das Passwort, das Sie eingegeben haben, richtig ist, und der NT4-Server sagt damit, dass das Konto für eine Interdomain-Verbindung zur Verfügung sthet und nicht für eine normale Verbindung. Nach dieser Prozedur müssen Sie etwas gedulding sein, es könnte eine Weile dauern (vor allem in großen Netzwerken), aber schließlich sollten Sie die Success-Meldung sehen. Gratulation! Ihre Vertrauensstellung wurde in diesem Moment fertig gestellt.

Anmerkung

Sie müssen diesen Befehl als root ausführen da sie Schreibrechte auf die Datei secrets.tdb haben müssen.

NT4-artie Domänen-Vertrauensstellungen mit Windows 2000

Obwohl der Domain User Manager unter Windows 2000 nicht mehr existiert, ist es trotzdem möglich, eine NT4-artige Vertrauensstellung mit einem Windows 2000-Domänencontroller, der im gemischten Modus als vertrauender Server läuft, aufzubauen. Es sollte auch für Samba möglich sein, einem Windows 2000-Server zu vertrauen, in diesem Gebiet muss jedoch noch getestet werden.

Nachdem Sie ein Interdomain-Vertrauenskonto auf dem Samba-Server wie oben beschrieben erstellt haben, öffnen Sie Active Directory Domains and Trusts auf dem AD-Controller der Domäne, deren Ressourcen Sie den Samba-Benutzern zur Verfügung stellen möchten. Wenn Sie möchten, dass Ihre Benutzer Zugriff auf mehrere Mixed-Mode-Domänen in Ihrem AD-Forest haben, müssen Sie diesen Vorgang für alle Domänen wiederholen. Nachdem Sie Active Directory Domains and Trusts geöffnet haben, machen Sie einen Rechtsklick auf die Domäne, die Ihrer Samba-Domäne vertrauen soll, und wählen Properties. Dann klicken Sie auf den Trusts-Tab. Im oberen Teil der Leiste sehen Sie eine Listbox mit dem Namen Domains trusted by this domain: und einem Add...-Button daneben. Drücken Sie diesen Knopf, und wie bei NT4 werden Sie nun nach der Domäne und dem Passwort für die Vertrauensstellung gefragt. Klicken Sie auf OK, und nach einem Moment wird Active Directory mit der Meldung The trusted domain has been added and the trust has been verified. antworten. Ihren Samba-Benutzern kann nun Zugriff auf die Ressourcen in der AD-Domäne gegeben werden.

Häufige Fehler

Interdomain-Vertrauensstellungen sollten nicht in Netzwerken erstellt werden, die instabil sind oder öfter Ausfälle haben. Netzwerkstabilität und -integrität sind Schlüsselvoraussetzungen für verteilte vertraute Domänen.

Das Durchsuchen der vertrauten Domäne schlägt fehl

Wenn ich auf einer Maschine, die Mitglied einer vertrauten Windows 200x-Domäne ist, ein Windows 200x-Mitglied einer vertrauenden Samba-Domäne durchsuche, bekomme ich folgenden Fehler:

Das System hat einen möglichen Angriff auf die Sicherheit festgestellt. Bitte versichern Sie sich, dass Sie Kontakt zu dem Server haben, der Sie authentifiziert.

Die Event-Logs auf der Maschine, die ich versuche zu erreichen, haben Einträge, die nicht angewendete Gruppen-Richtlinien betreffen, weil diese Maschine ein Mitglied einer untergeordneten Domäne ist.

Antwort: Dieses Problem kann auftreten, wenn ein Computer-Konto für die betroffene Maschine in der Windows 200x-Domäne existiert und diese deaktiviert ist. Falls dieses Computer-Konto nicht existiert (d.h. entfernt oder nie erstellt wurde) oder dieses Konto noch immer intakt ist (z.B.: Sie haben es gerade in eine andere Domäne verschoben), sollte alles in Ordnung sein. Wenn man die Domäne (die Windows 200x-Domäne) verlässt, versucht der Computer normalerweise, automatisch das Computer-Konto zu deaktivieren. Falls während dieses Vorgangs ein Konto verwendet wird, das die Privilegien dazu hat, wird das Computer-Konto deaktiviert, sonst nicht.

Probleme mit LDAP ldapsam und den smbldap-Tools

Wenn Sie das smbldap-useradd.pl-Skript benutzen, um ein Konto für die Fertigstellung einer Interdomain-Vertrauensstellung zu erstellen, wird dieser Prozess fehlschlagen. Das Konto, das in der LDAP-Datenbank erstellt wurde, wird ein Konto-Flag-Feld haben, das [W ] enthält, wärend es [I ] für eine funktionierende Interdomain-Vertrauensstellung enthalten müsste.

Antwort: Hier eine einfache Lösung. Erstellen Sie ein Maschinen-Konto wie folgt:

root#  smbldap-useradd.pl -w domain_name

Dann setzen Sie das Passwort für das gewünschte Vertrauensstellungskonto wie hier:

root#  smbldap-passwd.pl domain_name\$

Mit einem Texteditor erstellen Sie folgende Datei:

dn: uid=domain_name$,ou=People,dc={your-domain},dc={your-top-level-domain}
changetype: modify
sambaAcctFlags: [I         ]

Dann fügen Sie die Text-Datei wie folgt zur LDAP-Datenbank hinzu:

root#  ldapmodify -x -h localhost \
 -D "cn=Manager,dc={your-domain},dc={your-top-level-domain}" \
 -W -f /path-to/foobar

Erstellen Sie eine einseitige Vertrauensstellung mit dem NT4-Domain User Manager, und führen Sie dann Folgedes aus:

root#  net rpc trustdom establish domain_name

Dies funktioniert mit Samba-3- und NT4-Domänen sowie mit Samba-3 und Windows 200x ADS in gemischtem Modus. Beide DCs, Samba und NT, müssen den gleichen WINS-Server benutzen, sonst wird die Vertrauensstellung nie funktionieren.