lug-in.de
Linux User Group Ingolstadt e.V.
Startseite
Der Verein
Technikecke
Mailingliste
Kalender
Impressum

Login

Ubuntu Version

So jetzt wirds hässlich.

Bis jetzt haben wir uns nur lokal am Server authentifiziert. Spätestens wenn sich jedoch die Clients auf dem OpenLDAP Server einloggen wollen, brauchen wir einen vernünftigen Authentifizierungsmechanismus.

Beispiel:

Wir haben eine zentrale Benutzerauthentifizierung mit OpenLDAP. Jeder Benutzer der sich einloggen will muss sich am OenLDAP-Server authentifizieren. Die Methode die hier verwendet werden kann, ist kann unterschiedlich sein.

Dafür sieht die Ubuntu-Version von OpenLDAP in der Standard Installation SASL vor.

Ein gutes Beispiel dafür sind die LDAP-Client-Tools.

Siehe Wiki:

Die von OpenLDAP bereitgestellten LDAP-Client-Tools wie ldapsearch und ldapmodify versuchen standardmäßig, die Benutzer am LDAP-Verzeichnis-Server über Simple Authentication and Security Layer (SASL) mit DIGEST-MD5-Mechanismus zu authentifizieren.

Nun ist bei Ubuntu 10.04 glückerlicherweise die Authentifikation schon von Haus aus auf DIGEST-MD5 eingestellt.

Der OpenLDAP-Server authentifiziert direkt ohne Dämon (salsauthd) die entsprechenden Anfragen der Tools.

Allerdings funktioniert das in der gegenwärtigen Konfiguration noch nicht. Damit es klappt müssen nur zwei Voraussetzungen erfüllt sein:

Zum einen muss eine Datei sasl-digestmd5.ldif im Verzeichnis /etc/ldap mit nachfolgendem Inhalt erstellt werden. sasl-digestmd5.ldif

Und dann einspielen mit:

ldapadd -x -D cn=admin,cn=config -W -f /etc/ldap/sasl-digestmd5.ldif

Zweite Voraussetzung ist das die Passwörter in LDAP im Format PLAIN vorliegen.Diese liegen bis jetzt ja als MD5-Hashes vor. Dazu muss das Passwort neu gesetzt werden. Dies kann jeder z.B jeder Benutzer (z. B. carmen) selber durchführen:

ldappasswd -x -D uid=carmen,ou=Users,dc=meinedomain,dc=local -W -s MeinPasswort uid=carmen,ou=Users,dc=meinedomain,dc=local

Zum Verständnis:

Das Kommando ldapasswd benutzt folgende Optionen:

Optionen

Wirkung

-x

Use simple authentication instead of SASL

-D binddn

Use the Distinguished Name binddn to bind to the LDAP directory. For SASL binds, the server is expected to ignore this value.

-W

Prompt for bind password. This is used instead of specifying the password on the command line.

-s newPasswd

Set the new password to newPasswd.

-U authcid

Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.

oder der Administrator setzt es neu:

sudo ldappasswd -x -D cn=admin,dc=meinedomain,dc=local -W -s NeuesPasswort uid=carmen,ou=Users,dc=meinedomain,dc=local

Allerdings bin ich nicht sicher, ob das Neusetzen des Passwortes auch automatische dafür sorgt das der Eintrag im LDAP in der Form PLAIN vorliegt.

Um sicher zu gehen, kann man sich das ganze auch im LDAP-Manager ansehen. Der wird gleich im nächsten Kapitel behandelt.

Siehe: http://www.openldap.org/doc/admin24/security.html#Authentication%20Methods

und: http://www.openldap.org/doc/admin24/sasl.html

(V 1.02)