OpenLDAP Tutorial

Zum Ende der Metadaten springen
Go to start of metadata

Schon in einer kleineren Organisation hat man das Problem, dass bestimmte Informationen an verschiedenen Stellen erforderlich sind, aber nicht zentral abgespeichert werden. Man hat z.B. einen Email Server, der natürlich Benutzernamen, Passwort und den Email Account benötigt. Dann gibt es sicherlich ein Wiki oder ein CMS, das auch wieder den denselben Benutzernamen und dasselbe Passwort verwendet. Alle diese Programme speichern ihre Informationen in einem eigenen Format ab, somit ist es nicht möglich, z.B. das Passwort für alle Anwendungen auf einmal zu ändern.

Es ist daher sinnvoll, solche Daten in einem eigenen Verzeichnis abzulegen, auf die alle anderen Programme zugreifen. Das ist so praktisch, dass man sich nach einer Weile fragt, wie man eigentlich all die Jahre ohne LDAP ausgekommen ist. Die Konfiguration und Nutzung eines LDAP-Servers ist auch nicht weiter schwierig.

Das folgende Tutorial erläutert, wie man grundsätzlich einen LDAP-Server konfiguriert, wie man eine sinnvolle Struktur aufbaut, und wie man Client-Programme so konfiguriert, dass sie mit einem LDAP Server zusammenarbeiten.

Volle Größe
Ein Gliffy Diagramm namens: LDAP Datenstruktur
Fehlermeldung: Sie nutzen eine neue Version des Gliffy Confluence-Plug-Ins, obwohl Sie keine neue Lizenz gekauft haben. Um neue Diagramme zu erstellen, nutzen Sie entweder wieder eine ältere Version des Plug-Ins oder kaufen eine Upgrade-Lizenz.

LDAP Grundlagen

LDAP (Lightweight Directory Access Protocol) ist ein Protokoll, das sich unter anderem besonders gut für objektbezogene Informationen wie Personendaten (Benutzername, Passwort, Telefonnummern usw.) oder Systeminformatioen eignet.

Ein wesentlicher Unterschied zu herkömmlichen "flachen" Datenspeichern wie einer relationalen Datenbank ist die hierarchische Datenbankstruktur, die man sich als Baum mit einer Wurzel, Zweigen und Blättern vorstellen kann. Oft bildet man organisatorische oder geografische Strukturen direkt im Verzeichnisbaum ab. In nebenstehendem Diagramm ist ein solcher "Directory Information Tree (DIT)" abgebildet: das Root-Objekt ist ein Unternehmen, dann folgt eine Aufteilung nach Ländern und Zweigstellen, zuletzt ein Personenverzeichnis, in dem sich alle Mitarbeiter anfinden.

Durch diesen hierarchischen Aufbau ist es leicht möglich, z.B. lokale und globale Personenverzeichnisse im Client (Outlook, Thunderbird) darzustellen. Man würde die Suchabfrage einfach in der gewünschten Hierarchiestufe anstatt an der Wurzel beginnen lassen.

Weil es sich um ein standardisiertes Protokoll handelt, gibt es zahlreiche Produkte, die LDAP unterstützen.

Die wichtigsten LDAP Server: für Windows Microsoft Active Directory, für Linux [OpenLDAP].

LDAP wird auf der Client-Seite von so vielen Programmen unterstützt, dass man sie gar nicht alle aufzählen kann. Ich nutze LDAP für:

  • Adressbücher, z.B. Microsoft Outlook oder Mozilla Thunderbird. Auch mein snom [VoIP]-Telefon kann auf ein LDAP Adressbuch zugreifen.
  • Login Informationen: JIRA (ein Bug Tracker), Confluence (ein Wiki), Joomla (ein Content Management System), der Apache Webserver, Subversion, der Mailserver, greifen alle auf den zentralen LDAP Server zu, um die Login-Daten und die Passwörter zu verwalten

Das Tutorial gliedert sich in folgende Kapitel:

Erste Schritte mit OpenLDAP

Wie man eine sinnvolle Directory-Struktur aufbaut

Berechtigungen

Microsoft Outlook

Mozilla Thunderbird

 
Bookmarks

Ist die Seite nützlich? Dann bitte weiterempfehlen!

| | More
Seiteninhalt
Bereichsinhalt
Letzte Google Suche
   webdav ordner löschen http 3 mins ago
   iso unter mac brennen 4 mins ago
   windows 7 auf mac installieren anleitung 12 mins ago
   tastaturkürzel mac 13 mins ago
   dev überwachen 14 mins ago
   tastaturkürzel mac 15 mins ago
   schlaf nicht 16 mins ago
   citrix xenserver disk lvm 30 mins ago
   snow leopard dvd brennen 31 mins ago
   iso dvd brennen mac 38 mins ago
   ssl certificate ip selfsigned 38 mins ago
   iso dvd brennen mac 40 mins ago
   Strg + Shift + C mac tastatur 47 mins ago
   webdav verbinden 50 mins ago
   how to build confluence sitemap 52 mins ago

Stichwörter

ldap ldap Löschen
Geben Sie Stichwörter ein, die dieser Seite hinzugefügt werden sollen:
Please wait 
Sie suchen ein Stichwort? Beginnen Sie einfach zu schreiben.
  1. 09.Jun

    Anonym sagt:

    Wie ich sehe, gibt es tatsächlich Leute, die es geschafft haben [OpenLDAP ...

    Wie ich sehe, gibt es tatsächlich Leute, die es geschafft haben [OpenLDAP] an JIRA anzubinden...

    Vielleicht kann mir hier jemand weiterhelfen:
    Wir haben [OpenLDAP] (Version 2.x) und Atlassian JIRA (v4.1.1#522);
    Alle Vorkehrungen, wie unter http://confluence.atlassian.com/display/JIRA/Integrating+JIRA+with+LDAP beschrieben, sind gemacht (inkl. Log-Level auf DEBUG).
    Nun ist dem Log-File folgendes zu entnehmen:

    2010-06-07 11:15:03,437 http-80-1 DEBUG 127.0.0.1 /login.jsp [user.provider.ofbiz.OFBizCredentialsProvider] name = someone@domainname.com
    2010-06-07 11:15:03,437 http-80-1 DEBUG 127.0.0.1 /login.jsp [user.provider.ofbiz.OFBizCredentialsProvider] [OFBizCredentialsProvider].handles(someone@domainname.com)
    2010-06-07 11:15:03,437 http-80-1 DEBUG 127.0.0.1 /login.jsp [user.provider.ldap.LDAPCredentialsProvider] 'someone@domainname.com' could be handled by LDAP
    2010-06-07 11:15:03,484 http-80-1 DEBUG 127.0.0.1 /login.jsp [user.provider.ldap.LDAPCredentialsProvider] Doing initial search (connected as cn=admin,dc=domainname): base='ou=User,dc=domainname', filter='mail=someone@domainname.com'
    2010-06-07 11:15:03,484 http-80-1 DEBUG 127.0.0.1 /login.jsp [user.provider.ldap.LDAPCredentialsProvider] Found user(s)
    2010-06-07 11:15:03,500 http-80-1 DEBUG 127.0.0.1 /login.jsp [user.provider.ldap.LDAPCredentialsProvider] User with dn 'cn=Some One,ou=User,dc=domainname' found, but authentication failed.

    Zu erwähnen ist noch, dass die Passwörter als Base64-codierter Hexadezimal-Wert des MD5-Hashes ablegt werden.
    Um welchen Verschlüsslungstyp es sicher hier handelt und wie ich nun JIRA dazu bringe, den selben Typ bei der Authentifizierung anzuwenden, ist mir schleierhaft.

    Besten Dank schon im Voraus

    1. 11.Jun

      Arne Schirmacher sagt:

      es wundert mich, dass es da überhaupt Probleme gibt. Wenn man sich z.B. mit JXpl...

      es wundert mich, dass es da überhaupt Probleme gibt. Wenn man sich z.B. mit JXplorer anmelden kann, dann sollte es mit denselben Credentials auch mit JIRA gehen.

      Man sollte  zwei Sachen überprüfen: Erstens muss sich JIRA an sich am LDAP anmelden können (dies ist der securityPrincipal Eintrag). Dies scheint hier bereits zu funktionieren. Dann muss zweitens die User-Anmeldung funktionieren, das schlägt offensichtlich aus irgendeinem Grund fehl.

      1. 14.Jun

        Anonym sagt:

        Danke für die Bemühung... Wir fassen nun eine andere Variante ins Auge, da ich h...

        Danke für die Bemühung...
        Wir fassen nun eine andere Variante ins Auge, da ich hier keinen Lösungsansatz mehr sehe:

        Über PHP schreiben wir nun halt die Passwörter direkt in die [MySQL]-Datenbank, sodass sich die User dann trotzdem mit dem identischen Passwort anmelden können.
        Die Passwörter werden laut http://forums.atlassian.com/thread.jspa?messageID=257222876 mittels SHA-512 (als Base64) verschlüsselt.

        Wer's interessiert, nachfolgend der PHP-Code dazu:

        <?php
        $passwd = 'test';
        echo base64_encode( hash ( 'sha512' , $passwd, 1 ) );
        ?>

         Ein Nachteil dabei ist natürlich, dass die Passwörter irgendwo im Klartext vorhanden sein oder alle Benutzer ein neues Passwort lösen müssen.

Kommentar hinzufügen