Kürzlich habe ich von Ubuntu Server 8.04 auf 8.10 geupgradet, da mit 8.04 "angeblich" (wegen gnuTLS) kein TLS aufbaubar war (habe vieles versucht). Jetzt musste ich mich erstmal auf den neuen Style mit "slapd backend database" statt der slapd.conf Konfiguration einarbeiten und hänge an der TLS konfiguration. 🐸
Die aktuelle backend database Konfiguration sieht wie folgt aus ("meinedomain", ACL & Schema ändere ich noch):
ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W olcDatabase={1}hdb dn: olcDatabase={1}hdb,cn=config objectClass: olcDatabaseConfig objectClass: olcHdbConfig olcDatabase: {1}hdb olcDbDirectory: /var/lib/ldap olcSuffix: dc=meinedomain,dc=org olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=meinedomain,dc=org" write by anonymous auth by self write by * none olcAccess: {1}to dn.base="" by * read olcAccess: {2}to * by dn="cn=admin,dc=meinedomain,dc=org" write by * read olcLastMod: TRUE olcDbCheckpoint: 512 30 olcDbConfig: {0}set_cachesize 0 2097152 0 olcDbConfig: {1}set_lk_max_objects 1500 olcDbConfig: {2}set_lk_max_locks 1500 olcDbConfig: {3}set_lk_max_lockers 1500 olcDbIndex: objectClass eq
Für die TLS Konfiguration habe ich folgendes getan:
Benutzer openldap zur Gruppe ssl-cert aufnehmen, damit von /etc/ssl/private/ gelesen werden darf:
sudo adduser openldap ssl-cert
Besitzer & Schreib-/Lese-Rechte des Privaten Schlüssels anpassen:
sudo chgrp ssl-cert /etc/ssl/private/serverkey.pem sudo chmod 640 /etc/ssl/private/serverkey.pem
Eine Datei mit folgendem Inhalt anlegen...:
sudo vim ldif_datensaetze/TLSconfiguration.ldif
Mit dem Inhalt:
dn: olcDatabase={1}hdb,cn=config add: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem - add: olcTLSCertificateFile olcTLSCertificateFile: /etc/ssl/certs/servercert.pem - add: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/ssl/private/serverkey.pem
... und Änderung durchführen:
ldapmodify -v -D cn=admin,cn=config -W -H ldap://localhost -x -Z -f ~/TLSconfiguration.ldif
Der letzte Befehl (ldapmodify) bringt sodann folgende Fehlermeldung, die ich nicht deuten kann:
ldap_modify: Object class violation (65) additional info: attribute 'olcTLSCACertificateFile' not allowed
Hinweis: Wobei sich die Meldung anpasst wenn man olcTLSCACertificateFile weglässt, dann wird nämlich olcTLSCertificateFile stattdessen angeprangert.
Die Zertifikate und der Key existieren an den angegebenen Pfaden. Meine Vermutung ist, dass slapd nicht mit "support for Transport Layer Security" gebuildet wurde, was ziemlich unsinnig wäre... es sei denn, man wollte dem gnuTLS-Problem entgehen?! 😕
Wo hier mein Denkfehler liegt sehe ich nicht, vielleicht kann mir jemand helfen?