Idealerweise befinden sich die Benutzer- und Gruppenkonten an einer zentralen Stelle und können dort über ein einheitliches Benutzer-Interface angelegt und modifiziert werden. In homogenen Landschaften ist dies auch meist der Fall. Sobald aber unterschiedliche Betriebssystem-Welten aufeinandertreffen, wird es umständlich. Windows-Konten liegen üblicherweise auf einem Active Directory-Domänencontroller, Linux- und Unix-Konten auf einem reinen LDAP-Server. Das AD besteht im Kern zwar auch aus einem LDAP-Server, bietet daneben aber auch noch andere Komponenten an, beispielsweise für DNS oder die Verwaltung von Domänen-Regelwerken. Ein Abgleich eines Windows-DC mit einem reinen LDAP-Server, wie er zur Authentifizierung von Benutzern in Linux-Umgebungen eingesetzt wird, ist dabei nicht ohne weiteres möglich.
Aus diesem Grund stehen oft unterschiedliche Identity-Management Stores zur Verfügung, in denen die Benutzer der verschiedenen Landschaften verwaltet werden. Im Linux-Umfeld setzt sich immer mehr das FreeIPA-Framework durch. Es vereint unterschiedliche Open Source-Tools unter einem Dach, beispielsweise auch einen LDAP- und Kerberos-Server. Benutzer können dann mittels LDAP und Kerberos auf einem Client-System authentifiziert werden. Das FreeIPA-Framework ermöglicht seit einiger Zeit eine Integration in bestehende Windows-Domänen. Zum einen besteht die Möglichkeit, Benutzerobjekte aus dem AD auf einen FreeIPA-Server zu synchronisieren, sodass diese dann als eigenständige Objekte im LDAP-Baum des FreeIPA-Servers vorhanden sind. Seit Version 3.1 kann das Framework auch einen Trust zu einer Windows Server 2008 R2-Domäne aufbauen, wobei dann Benutzer aus der AD-Domäne auf Resourcen der FreeIPA-Domäne zugreifen können.
Die Synchronisation von AD-Objekten stellt dabei nur geringe Anforderungen an die bestehende Umgebung und das Setup sieht dementsprechend einfach aus. Beispielsweise ist es – anders als beim Setup eines Trusts – nicht zwingend erforderlich, dass die FreeIPA- und die Windows-Domäne über eigenständige DNS-Zonen verfügen müssen. Auf der anderen Seite sind Sie hier relativ beschränkt in der Anzahl der LDAP-Attribute, die bei der Synchronisation übertragen werden. Damit die Benutzerpasswörter in beiden Domänen identisch sind, ist die Installation einer zusätzlichen Software auf den Windows-DCs erforderlich, die dann die Passwörter auf den FreeIPA-Server überträgt.
Damit diese Vorgänge über einen sicheren Kommunikationsweg ablaufen, müssen beide Umgebungen über das jeweilige CA-Zertifikat verfügen. Nur dann ist sichergestellt, dass sich die richtigen Rechner miteinander unterhalten. Obwohl in beiden Umgebungen ein LDAP-Server zum Speichern der Objekte zum Einsatz kommt, ist das Schema der Server jeweils unterschiedlich. Viele LDAP-Attribute sind zwar identisch, andere müssen jedoch gemappt werden. Sind im AD RFC 2307-Attribute vorhanden, also beispielsweise eine Posix Benutzer-ID, werden die meisten dieser Attribute nicht synchronisiert. Stattdessen bekommen Benutzer auf der FreeIPA-Seite eine neue Benutzer-ID zugewiesen.
Beim Setup eines Trusts zwischen den Kerberos-Realms beider Domänen bestehen sehr strikte Anforderungen an die DNS-Systeme. Hier ist es zwingend erforderlich, dass die FreeIPA-Domäne über eine eigenständige DNS-Zone verfügt und dann mit Hilfe von DNS-Forwardern die jeweiligen Namenseinträge der beiden Domänen gefunden werden. Idealerweise verfügt die FreeIPA-Domäne über eine DNS-Subzone zur Windows AD-Zone. In dieser werden die DNS-Server dann über eine Delegierung der Zonen identifiziert.
Einer der Vorteile beim Setup eines Trusts ist, dass keine Daten synchronisiert werden müssen und ein Windows-DC die Benutzer- und Gruppen-Informationen beim Login eines Users dynamisch abrufen kann. Diese lassen sich dann in einem lokalen Cache vorhalten. Anders als bei der Synchronisation von AD-Objekten sind bei dieser Vorgehensweise auch keine Änderungen auf der AD-Seite notwendig. Dies ist oftmals ein entscheidendes Kriterium für das Setup eines Trusts. Als Nachteil für diese Art der Integration sei hier noch erwähnt, dass die Windows AD-Benutzer und -Gruppen auf Posix-Gruppen des FreeIPA-Servers gemappt werden müssen. Dies erfordert einen höheren administrativen Aufwand bei der initialen Einrichtung der Umgebung.
Listing: /etc/samba/smb.conf
[global] security = ADS workgroup = example realm = EXAMPLE.COM password server = server1.example.com client use spnego = yes server signing = auto server string = Samba Server winbind enum users = yes winbind enum groups = yes winbind use default domain = yes winbind separator = + template homedir = /home/%D/%U template shell = /bin/bash idmap backend = rid idmap uid = 1000000-1999999