Identitäts- und Zugriffsmanagement auf Basis von Open Source OpenLDAP als Alternative zu Active Directory – auch für Windows
Anbieter zum Thema
OpenLDAP ist eine Lightweight-Directory-Access-Protocol-Lösung auf Basis von Open Source. Die Software lässt sich für Windows genauso nutzen wie mit Linux oder macOS. Wir zeigen in diesem Beitrag erste Schritte und wie OpenLDAP in der Praxis eingesetzt werden kann.

Identitäts- und Zugriffsmanagement-Architektur (IAM) mit Active Directory bietet zahlreiche Möglichkeiten, wie wir in den verschiedenen Beiträgen bereits gezeigt haben. Nicht immer ist für die Authentifizierung von Benutzern oder der Verwaltung von Berechtigungen ein Active Directory notwendig oder erwünscht.
OpenLDAP ist eine Implementierung von LDAP auf Basis einer BSD-Lizenz. Dadurch können Entwickler oder auch App-Eigentümer eigene Berechtigungsstrukturen in Open Source aufbauen. In vielen Linux-Distributionen ist OpenLDAP bereits integriert und lässt sich leicht aktivieren, um ein LDAP-Verzeichnis bereitzustellen.
LDAP bietet für viele Einsätze umfangreiche Vorteile
LDAP kommt in vielen Netzwerken und in Zusammenhang mit unterschiedlichen Lösungen zum Einsatz, um Benutzer zu authentifizieren. Sowohl der Einsatz von mehreren Verzeichnissen parallel als auch der Betrieb von verschiedenen Servern ist möglich. Durch ein globales Benennungsmodell können auch in großen Umgebungen Benutzer eindeutig identifiziert werden. Hinzu kommt die Möglichkeit, zur Namensauflösung mit DNS zu arbeiten. Diese Technologien unterstützen OpenLDAP und Active Directory gleichermaßen.
OpenLDAP im Vergleich zu Active Directory
OpenLDAP ist vom Aufbau her sehr viel schlanker als Active Directory und damit ergibt sich auch eine einfachere LDAP-Implementierung. Active Directory ist mit zahlreichen Funktionen natürlich sehr viel umfangreicher und flexibler. Beim Vergleich der beiden Verzeichnisdienste stellt sich aber die Frage, ob Active Directory für bestimmte Einsätze überhaupt notwendig ist, oder ob Lösungen wie OpenLDAP nicht ausreichen. Denn der wichtigste Unterschied ist der Preis: OpenLDAP ist kostenlos, für Active Directory sind entweder Windows-Server-Lizenzen und Zugriffslizenzen oder Alternativen wie die Installation von Active Directory auf Basis von Samba notwendig.
Auch OpenLDAP kann für umfassende LDAP-Operationen zum Einsatz kommen. Zudem gibt es auch Tools für die grafische Oberfläche, um OpenLDAP zu verwalten. Hinzu kommt, dass OpenLDAP mit allen relevanten Betriebssystemen problemlos zusammenarbeitet, vor allem mit Windows, Linux und macOS.
Active Directory kommt mit mehreren Protokollen, vor allem mit LDAP und Kerberos. OpenLDAP verfügt allerdings zunächst nur über eine LDAP-Implementierung. Funktionen wie Gruppenrichtlinien sind in OpenLDAP ebenfalls nicht verfügbar, dafür bieten OpenLDAP eine sehr tiefe LDAP-Struktur, die auch komplexere Szenarien unterstützt. Generell ist OpenLDAP flexibler und einfacher anzupassen als Active Directory. Vor allem in Cloud-Szenarien und beim Bereitstellen eigener Dienste von Serviceprovidern kann OpenLDAP durchaus punkten, wenn Funktionen von Active Directory nicht nötig sind. Es ist auch problemlos möglichen OpenLDAP in der Cloud zu nutzen, allerdings nicht mit den umfassenden Synchronisierungs- und Kollaborationsfunktionen von AD und Azure AD.
Beim Einsatz von Microsoft-Produkten ist AD kaum wegzudenken
Kommen im Unternehmen Microsoft-Produkte zum Einsatz und auch Dienste in der Cloud oder spezielle Server wie SharePoint, Exchange sowie Freigaben auf Basis von Windows, ist Active Directory kaum wegzudenken. Hier kann OpenLDAP selten eine sinnvolle Alternative sein. Die Kombination von AD und Azure AD sind in solchen Szenarien kaum zu schlagen. Hinzu kommt die komplexere Einrichtung von OpenLDAP für unerfahrene Administratoren oder Entwickler.
OpenLDAP mit phpLDAPadmin installieren
Die Installation von OpenLDAP erfolgt meistens auf Linux-Servern. Hier sollte darauf geachtet werden, dass der Server möglichst aktuell ist. Am Beispiel von Ubuntu erfolgt die Installation von OpenLDAP mit dem Befehl:
sudo apt-get install slapd ldap-utils
Im Rahmen der Installation erfolgt die Eingabe eines Administrator-Kennwortes für OpenLDAP. Nach der Installation erfolgt die Einrichtung über das SLAPD-Paket mit dem Befehl:
sudo dpkg-reconfigure slapd
Nach der Auswahl von „Nein“ beginnt die Einrichtung von OpenLDAP. Im ersten Schritt wird dazu der DNS-Domänenname der neuen Domäne eingegeben und danach der Name der Organisation. Hier kann auch der DNS-Name noch einmal verwendet werden. Danach erfolgt noch einmal die Eingabe des OpenLDAP-Admin-Kennwortes. Danach wird bei „Configuring slapd“ dieses Mal die Frage „Do you want the database to be removed when slapd is purged“ mit „Yes“ beantwortet. Vorhandene Datenbanken lassen sich im Anschluss noch einmal sichern, damit die Daten nicht verloren gehen. Nach der Einrichtung kann mit dem folgenden Befehl überprüft werden, ob das Verzeichnis in OpenLDAP aktiv ist:
sudo slapcat
Generell sollte nach der Installation und Anpassung von OpenLDAP der Dienst neu gestartet werden. Im Terminal lässt sich auch der Status des Dienstes anzeigen. Die Befehle dazu sind:
sudo systemctl restart slapd
sudo systemctl status slapd
Für die Verwaltung ist es auch sinnvoll, LDAP Account Manager zu installieren. Die Installation dazu erfolgt mit:
sudo apt install ldap-account-manager
Nach der Installation erfolgt die Einrichtung über den Webbrowser durch Eingabe der Adresse http://<IP oder Rechnername>/lam. Mit „LAM configuration“ erfolgt die Konfiguration des Dienstes. Es ist auch möglich, die Sprache auf deutsche Einstellungen zu ändern. Der standardmäßige Benutzername für die Verwaltung von LAM ist „lam“, das Kennwort ist ebenfalls „lam“. In der grafischen Oberfläche lässt sich LAM anschließend anpassen.
Benutzer in OpenLDAP erstellen
Um Benutzer in OpenLDAP zu erstellen, ist es sinnvoll, zunächst die dazu gehörenden Container für die Organisationseinheiten zu erstellen. Das kann durch das Bearbeiten der jeweiligen Konfigurationsdatei zum Beispiel mit dem folgenden Befehl erfolgen:
sudo nano users-ou.ldif
In die Datei können anschließend folgende Zeilen eingetragen werden, um die notwendigen Container zu erstellen:
dn: ou=people,dc=joos,dc=local
objectClass: organizationalUnit
objectClass: top
ou: people
dn: ou=groups,dc=joos,dc=local
objectClass: organizationalUnit
objectClass: top
ou: groups
Anschließend lassen sich Benutzer und Gruppen anlegen. Die dazu notwendigen Anpassungen in den Konfigurationseinstellungen sind auf der Seite Howtoforge zu finden.
Die Verwaltung von OpenLDAP kann mit phpLDAPadmin erfolgen. Die Installation dazu erfolgt mit:
sudo apt-get install phpldapadmin -y
Die Konfiguration erfolgt anschließend über die Datei „/etc/phpldapadmin/config.php“. Für die Verbindung mit Apache muss noch die Konfigurationsdatei „/etc/apache2/conf-available/phpldapadmin.conf“ an die eigene Umgebung angepasst werden. Die Verwaltung erfolgt danach mit der Adresse: http://<IP oder Name des Servers>/phpldapadmin.
(ID:48880488)