Home       Servicebereich  Projekte  Kontakt  

Logo LWsystems LWsystems bietet Ihnen Consulting und Support rund um die Integration von Samba in Ihre IT-Infrastruktur.

Samba als Domänencontroller


Ein Domänencontroller ist ein Server der mehrere Funktionen im SMB Netzwerk übernimmt. Er bietet einen Verzeichnisdienst für alle Benutzerdaten und Dienste in der jeweiligen Domäne an. Mittlerweile (ab Windows 2000) wird für diesen Zweck auch in Windowsnetzwerken das LDAP Protokoll eingesetzt.

Eine Maschine, die als Domänencontroller arbeitet registriert beim sich während des Starts beim Namensdienst als Domänencontroller. Der Domänencontroller stellt den Anmeldedienst (engl. netlogon service) und die Freigabe NETLOGON zur Verfügung. Diese hält die Logon Scripte und die Dateien mit den Gruppenpolicies (NTConfig.POL) vor, die bei der Anmeldung zum Client übertragen und dort ausgeführt werden.

Einer der Domänencontroller muß sich beim Namensdienst als ``Domain Master Browser'' registrieren. Dieser Server wird als Primärer Domänencontroller (PDC) bezeichnet. Der PDC hält eine Domänenweite Liste der angebotenen Dienste zur Verfügung. Die Lokalen Master Browser in den (Broadcast-) Subnetzen gleichen ihre lokalen Listen mit dem PDC ab.

Backup Domänen Controller

Der Primäre Domänencontroller verwaltet die Authentisierungsdaten mit Hilfe des sogenannten Security Account Managers (SAM). Mit Hilfe dieses Services werden z.B. Passwortänderungen in der Benutzerdatenbank ausgeführt.

Im Windows NT4 Netzwerk können neben dem PDC noch mehrere Backup Domänen Controller eingesetzt werden. Dieses halten eine Read-Only Kopie der SAM Datenbank vor, die in regelmäßigen Abständen mit dem PDC abgeglichen wird. Änderungen an der SAM Datenbank können daher ausschließlich vom PDC vorgenommen werden.

Die BDCs übernehmen im Windows-Netzwerk bevorzugt die Anmelde-Requests. Der Primäre Domänencontroller wird zur direkten Benutzeranmeldung erst genutzt, wenn die BDCs ausgefallen oder komplett ausgelastet sind.

Das Sicherheitskonzept der Domäne

Das Konzept der Domäne kontrolliert die Zugriffe auf die einzelnen Netzwerkressourcen mit Hilfe von Access Control Listen (ACL) und SIDs(Security Identifier).

Eine SID ist ein speziell codierter String, in dem die Zugehörigkeit zur Domäne und ein RID festgehalten sind. Dieser RID (Relative Identifier) ist domänenweit eindeutig und identifiziert ein Objekt in der Domäne. Dieses können Benutzer, Gruppen oder auch Maschinenaccounts innerhalb der Domäne sein.

Mit Hilfe der ACLs werden die Berechtigungen der einzelnen SIDs für eine spezielle Ressource festgelegt. ACLs stehen für einige Unix-Varianten schon seit längerer Zeit zur Verfügung. In aktuellen Linux-Filesystemen können diese mittlerweile auch aktiviert werden.

Anmeldung an der Domäne

Ein Client, der sich bei der Domänen anmelden will, stellt er per Broadcast eine Anfrage nach einem Login-Server. Der Client kontaktiert den zuerst antwortenden Server. Hierbei werden diverse Protokollparameter ausgehandelt. Danach schickt der Benutzername und Passwort an den Server. Zu diesem Zeitpunkt wird noch nicht übermittelt, welche Services der Client nutzen will. Der Login Server kann daher nur prüfen, ob eine Anmeldung dieses Benutzers von der jeweiligen Clientmaschine erlaubt ist und ob das korrekte Passwort übermittelt wurde.

Im Falle der erfolgreichen Anmeldung schickt der Domänen Controller dem Client eine für ihn gültige SID zurück. Der Client generiert aus dieser SID ein Token (das sogenannte Security Access Token oder SAT), das er für den Zugriff auf die Netzwerkressourcen nutzen kann. Das Token enthält neben dem Benutzernamen Informationen wie die Gruppenzugehörigkeit die die Berechtigungen innerhalb der Domäne.

Wenn der Client auf eine Netzwerkressource zugreift, übermittelt er dieses Token an den Anbieter der Ressource. Dieser wiederum übermittelt das Token zur Prüfung an einen Domänen Controller. Wenn der Domänen Controller die Korrektheit des Tokens bestätigt hat, extrahiert der Server die SID aus dem Token und prüft die Berechtigungen zum Zugriff auf die Netzwerkressource gegen die konfigurierten ACLs.

Namensauflösung

Die Namensauflösung in NetBIOS Netzwerken erfolgt unter Windows mit dem sogenannten Windows Internet Name Service (WINS). In Netzwerken mit einem zentralen WINS Server übermittelt jeder Client seinen WINS Namen an den WINS Server. Die WINS Server gehören keiner speziellen Arbeitsgruppe oder Domäne an. Sie können Informationen für beliebige Domänen und Subnetze vorhalten.

Im Windows Netzwerk können mehrerer WINS Server betrieben werden, wobei jedoch immer nur eine Maschine als WINS Server aktiv ist. Die anderen WINS Server dienen als Backup-Systeme. Sie synchronisieren Ihre Daten mit dem aktiven System und treten in Aktion falls dieses einmal ausfallen sollte.

Samba kann als aktiver (primärer) WINS Server arbeiten. In der Version 2.2 kann ein Samba Server seine Daten jedoch noch nicht mit anderen WINS Servern synchronisieren.

Konfiguration des Domänencontrollers

Grundlegende Einstellungen

Für den Betrieb von Samba als Domänencontroller müssen die folgenden Einstellungen in der Datei smb.conf gesetzt werden.

  [global]                             
   netbios name = ALPHA
   workgroup = LWSYSTEMS    
   passdb backend = tdbsam
   os level = 33
   preferred master = yes
   domain master = yes   
   local master = yes 
   security = user
   domain logons = yes
   logon path = \\%L\profiles\%u
   logon drive = H:             
   logon home = \\homeserver\%u\winprofile
   logon script = logon.cmd               

   [netlogon]              
    comment = Anmeldeservice
    path = /var/lib/samba/netlogon
    read only = yes               
    write list = ntadmin

   [profiles]      
    path = /var/lib/samba/profiles
    read only = no
    create mask = 0600
    directory mask = 0700

   [homes]
    

Erläuterung der Einstellungen

passdb backend = tdbsam
Einstellung des Backends zur Speicherung der Benutzer und Maschineninformationen. Das Backend tdbsam ist die Defaulteinstellung.
os level = 33
Der nmbd Dienst gibt diesen OS Level für die Wahl des Masterbrowsers aus. Er muß größer oder gleich 32 gewählt werden.
preferred master = yes
stellt ein, daß die Maschine ein Masterbrowser im Netzwerksegment ist.
domain master = yes
Der nmbd Daemon versieht seinen Netzwerknamen mit der Codierung eines domänenweiten Master Browsers. Dieser Server wird dadurch der Primäre Domänen Controller (Primary Domain Controller oder PDC). Alle Backup- Domänencontroller (BDC) haben diesen Parameter auf ``no'' gesetzt.
local master = yes
Der Server versucht auch der lokale Masterbrowser im Subnetz zu werden.
security = user
Die Zugriffssteuerung erfolgt auf Benutzerebene. Achtung! Hier wird ``security = domain'' nur eingestellt, wenn der Samba Server versuchen soll, Benutzernamen und Passwörter gegen einen anderen Domänencontroller zu prüfen. Für diesen Sambaserver muß dafür ein Maschinenaccount (per net(8)) in der Domäne eingerichtet worden sein.
domain logons = yes
Hiermit wird dem Sambaserver mitgeteilt, daß er den Anmeldeservice zur Verfügung stellt. Durch diese Einstellung wird er als Domänencontroller konfiguriert. Wenn dieser Parameter gesetzt ist, muß zusätzlich das Share [NETLOGON] konfiguriert werden.
logon path
Hier wird das Homeverzeichnis aus Sicht des Clients konfiguriert. Der Client speichert hier u.a. sein Profil (NTuser.dat) ab. %L bezeichnet den NetBIOS Namen des Servers, %u den Benutzernamen.
logon drive = H:
Das Homeverzeichnis wird bei der Anmeldung auf dieses Windows-Laufwerk gemappt. Diese Einstellung wird nur von Windows NT/2000/XP Clients ausgewertet.
logon home = ...
stellt den Pfad zum Homeverzeichnis für Windows 95/98/ME Clients ein. Diese Clients speichern ihre Profile in dem angegebenen Verzeichnis.
logon script = logon.bat
Dieses Script wird nach erfolgreichem Logon vom Client geladen und ausgeführt.

Notwendige Freigaben

NETLOGON

Das Share NETLOGON ist auf allen Domänencontrollern konfiguriert. Die Clients suchen auf diesem Share die Loginscripte und die Gruppenpolicies (ntconfig.pol).

PROFILES

Das PROFILES Share zur zentralen Speicherung der Desktop-Profile. Für jeden Benutzer existiert hier ein Unterverzeichnis in dem der Client die Profildateien beim Anmelden aus liest und beim Abmelden speichert. Die (Unix-) Benutzeraccounts müssen auf ``Ihrem'' die Schreibberechtigungen haben. Die Benutzerverzeichnisse müssen global Lesbar sein.


< zurück  | weiter >