Active Directory mit Hüftschwung
Artikel erschienen in Swiss IT Magazine 2006/11
Die freie SMB-Implementierung Samba stellt bereits seit Jahren Microsoft-Netzwerkdateidienste in heterogenen Umgebungen zur Verfügung. Dabei kommt Samba nicht nur als simpler Datei- respektive Druckerserver, sondern auch als Domänen-Controller im NT-Style zum Einsatz. Es konnte mit viel Konfigurationseinsatz zusammen mit OpenLDAP und einer Kerberos-5-Implementierungen wie Heimdal sogar zum Active-Directory-Domänen-Member aufgebohrt werden. Der Schritt zum Primary Domain Controller im Active Directory war Samba bislang aber unmöglich. So liess sich ohne Microsoft-Server-Betriebssystem und nur allein mit Samba kein Active Directory aufbauen. Doch dies soll sich nun mit Samba 4 ändern, das die Entwickler um Andrew Tridgell bereits seit Jahren entwickeln und erste Preview-Releases zum Download freigegeben haben.
Bei Active Directory (AD) hat Microsoft für einmal auf Standards wie LDAP, Kerberos und DNS gesetzt. Entsprechend hätten es sich die Samba-Entwickler leichtmachen und wie bereits bei Samba 3 auf vorhandene Komponenten wie OpenLDAP zurückgreifen können, um vollständigen Active-Directory-Support zu implementieren. Sie entschieden sich mit LDB allerdings für eine eigene LDAP-Implementierung. Dies hauptsächlich, da OpenLDAP ziemlich kompliziert zu konfigurieren ist und zudem einige Schwächen bei der Replikation aufweist, die insbesondere bei der Replikation von Passwort-Änderungen zu Problemen führen können. Allerdings ist LDB nicht komplett kompatibel zur LDAP-Spezifikation, sondern zielt vielmehr nur darauf, die Funktionalität und die Kompatibilität zu bieten, die für Active Directory benötigt werden.
Neben LDAP wurden in Samba 4 auch DNS-Support sowie ein Kerberos Key Distribution Center auf Basis von Heimdal implementiert. Verwendet werden sogenannte Kerberos Privilege Attribute Certificates (PACs), die eine Microsoft-Ergänzung zum Kerberos-Standard des MIT darstellen.
Bei der Nachbildung von NTFS-ACLs (Access Control Lists), die zur Regelung der Zugriffsrechte dienen, sind die Samba-Entwickler bis und mit Version 3 den Weg gegangen, die NTFS-ACLs auf POSIX-ACLs abzubilden. Allerdings ist dies nicht ausreichend, da die POSIX-ACLs im Vergleich zu den NTFS-ACLs weniger Möglichkeiten bieten. Um die Limitierung der POSIX-ACLs zu überwinden, haben sich die Samba-Entwickler entschieden, ein eigenes virtuelles Dateisystem zu entwickeln, welches kompatibler zu NTFS ist. NTVFS, so der Name, ist dabei nicht nur in der Lage, NTFS-ACLs eins zu eins zu speichern, sondern unterstützt auch Alternate Data Streams (ADS). Alternate Data Streams ermöglichen es, quasi unsichtbar weitere Daten an eine Datei zu hängen, beispielsweise Thumbnails oder Metadaten zu Bildern.
Für die Netzwerksicherheit sorgen dagegen AD Access Control Lists, die ebenfalls implementiert wurden, bislang aber nur die Benutzerdatenbank und nicht die Registry zu schützen vermögen. Der Registry-Schutz soll aber in den nächsten Versionen nachgerüstet werden. Das gleiche dürfte auch für die Gruppenrichtlinien gelten, allerdings ist noch nicht klar, ob und wie sie in Samba implementiert werden sollen.
Im Zuge des Active-Directory-Supports erlebt auch das webbasierte Konfigurationstool SWAT eine Wiedergeburt. SWAT litt bisher vor allem daran, dass es nicht deutlich einfacher als die smb.conf zu bedienen war. Es basiert auf einem Embedded Webserver und wird nun automatisch zusammen mit smbd gestartet, ohne dass es vorher noch konfiguriert werden muss. Es ist zu einem integralen Bestandteil von Samba geworden und soll dereinst zur Active-Directory-Verwaltung dienen.
Trotz den grossen Efforts im AD-Bereich sind auch die Möglichkeiten bei WINS (Windows Internet Naming Service) verbessert worden. Samba4WINS erweitert den WINS-Support von Samba um native Replikationsfähigkeiten, so dass nicht mehr auf Hacks oder Tools von Drittherstellern gesetzt werden muss.
Auch wenn Samba 4 schon beachtliche Möglichkeiten eröffnet, fehlen noch etliche Funktionen, die man aus Samba 3 kennt. Auch ist der Active-Directory-Support noch nicht vollständig und wird nach und nach komplettiert. Dies gilt auch für die Unterstützung von SMB2 aus Windows Vista, die wohl erst mit dem Erscheinen von Vista in Angriff genommen werden kann.