LDAP

In der Blogartikel-Serie „How to integrate with LDAP“ stellen wir Ihnen verschiedene Möglichkeiten vor, wie das von UCS bereitgestellte LDAP erweitert werden oder mit Diensten zusammenarbeiten kann.

Im ersten Abschnitt dieses Artikels „Typische Konfigurationsoptionen“ erkläre ich Ihnen zum Beispiel, welche Informationen typischerweise benötigt werden, um eine Benutzerauthentifizierung gegen das UCS LDAP durchzuführen. Die dafür nötigen Konfigurationsschritte erkläre ich Ihnen exemplarisch an der Projektmanagementsoftware Redmine, bei der alle typischen Informationen abfragt werden.

Im zweiten Abschnitt „Arten von Suchbenutzern“ gehe ich darauf ein, welche Möglichkeiten Ihnen zur Verfügung stehen, falls das UCS LDAP nicht anonym durchsucht werden kann.

Sollten Sie sich noch nicht so gut mit der Thematik LDAP auskennen, empfehle ich Ihnen vorab die Lektüre unseres Blogartikels: LDAP / OpenLDAP: Zwei Grundpfeiler des UCS Identity & Access Managements?

1. Typische Konfigurationsoptionen

Typische Konfigurationsoptionen für eine LDAP-Anbindung beinhalten folgende Elemente:

  • einen LDAP-Server
  • einen LDAP-Port und
  • einen LDAP-Suchfilter

Falls der LDAP-Server keinen anonymen bzw. unautorisierten lesenden Zugriff erlaubt, müssen Sie zusätzlich noch folgende Punkte definieren:

  • Benutzerkonto (in DN-Schreibweise) für die Suche
  • Passwort für das Benutzerkonto für die Suche

LDAP-Server

Mit dem LDAP-Server wird entweder die IP-Adresse oder der Hostname, besser aber der FQDN (Fully Qualified Domain Name) des anzufragenden Servers angegeben. Auch die Angabe des LDAP-Servers selbst ist erforderlich. Beispiel: ucs-master.example.com

Übliche Benennungen für dieses Feld sind Name, Server oder LDAP Server.

LDAP-Port

Der UCS LDAP-Dienst ist über die Ports 7389 (ungesichert) und 7636 (SSL-gesichert) erreichbar. Wenn Samba auf dem Server installiert und als AD kompatibler Domänencontroller konfiguriert ist, sind die Ports 389 (ungesichert) und 636 (SSL-gesichert) für Samba reserviert und können nicht mehr für die OpenLDAP-Kommunikation genutzt werden. Tools, die Daten aus einem MS AD beziehen, sollten also immer gegen den von Samba bereitgestellten Verzeichnisdienst konfiguriert werden.
Tools, die Daten aus einem OpenLDAP beziehen, sollten dagegen den Ports eine „7“ voranstellen. Beispiel: 7389

Übliche Benennungen für dieses Feld sind Port oder LDAP Port.

LDAP-Suchfilter

Über den LDAP-Suchfilter kann die Anzahl der Ergebnisse bereits vor der Ausgabe reduziert werden, indem z. B. nur Benutzerkonten oder Windows-Clients angefragt werden. Beispiel: (&(objectClass=person)(mailPrimaryAddress=*)) Es wird hier nach Objekten gesucht, die eine Person sind und eine primäre E-Mail-Adresse haben.

Übliche Benennungen für dieses Feld sind Filter oder LDAP Filter.

Benutzer für die LDAP-Suche

Wenn der LDAP-Server keine anonymen Suchabfragen zulässt, muss in der Konfiguration für die LDAP-Suche zusätzlich ein Benutzername in Form dessen DN (Distinguished Name) angegeben werden. Beispiel: uid=searchuser,cn=users,dc=example,dc=com

Übliche Benennungen für dieses Feld sind Account, BindDN oder Bind-DN.

 Passwort für den Suchbenutzer

Damit die LDAP-Abfrage durchgeführt werden kann, muss das Passwort angegeben werden. Hierbei handelt es sich um das unverschlüsselte und ungehashte Passwort. Üblicherweise werden solche Felder in einer Weboberfläche korrekt als Passwortfeld konfiguriert, sodass das Passwort nicht eingesehen werden kann.

Übliche Benennungen für dieses Feld sind Password oder Bind-DN Password.

Benutzererstellung

Wenn ein Dienst wie z. B. Redmine eine eigene Benutzerdatenbank pflegt und das LDAP nur zur Authentifizierung der Benutzer benutzt, kann es die Option geben, dass der Benutzer direkt in der Datenbank des Dienstes erstellt wird. Da der Dienst seinerseits Pflichtfelder für Benutzerkonten hat wie z. B. den Benutzernamen, können in der Regel LDAP-Attribute angegeben werden, welche dann in der Datenbank ausgefüllt werden. Eine Übersicht über übliche Felder sind im Abschnitt „Attribute“ aufgelistet.

Übliche Benennungen für diese Option sind On-the-fly-Benutzererstellung oder Benutzer erstellen, wenn noch nicht vorhanden.


Screenshot LDAP Authentifizierung
Attribute

Einige Dienste, wie z. B. Redmine, pflegen eine eigene Benutzerdatenbank und benutzen das LDAP nur zur Benutzerauthentifizierung. Diese Dienste bieten an, LDAP-Attribute mit einem Feld im Dienst zu verknüpfen. Ist das Attribut im LDAP belegt, wird der Wert automatisch übertragen und in der eigenen Datenbank eingetragen.

Übliche Attribute, die übernommen werden, sind:
Benutzername (LDAP-Attribut: uid)
Vorname (LDAP-Attribut: givenName)
Nachname (LDAP-Attribut: sn)
E-Mail (LDAP-Attribut: mailPrimaryAddress oder mail)

2. Arten von Suchbenutzern

Falls das LDAP so konfiguriert ist, dass keine anonyme LDAP-Suche durchgeführt werden kann, muss ein Benutzerkonto angegeben werden, mit welchem das LDAP durchsucht werden kann.

LDAP Attribute

Dies kann entweder mit einem im LDAP angelegten Benutzer durchgeführt werden oder mit dem Host-Account eines Systems, auf dem ein Dienst installiert wird (sofern das System der UCS-Domäne beigetreten ist, sind das standardmäßig alle UCS-Systeme).

Benutzer für die Suche

Die Konfiguration der LDAP-Abfrage mit einem Benutzer empfiehlt sich, wenn ein Dienst eingesetzt wird, der nur auf einem System bereitgestellt wird, wie dies bei unserem Beispiel Redmine auch der Fall ist.

Die Konfiguration des Benutzers ist transparent und erleichtert die Konfiguration von Diensten, da direkt ersichtlich ist, mit welchem Benutzer Abfragen durchgeführt werden.

Wir empfehlen die Erstellung eines eigenen LDAP-Suchbenutzers, damit in den Konfigurationen nicht die Zugangsdaten von Domänen-Benutzern oder dem Domänen-Administrator angegeben werden müssen. Eine bebilderte Anleitung kann in unserem Wiki unter Cool Solution – LDAP search user (englisch) gefunden werden.

Suche mit dem Host-Account

Die Konfiguration der LDAP-Abfrage mit dem Host-Account empfiehlt sich, wenn ein Dienst die Konfiguration, der LDAP-Suche über eine Konfigurations-Datei ermöglicht oder ein Dienst auf mehreren Servern angeboten wird.

Hierbei ist zu beachten, dass die Suche mit dem Host-Account des Servers, auf dem der Dienst installiert ist, der regelmäßigen und automatischen Passwortänderung des Servers unterliegt. Das heißt, wenn sich das Host-Account Passwort des Servers ändert, können keine LDAP-Suchen mit einem konfiguriertem Dienst mehr durchgeführt werden. Bei der Erstellung der Konfigurationsdatei ist also der Mechanismus zum Ändern des Passworts für den Host-Account zu beachten. Eine detaillierte Anleitung finden Sie in unserer Entwickler-Dokumentation Dokumentation zur Passwort-Rotation (englisch).

Ein großer Vorteil der eben beschriebenen Methode ist, dass die Konfiguration auf allen Servern, die einen gleichen Dienst bereitstellen, zeitgleich ausgerollt werden kann.

Wir hoffen, dass wir Ihnen mit diesem Artikel einen guten Überblick über Konfigurationsmöglichkeiten in LDAP zur Anbindung von Nutzern geben konnten.

UCS Core Edition jetzt kostenfrei einsetzen!

Zum Downloadbereich

Timo Denissen beschäftigt sich seit 1997 mit Linux-basierten Themen. Er begann seine Ausbildung zum Fachinformatiker (Fachrichtung Systemintegration) in 2010 und ist seit 2013 Mitglied im Professional Services bei Univention.

Was ist Ihre Meinung? Hinterlassen Sie einen Kommentar!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.