Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Grundlagen LDAP

Bei einem LDAP handelt es sich um einen Verzeichnisdienst, d.h. eine spezielle Art einer hierarchischen Datenbank. Blätter sind einzelne Resourcen, die verwaltet werden sollen, wie z.B. Benutzer. Andere Knoten gruppieren diese Resourcen in verschiedene Kategorien (ähnlich wie Ordner in einem Dateisystem, allerdings können im LDAP auch diese Knoten weitergehende Informationen (z.B. Attribute) beinhalten). Es gibt Knoten (also auch Blätter), die einen 'Link' auf andere Knoten ermöglichen. Die LDAP Bezeichnung hierfür ist 'Referrals'. Mittels Referrals ist es möglich, innerhalb eines LDAP mehrere unabhängige Resourcenhierarchien zu verwalten (obwohl die Knoten im LDAP logisch nur einen Baum bilden). So ist es z.B. möglich, die User nach Standorten zu strukturieren und gleichzeitig nach Funktion im Unternehmen.

Ein LDAP stellte eine standardisierte API für die zentrale Verwaltung von IT Resourcen bereit. Diese Verwaltung um fasst (auch) Autorisierung, Authentifizierung und Synchronisation. Microsofts Active Directory (oft AD abgekürzt) umfasst einen LDAP. Sollten Sie daher bereits AD zum Verwalten ihrer Benutzer verwenden, dann haben Sie bereits einen LDAP im Einsatz!

Über sogenannte LDAP Schemata sind die Attributsname der Resourcen (und die Art deren Werte und die Knotennamen und ...) ebenfalls standardisiert. Durch diese Standarisierung ist es oft einfach, weitere Softwaresysteme so zu konfigurieren, dass diese die Informationen aus dem LDAP verwenden.

Auch wenn innerhalb eines LDAPs vieles standardisiert ist, ist die Verzeichnisstruktur als ganzes frei wählbar. Dies ermöglicht einen sehr flexiblen Einsatz des LDAPs für ganz unterschiedliche Resourcen.

LDAP Abfragen

Als Verzeichnisdienst ermöglicht ein LDAP Abfragen nach Resourcen mittels einer speziellen Abfragesprache. Beispielsweise liefert folgende Abfrage alle User:

(|(objectClass=inetOrgPerson)(objectClass=user))

Die Abfragesprache ist ebenfalls standardisiert. Weitere Informationen zur Abfragesprache finden sich u.a. unter folgenden Links:

LDAP Explorer

Da die Verzeichnisstruktur frei wählbar ist, ist es für die Anbindung an einen LDAP oft sehr hilfreich, sich einen Überblick für die Baumstruktur des konkreten LDAPs zu verschaffen. Hierzu stehen diverse GUI Tools zu Verfügung. Diese Tools ermöglichen meist auch das Arbeiten mit LDAP Abfragen (s.o.).

Nuclos und LDAP

Nuclos kann einen LDAP z.Z. für eine (einfache) Synchronisation (LDAP -> Nuclos) und die Authentifizierung verwenden. Eine Verwendung des LDAP zur Autorisierung ist z.Z. nicht implementiert.

Nuclos und LDAP Synchronisation

Ist ein LDAP in Nuclos konfiguriert (s.u.), so enthält die Benutzer Detail Ansicht oben ein zusätzliches Icon 'Synchronisation'. Wird dieses Icon angeklickt, dann werden die LDAP Attribute gemäß der Konfiguration in den in Nuclos hinterlegten Benutzer übernommen.

Die Synchronisation umfasst z.Z. (höchstens) die Felder Vorname, Nachname und E-Mail-Adresse. Diese Felder können aus beliebigen LDAP Attributen übernommen werden.

Eine Synchronisation aller im LDAP hinterlegten Benutzer ist z.Z. nicht implementiert. Die einzelnen Benutzer müssen zunächst in Nuclos manuell angelegt werden!

In neueren Versionen von Nuclos (3.15.x, 4.x) funktioniert die LDAP Synchronization nicht. Details in  NUCLOS-3239 - Abrufen der Vorgangsdetails... STATUS .

Anlegen der Benutzer

Die Synchronisation legt z.Z. keine Nutzer an (und löscht auch keine Nutzer)! Die Nutzer müssen manuell angelegt werden - sie müssen den gleichen (Benutzer-)Namen bekommen wie die entsprechenden Nutzer im LDAP. Das Passwort kann beliebig gewählt werden. Wenn eine LDAP Konfiguration aktiv ist, werden die in Nuclos hinterlegten Passwörter (für 'normale' User) nicht verwendet, sondern es wird gegen den LDAP authentifiziert.

Nutzer, die nicht im LDAP zu finden sind, können sich bei aktivierter LDAP Konfiguration nicht in Nuclos einloggen (Ausnahme: Superuser).

Manuelles Anlegen eines Nutzer reicht allein nicht, damit sich der Nutzer in Nuclos einloggen kann. Der Nutzer muss zudem einer Benutzergruppe zugewiesen werden, die (mindestens) das Systemrecht 'Nuclos starten' hat.

Nuclos und LDAP Authentifizierung

Nutzer, deren Benutzername über den konfigurierten Authentifizierungsfilter im LDAP gefunden werden, werden gegen den LDAP authentifiziert, d.h. das in Nuclos hinterlegte Passwort wird nicht verwendet. Statt dessen wird geprüft, ob das gegebene Passwort mit dem im LDAP hinterlegten übereinstimmt.

Nutzer, die nicht über den konfigurierten Authentifizierungsfilter im LDAP gefunden werden und die kein Superuser sind, können sich nicht in Nuclos einloggen, wenn eine LDAP Konfiguration aktiviert ist.

Für Benutzer, die als Superuser in Nuclos hinterlegt sind, wird nach der Authentifizierung gegen den LDAP noch eine Authentifizierung gegen das in Nuclos hinterlegte Passwort versucht.

Dies verhindert, dass sich Superuser nicht einloggen können, falls der LDAP nicht verfügbar bzw. falsch konfiguriert ist.

Test Authentifizierung

Die LDAP Konfigurationsseite enthält oben einen Button Authentisierung testen. Hier kann dann ein User/Passwort Kombination gegen den LDAP getestet werden.

Nuclos und LDAP Autorisierung

LDAP Autorisierung ist z.Z. nicht implementiert. Die Rechte der einzelnen Benutzer müssen innerhalb von Nuclos (z.B. mittels der Benutzergruppen) gepflegt werden.

Menüpunkt LDAP Konfiguration

 

Füllen Sie die benötigten Felder mit Ihren spezifischen Daten aus.

Beispiel für die Anbindung an ein Active Directory

 

Bei der Suche nach der passenden Base DN oder der Manager DN kann das Tool AD Explorer von Microsoft eine gute Hilfestellung leisten.


Ldapconfig.jpg 


NameBeschreibungWert
NameName der LDAP AnbindungBeispiel:yourdc
URLLDAP Verbindungsstring mit IP-Adresse und Portldap://192.168.1.1:389
Base DNBasis DN in der die Benutzerdaten liegenDC=yourdomain,DC=de
Search ScopeSuchtiefe im LDAP VerzeichnisSUBTREE
Manager DN

Benutzer der für den Zugriff auf das LDAP Verzeichnis benötigt wird. Legen Sie hierzu am besten einen eigenen Benutzer an.

Der Benutzer kann in 2 verschiedenen Formaten angegeben werden.

  1. domain\user
  2. DN des Users
  1. yourdomain\manager
  2. CN=manager,OU=Users,DC=yourdomain,DC=de
Manager PasswortPasswort des Manager BenutzersPasswort
Filter (Authentifizierung)Filter für Eingrenzung der Authentifizierung(sAMAccountName={0})
Alternativer-
Filter (Authentifizierung)

Filter für Eingrenzung der Authentifizierung auf eine Gruppe.
Bedeutet Nur Benutzer einer bestimmten AD-Gruppen können sich anmelden.

(&(objectClass=user)(sAMAccountName={0}) (memberof=CN=Gruppenname,OU=Users,DC=yourdomain,DC=de))
Filter (Synchronisation)Filter für Eingrenzung der Synchronisierung(objectClass=user)

Die Zuordnung der Attribute ist zwingend notwendig

Nuclos AttributBeschreibungLDAP Attribut
nameBenutzernamesAMAcountName
firstnameVornamegivenName
lastnameNachnamesn
emailE-Mail Adressemail

5 Kommentare

  1. Franz Holzer sagt:

    Der Alternativer Filter für die Authentifizierung (Gruppe) funktioniert aus dem LDAP Konfigurator heraus tadellos. (Authentisierung testen) ((PS meintet ihr nicht Authentifizierung testen ?? (Lächeln) ))

    Jedoch funktioniert es bei der Anmeldung nicht bzw er akzeptiert auch das Passwort das davor für den Nuclos User lokal (am Nuclos system) hinterlegt wurde und umgeht sogesehen die Überprüfung.
    Eventuell hängt dies aber auch mit NUCLOS-3239 - Abrufen der Vorgangsdetails... STATUS  zusammen. bekomme nur UIDs angezeigt - und das auch nur wen ich keinen Filter für die Synchronisation vergebe.
    Sprich ich konnte keinen der User (auch keine neuen) syncronisieren.

    Ansonsten bekommen ich eine Null Pointer Exception. 

  2. Thomas Pasch sagt:

    Hallo, wundert mich beides nicht und ist im Wiki auch dokumentiert. (a) Synchronizierung funktioniert nicht. (b) Für Superuser wird AUCH lokal geschaut, falls die LDAP Authentifizierung fehl schlägt. Das soll verhindern, dass man sich bei Fehlkonfiguration des LDAP vollständig aussperrt.

  3. Franz Holzer sagt:

    der Alternative Filter hat nichts mit deinem (b) zu tun.
    der User ist kein Super User. 

  4. 21.02.2018 mit Version: 4.23.0 OK

    "Authentifizierung testen" hat funktioniert. Anmeldung mit AD-Konto an Nuclos hat funktioniert.

    Wichtig ist hierbei (vermutlich) die Übereinstimmung von Nuclos Benutzer-ID mit dem Active-Directory Attribut: sAMAcountName.

    Nach einem Reboot erscheint in Nuclos beim Benutzerkonto das neue Icon für: "Mit LDAP synchronisieren", wobei ich keine Auswirkung erkennen konnte, wenn ich die Funktion ausgelöst habe.

  5. Bei einer Anbindung über LDAPS muss beachtet werden, dass das Zertifikat des Domain Controllers im Standard JAVA Zertifikatsspeicher (Unter Linux unter "jre/lib/security/cacerts") der von Nuclos genutzten JAVA Umgebung hinterlegt sein muss (hilfreich ist hier der Keystore Explorer).

    Die URL des Server müsste im Beispiel dann ldaps://192.168.1.1:636 lauten.