OpenLDAP ist eine Implementierung von LDAP als FreieSoftware.

Homepage: http://www.openldap.org/

English: http://linuxwiki.riverworth.com/index.php/LDAP_Authentication

Lizenz: OpenLDAP Public License (BSD Style, GPL-kompatibel)

Mini-HowTo

Einrichtung eines LDAP-Servers zur Benutzerauthentifizierung mit OpenLDAP

Viele Server können einen LDAP-Server zur Benutzerauthentifizierung nutzen, so z.B. PAM, PureFtpd, Courier, Apache und viele andere. Soll OpenLDAP in einem Netzwerk zur Authentifizierung verwendet werden ist die Verwendung von SSL stark anzuraten denn sonst wird LDAP zu einem passwort-verteil System.

Zuerst einmal sollte man sich die OpenLDAP-Pakete seiner Distribution installieren und auf besondere Hinweise für diese achten die von dieser Beschreibung abweichen!

Dann kann man die Konfigurationsdatei slapd.conf des Servers editieren. Wenn man Programme installiert hat, die zusätzliche LDAP-Schemata benötigen, muss man diese per include einfügen, z.B.

include         /etc/openldap/schema/pureftpd.schema
include         /etc/openldap/schema/courier.schema

Diese sollten nach den normalen Schema stehen.

include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema

Als nächstes werden ACLs definiert, die den Zugriff auf die DNs regeln, z.B.

access to * attr=userPassword
        by self write
        by anonymous auth
access to *
        by * read

Die ACLs werden der Reihe nach abgearbeitet und nur die erste Übereinstimmung wird genommen. Im Beispiel kann ein beliebiger User das Passwort also nicht lesen. Zu beachten ist, dass der als rootdn definierte DN immer Schreiberlaubnis hat.

Nach diesen globalen Einstellungen folgt die Definition einer (oder mehrerer) Datenbanken.

database        ldbm
suffix          "dc=vlugnet,dc=org"
rootdn          "cn=Manager,dc=vlugnet,dc=org"

oder

suffix         "o=Vaihingen/Enz Linux User Group,c=DE"
rootdn         "cn=Manager,o=Vaihingen/Enz Linux User Group,c=DE"

suffix legt dabei den Basis-DN fest. Die DNs können dabei entweder der traditionellen Namensgebung (Land, Organisation, Abteilung, Person) folgen oder an Hand der Internet-Domänen-Namen festgelegt werden (so wie im oberen Beispiel).

Wenn man kein SASL nutzt (was bei rein lokalen Installationen ok ist und alles vereinfacht), dann muss man noch ein Passwort für den rootdn festlegen.

rootpw         {MD5}CY9rzUYh03PK3k6DJie09g==

Ein so verschlüsseltes Passwort kann man z.B. mit slappasswd -h{md5} erzeugen.

Nun muss man noch den Pfad zur Datenbank angeben. In diesem Verzeichnis legt LDAP seine Datenfiles ab.

directory       /var/lib/ldap

und die zu erzeugenden Indizes:

index   objectClass,uid,uidNumber,gidNumber,memberUid   eq
index   cn,mail,surname,givenname                       eq,subinitial

Danach kann man den Server schonmal starten. Dabei sollte man den Parameter -h ldap://127.0.0.1 angeben, damit der Server nur lokal erreichbar ist.

Tipps+Tricks

!OpenLDAP in Verbindung mit BerkeleyDB 4.1 hat einen zu kleinen Cache. Zum vergrössern schreibt man in location/DB_CONFIG set_cachesize 0 <bytes> 0 und lässt db4.1_recover laufen.

Potentielle Falle beim Konfigurieren von des clients: Es darf in /etc/ldap/ldap.conf im Gegensatz zu vielen anderen config files kein = Zeichen verwenden. Beispiel:

BASE dc=example,dc=com
URI ldaps://example.com
TLS_CACERT /etc/ssl/certs/example_cacert.pem

Bei SSL ist es notwendig das CAcert anzugeben!

Möchte man die Benutzer Passwörter als SSHA (das derzeit sicherste Verfahren das in OpenLDAP implementiert ist) speichern, muss man in /etc/ldap/slapd.conf sie richtige Methode einstellen: password-hash {SSHA}  und in pam_ldap.conf pam_password auf exop setzen.

Fragen

Allgemeine Fragen zu LDAP siehe LDAP.

Also so richtig übersichtlich finde ich obiges Mini-HOWTO nicht. :( Das mag daran liegen, das ich eigentlich gar keine Ahnung von LDAP habe. Aber genau das will ich ja ändern... Also ein paar Fragen:

OffeneFrage: Wie richte ich OpenLDAP ein?

Links

Allgemeines

Spezielles

E-Mail && LDAP

Anmerkung: Kmail/Kaddressbook und Evolution sind die einzigen Clients die auch schreiben auf ldap-Adressbücher zugreifen können.

Englische Informationen

Bücher

Administrationswerkzeuge

Webbasierte AW.


OpenLDAP (zuletzt geändert am 2009-11-03 08:16:29 durch BAHb369)