pw0ned openLDAP


Es begab sich vor 3 Tagen, dass ich im LDAP Verzeichnis, das die USer Accounts für die Rechner, herumstöberte und feststellte das es eine uidNumber doppelt gab.
An sich noch keine Katastrophe, laufen tut es ja auch so, aber an sich wäre es schon praktisch ein paar Attribute einzigartig zu machen. Zu english “Unique”.

Google erklärte mir dann auch schnell, dass es ein tolles Modul gibt, dass sogar zum Standardlieferumfang von OpenLDAP gehört. Gemeint ist das Overlay Unique.

Also schnell

overlay unique
unique_uri ldap:///ou=subtree,dc=my,dc=domain?attribute1, attribute2?sub

in die config geschrieben, dazu noch ein paar Indizes für die Performance und los ging es.
Erster Test funktionierte nicht, wäre ja auch was neues wenn mal was auf Anhieb funktionieren würde. Es schlossen sich viele weitere Tests an. Viele weitere….

….es waren wirklich viele Stunden.

Naja jedenfalls ging und ging es nicht, auch die sporadischen Antworten in #openldap auf Freenode halfen nicht weiter. Deshalb habe ich mich am nächsten Tag ans debuggen gemacht. Mich erstaunte, das in den log files vermeke von unique waren, dass es gesucht hat aber keine Treffer fand. 0 results found… Also wurden weiter brav doppelte uidNumbers zugelassen.

Nun habe ich aber des Rätsels Lösung gefunden. unique_search funktionier nicht, wenn man kein rootdn in der slapd.conf eingetragen hat. Das tückische an der Sache ist, das openLDAP auch mit deaktiviertem rootdn läuft. An sich ist es sogar eine zusätzliche Sicherheit. Gleichzeitig ist aber nirgendwo in den man pages in der Dokumentation oder sonstwo vermerkt, dass ein rootdn nötig ist.

Seit dem wieder einkommentierens der rootdn funktioniert alles.

  1. Bisher keine Kommentare.
(wird nicht veröffentlicht)