In diesem Blogartikel möchte ich Ihnen zeigen, wie das von UCS bereitgestellte LDAP erweitert werden kann und wie es mit anderen Diensten zusammenarbeitet.

Als erstes werde ich auf die typischen Konfigurationsoptionen von LDAP eingehen und zeigen, welche weiteren Informationen für eine erfolgreiche Benutzerauthentifizierung unter dem UCS LDAP benötigt werden. Wie sich das genaue Vorgehen gestaltet, werde ich an Hand der Projektmanagement Software Redmine erklären. Redmine ist eine Open Source Software, die plattformunabhängiges und webbasiertes Projektmanagement ermöglicht. Sie eignet sich besonders gut als Beispiel, da alle für die Konfigurationen typischen Informationen abgefragt werden.

Im zweiten Abschnitt werde ich auf nicht anonym durchsuchbare LDAPs und auf ihre Nutzungsmöglichkeiten eingehen .

Wenn Sie sich noch nicht so gut mit der Thematik LDAP auskennen, finden Sie im Artikel Kurz erklärt: Was steckt hinter den Begriffen LDAP / OpenLDAP? grundlegende Informationen.

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. Der LDAP-Server gibt entweder die IP-Adresse oder den FQDN (Fully Qualified Domain Name), auch als Hostname bezeichnet, des anzufragenden Servers an.

Beispiel: ucs-master.example.com

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


Logo UCS (Univention Corporate Server)

UCS jetzt herunterladen

UCS steht Ihnen als ISO-Image oder als vorinstalliertes VMware-, VirtualBox-, Hyper-V- und KVM-Image zum Download zur Verfügung.

Zum Download


LDAP-Port

Der UCS LDAP-Dienst ist über die Ports 7389 (ungesichert) und 7636 (TLS-gesichert) erreichbar. Der LDAP-Dienst hat unter UCS zwei fest zugewiesene Ports.

  • Port 7389 (ungesichert)

  • Port 7636 (TLS-gesichert)

Wenn Samba auf dem Server installiert und als AD kompatibler Domänencontroller konfiguriert ist, sind die Ports 389 (ungesichert) und 636 (TLS-gesichert) für Samba reserviert und können nicht mehr für die OpenLDAP-Kommunikation genutzt werden.Soll Ihr LDAP aber im Austausch mit dem Microsoft Active Directory stehen, so ist die Verwendung von Samba notwendig. Ist Samba auf dem Server installiert und als AD kompatibler Domänencontroller konfiguriert, so werden die Ports:

  • 389 (ungesichert)

  • 636 (TSL-gesichert)

für Samba reserviert und stehen für die OpenLDAP-Kommunikaiton nicht mehr zur Verfügung. Benötigen spezielle Tools Daten aus einem MS AD, müssen sie immer gegen den von Samba bereitgestellten Verzeichnisdienst konfiguriert werden. Kommunizieren Tools rein über OpenLDAP, sollte den Ports eine „7“ vorangestellt werden.

  • Beispiel: 7389

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

LDAP-Suchfilter

Durch die Nutzung des LDAP-Suchfilters kann die Anzahl der Ergebnisse bereits vor der Ausgabe reduziert werden und Suchzeit eingespart werden, indem z.B. nur Benutzerkonten oder Windows-Clients angefragt werden.

  • Beispiel: (&(objectClass=person)(mailPrimaryAddress=*) (es wird nach Objekten gesucht, die für eine Person stehen 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. Um die LDAP-Abfrage durchzuführen, muss der Searchuser nun auch sein Passwort angeben. Hierbei handelt es sich um das unverschlüsselte und ungehashte Passwort im Klartext. Ü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, Bind-PWD 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. Pflegt ein Dienst eine eigne Benutzerdatenbank, über die auch Benutzer direkt erstellt werden können, so kann LDAP auch zur Nutzerauthentifizierung genutzt werden; dies geschieht auch bei unserer Beispielsoftware Redmine. Da der Dienst seinerseits Pflichtfelder für Benutzerkonten hat, wie z.B. den Benutzername, 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, Benutzer automatisch erstellen oder Benutzer erstellen, wenn noch nicht vorhanden.

Screenshot Redmine LDAP

Attribute

Einige Dienste, wie auch Redmine, pflegen eine eigene Benutzerdatenbank und benutzen das LDAP nur zur Benutzerauthentifizierung. Besitzt ein Dienst wie Redmine seine eigene Benutzerdatenbank, können LDAP-Attribute mit einem Feld direkt im Dienst verknüpft werden. 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)

LDAP Attribute

 

Arten von Suchbenutzern

Kann in einem LDAP keine anonyme Suche durchgeführt werden, so muss bei jeder Suche ein Benutzerkonto angegeben werden. Diese Suche kann mit einem im LDAP angelegten Benutzer durchgeführt werden oder mit dem Host-Account eines Systems, auf den ein Dienst installiert wird. Dies betrifft alle Dienste, die einer UCS-Domäne beigetreten sind.

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. Dies ist bei unserem Beispiel Redmine auch der Fall.
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 unserer Knowledge Base im Bereich Cool Solutions 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 Passwort des Host-Accounts des Servers ändert, können keine LDAP-Suchen mit einem konfiguriertem Dienst mehr durchgeführt werden. Beim Durchsuchen eines LDAP-Verzeichnisses durch den Host-Account muss man bedenken, dass dieser den regelmäßigen und automatischen Passwortänderungen des Servers unterliegt. Wird das Passwort geändert, so muss eine Mechanismus implementiert werden, der die Suchabfragen im LDAP trotz der regelmäßigen Passwortänderungen weiter ermöglicht. Wie Sie dies bei der Erstellung einer Konfigurationsdatei berücksichtigen, haben wir für Sie in der UCS Dokumentation hinterlegt.

Ein großer Vorteil der eben beschriebenen Methode ist, dass die Konfiguration auf allen Servern, die einen gleichen Dienst bereitstellen, zeitgleich ausgerollt werden können. Der große Vorteil dieser Methode ist die hohe Skalierbarkeit. Wird der gleiche Dienst durch mehre Server bereit gestellt, so können Änderungen zeitgleich ausgerollt werden und nicht jeder Server muss extra separat konfiguriert werden.

Ich hoffe, ich konnte Ihnen mit diesem Artikel einige nützliche Hilfestellungen bei der Konfiguration Ihres LDAP-Verzeichnisses in UCS liefern. Gerne können Sie über die Kommentarfunktion unten Fragen stellen oder Ihre eigenen Erfahrungen teilen.

 

 

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.