Hallo Michael,
danke fuer den Tipp. Nachdem ich in der /etc/ldap.secret das Passwort fuer den Admin gesetzt und in der /etc/pam_ldap.conf noch den Eintrag rootbinddn cn=admin,dc=rbi,dc=informatik,dc=rwth-aachen,dc=de hinzugefuegt habe, verhaelt sich LDAP wie gewuenscht:
Laeuft ein Passwort ab, wird der User beim Einloggen gewarnt. Ist es abgelaufen, wird ein neues Passwort verlangt. Setze ich als root mit passwd das Passwort eines Users, muss ich nicht mehr das bisherige Passwort des Users eingeben. Es ist auch nicht mehr notwendig, dem User Schreibrechte auf shadowLastChange zu geben.
In der ldap.secret musste ich das Passwort fuer den admin in Klartext eintragen. Alle Versuche, dort ein mit slappasswd verschluesseltes Passwort einzutragen, sind bisher gescheitert. Die Datei ist aber nur fuer root lesbar, so dass ich erst einmal damit leben kann.
Nochmals Danke Willi
Hallo Willi,
das Problem mit dem unverschlüsselten admin Passwort hat mich auch gestört. Es darf aber nicht gehasht sein, da ja passwd dieses Passwort braucht um sich damit gegen den LDAP server zu authentifizieren.
Ea gibt aber eine Möglichkeit, das ganze ein "bisschen" sicherer zu machen.
Lege einen neues Admin Objekt an (ich verwende dafür simpleSecurityObject und organizationRole) und nenne ihn z.B.
cn=passadmin,dc=dc=demo,dc=de. Sein Password kannst du über das userPassword Attribut setzen.
Nun müssen noch die ACLs in slapd.conf geändert werden.
access to dn="cn=admin,dc=demo,dc=de" by dn="cn=admin,dc=demo,dc=de" by * none (oder auch read wenn du möchtest)
access to attribute=userPassword by dn="cn=admin,dc=demo,dc=de" write by dn="cn=passadmin,dc=demo,dc=de" write by anonymous auth by self write by * none
access to attribute=shadowLastChange by dn="cn=admin,dc=demo,dc=de" write by dn="cn=passadmin,dc=demo,dc=de" write by * read
# The admin dn has full write access access to * by dn="cn=admin,dc=demo,dc=de" write by * read
Ändere nun noch das rootbinddn in /etc/pam_ldap.conf auf
cn=passadmin,dc=dc=demo,dc=de ab.
Und trage in /etc/ldap.secret das Passwort von passadmin ein.
Gerät nun das Passwort in /etc/ldap.secret in falsche Hände kann derjenige höchstens die Passwörter der normalen User neu setzen (was zugebenermassen noch schlimm genug ist). Die erste Regel verhindert, dass der Angreifer das Passwort von admin neu setzt und er somit wieder vollen Zugriff auf das LDAP Verzeichnis hat.
Diese ganze Idee kam mir gerade eher spontan, so dass sie vielleicht/wahrscheinlich noch etwas Raum für Verbesserungen lässt.
Gruss, Michael -- ------------------------------------------------------------ E-Mail: [EMAIL PROTECTED] WWW: http://www.teco.edu/
TecO (Telecooperation Office) Vincenz-Priessnitz-Str.1 University of Karlsruhe 76131 Karlsruhe, Germany ------------------------------------------------------------
--
Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)