LDAP und Zertifikate
Hallo Leute Kennt jemand ein gutes (und wenn möglich deutsches) HOWTO für die Nutzung von TLS in OpenLDAP. Vor allem interessiert mich, wie ich einen zertifizierten Schlüssel für meine Maschine herstellen muss. Gruss Beda
Am Sonntag, 21. März 2004 16:54 schrieb Beda Szukics:
Hallo Leute
Kennt jemand ein gutes (und wenn möglich deutsches) HOWTO für die Nutzung von TLS in OpenLDAP. Vor allem interessiert mich, wie ich einen zertifizierten Schlüssel für meine Maschine herstellen muss.
http://www.openldap.org suche dort mal nach dem TLS/SSL Howto. Die Kurzfassung: benutze das CA.pl script von openssl,das befindet sich, glaube ich, unter /usr/share/openssl/misc 1. CA.pl -newca 2. CA.pl .newreq 3. CA.pl signreq 4. openssl rsa -in newreq.pem -out ldapkey.pem 5. mv newcert.pem ldapcert.pem CA.pl -verfiy ldapcert.pem Als Common Name (CN) in newreq mußt du den voll qualifizierten Hostnamen deines Ldap-Hosts angeben. Jetzt hast du drei Zertifikate, ein cacert.pem ein ldapcert.pem und ldapkey.pem. cacert.pem ist deine Certificate Authority, dieses Zertifikat mußt du auf jeden Host deines Systems kopieren und allen Clients in /etc/openldap/ldap.conf bekannt machen. -Dieter -- Dieter Klünter | Systemberatung Tel.: +49.40.64861967 Fax : +49.40.64891521 http://www.avci.de
Hallo Dieter Schon wieder ich :-))
Kennt jemand ein gutes (und wenn möglich deutsches) HOWTO für die Nutzung von TLS in OpenLDAP. Vor allem interessiert mich, wie ich einen zertifizierten Schlüssel für meine Maschine herstellen muss.
http://www.openldap.org suche dort mal nach dem TLS/SSL Howto. Die Kurzfassung: benutze das CA.pl script von openssl,das befindet sich, glaube ich, unter /usr/share/openssl/misc
Ich habe gestern mit Hilfe von http://www.openldap.org/faq/data/cache/185.html die drei Schlüssel erzeugt, die ich nach /etc/openldap kopiert haben und in sldap.conf eingetragen habe: TLSCACertificateFile /etc/openldap/cacert.pem TLSCertificateFile /etc/openldap/servercrt.pem TLSCertificateKeyFile /etc/openldap/serverkey.pem
1. CA.pl -newca Hab ich gemacht. Dann
openssl req -new -nodes -keyout newreq.pem -out newreq.pem Entspricht das deinem:
2. CA.pl .newreq
darauf CA.pl -sign was dem da gleicht:
3. CA.pl signreq
Schritt 4 ist in der obigen Anleitung ausgelassen:
4. openssl rsa -in newreq.pem -out ldapkey.pem
In der Anleitung sind die Namen anders:
5. mv newcert.pem ldapcert.pem
Hab ich nicht gemacht:
CA.pl -verfiy ldapcert.pem
Als Common Name (CN) in newreq mußt du den voll qualifizierten Hostnamen deines Ldap-Hosts angeben.
Bei Common Name habe ich immer schola.ksobwalden.ch angegeben.
Jetzt hast du drei Zertifikate, ein cacert.pem ein ldapcert.pem und ldapkey.pem. cacert.pem ist deine Certificate Authority, dieses Zertifikat mußt du auf jeden Host deines Systems kopieren und allen Clients in /etc/openldap/ldap.conf bekannt machen.
Hier liegen zwei ldap.conf: eines in /etc/openldap, das recht kurz ist und ein längeres in /etc. Du meinst schon das erste? Wie sag ich ihm, wo cacert.pem liegt? Ich lasse den LDAP-Server auf der gleichen Maschine laufen (schola.ksobwalden.ch), auf der auch Samba und die Benutzerverwaltung für Unix läuft. Ich brauche ihn nicht unbedingt, dachte mir aber, ich sei mit ihm für zukünftige Ausbauten besser gerüstet. Wenn ich jetzt mit der obigen Konfiguration mittels: ldapsearch -x -ZZ -v -d3 die Verbindung testen will, so erhalte ich (am Schluss): TLS certificate verification: depth: 0, err: 20, subject: /C=CH/ST=Switzerland/L=Sarnen/O=Kantonsschule/OU=Informatik/CN=schola.ksobwa lden.ch/emailAddress=beda@ksobwalden.ch, issuer: /C=CH/ST=Switzerland/L=Sarnen/O=Kantonsschule/OU=Informatik/CN=schola.ksobwa lden.ch/emailAddress=beda@ksobwalden.ch TLS certificate verification: Error, unable to get local issuer certificate tls_write: want=7, written=7 0000: 15 03 01 00 02 02 30 ......0 TLS trace: SSL3 alert write:fatal:unknown CA TLS trace: SSL_connect:error in SSLv3 read server certificate B TLS trace: SSL_connect:error in SSLv3 read server certificate B TLS: can't connect. ldap_perror ldap_start_tls: Connect error (91) additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed Was bedeutet das? Kann es etwas damit zu tun haben, dass ich als erstes Element in LDAP nur ksobwalden.ch (die Domäne) eingegeben habe und nicht schola.ksobwalden.ch (den Rechner). dn: dc=ksobwalden,dc=ch objectClass: dcObject objectClass: organization o: KSOW dc: ksobwalden description: Kantonsschule Obwalden structuralObjectClass: organization entryUUID: 02a2908e-06fe-1028-91d2-dab7bb287ad6 creatorsName: cn=Manager,dc=ksobwalden,dc=ch createTimestamp: 20040310164457Z entryCSN: 2004031016:44:57Z#0x0001#0#0000 modifiersName: cn=Manager,dc=ksobwalden,dc=ch modifyTimestamp: 20040310164457Z Gruss und Dank Beda
Hallo Dieter
Kennt jemand ein gutes (und wenn möglich deutsches) HOWTO für die Nutzung von TLS in OpenLDAP. Vor allem interessiert mich, wie ich einen zertifizierten Schlüssel für meine Maschine herstellen muss.
http://www.openldap.org suche dort mal nach dem TLS/SSL Howto. Die Kurzfassung: benutze das CA.pl script von openssl,das befindet sich, glaube ich, unter /usr/share/openssl/misc
1. CA.pl -newca 2. CA.pl .newreq 3. CA.pl signreq 4. openssl rsa -in newreq.pem -out ldapkey.pem 5. mv newcert.pem ldapcert.pem CA.pl -verfiy ldapcert.pem
Als Common Name (CN) in newreq mußt du den voll qualifizierten Hostnamen deines Ldap-Hosts angeben.
Jetzt hast du drei Zertifikate, ein cacert.pem ein ldapcert.pem und ldapkey.pem. cacert.pem ist deine Certificate Authority, dieses Zertifikat mußt du auf jeden Host deines Systems kopieren und allen Clients in /etc/openldap/ldap.conf bekannt machen.
Ich habe heute abend Deine Kurzanleitung befolgt und es klappt besser als auch schon. :-) Ich habe die drei Zertifikate erzeugt, sie nach /etc/openldap/ kopiert, sie in ldap.conf (mit absolutem Pfadnamen) eingetragen und in /etc/openldap/ldap.conf "TLS_CACERT /etc/openldap/cacert.pem" eingetragen. Jetzt gibt ein Test mit ldapsearch -x -ZZ -v -d3 keine Fehlermeldung mehr, sondern liefert viele Zeilen von Meldungen, die mit "TLS trace: SSL3 alert write:warning:close notify" enden. Für mich ein gutes Zeichen. Leider hat sich in YAST2 noch nichts geändert. Da erscheint, wenn ich beim Einrichten von Samba die Verbindung zum LDAP-Server testen will, immer noch die Meldung, es sei kein SSL-fähiger LDAP-Server eingerichtet. Das verunsichert mich jetzt wieder. Gruss Beda
participants (2)
-
Beda Szukics
-
Dieter Kluenter