Hallo Leute, ich versuche mich an der Konfiguration von Samba mit LDAP und SSL unter einer SuSE 8.1. Leider klappt das alles nicht so wie es soll :) Ich habe eine Anleitung aus der Linux Magazin 04/2002 im Netz gefunden und Schritt für Schriit befolgt. In der /etc/sysconfig/openldap habe ich die SSL option auf Yes gestellt und mit openssl req -new -x509 -nodes -days 365 -out /etc/openldap/server.pem -keyout /etc/openldap/server.pem der Zertifikate erstellt. Bei comman name habe ich den FQDN snoopy.intern.de eingetragen und in der ldap.conf uri ldaps://192.168.1.1:636 (habs auch schon mit uri ldaps://snoopy.intern.de versucht) Leider erhalte ich die Fehlermeldung bei ldapsearch -x: dap_bind: Can't contact LDAP server (81) additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed Was mache ich Falsch ???? Ich hab auch schon mit ldapsearch -H ldaps://192.168.1.1 -x -b "" base (oder snoopy.intern.de) versucht den DT zu durchsuchen - kein Erfolg SCHNIEF!!! Kennt jemand das Problem und eine Lösung oder Website mit einem HowTo für LDAP und SSL unter Linux ?? HILFE !!! Ohne die SSL Eintäge geht alles ! Grüsse und Danke Axel ------------------------------------------SLAPD.CONF------------------------------------------- # LDAP - SERVER # # include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/samba.schema pidfile /var/run/slapd.pid argsfile /var/run/slapd.args database ldbm schemacheck off suffix "dc=intern,dc=de" rootdn "cn=root,dc=intern,dc=de" rootpw {SSHA}JczQ4r9X5COCbUJV3oLcJyhZ7vP/+6vi directory /var/lib/ldap index objectClass eq index uidNumber eq index gidNumber eq index cn eq loglevel 0 TLSCertificateFile /etc/openldap/server.pem TLSCertificateKeyFile /etc/openldap/server.pem TLSCACertificateFile /etc/openldap/server.pem # Replica Server ####################################################### replogfile /var/run/slapd/openldap-slurp/slapd.replog # replica host=192.168.1.2:389 binddn="cn=root,dc=intern,dc=de" bindmethod=simple credentials=geheim access to attrs=userPassword,lmPassword,ntPassword by self write by * auth access to * by * read #access to * # by * write ------------------------------------------ldap.conf--------------------------------------------------------------- # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. BASE dc=intern, dc=de URI ldaps://192.168.1.1 #ssl on #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never
axel machens
Hallo Leute,
ich versuche mich an der Konfiguration von Samba mit LDAP und SSL unter einer SuSE 8.1. Leider klappt das alles nicht so wie es soll :) Ich habe eine Anleitung aus der Linux Magazin 04/2002 im Netz gefunden und Schritt für Schriit befolgt. In der /etc/sysconfig/openldap habe ich die SSL option auf Yes gestellt und mit openssl req -new -x509 -nodes -days 365 -out /etc/openldap/server.pem -keyout /etc/openldap/server.pem der Zertifikate erstellt. Bei comman name habe ich den FQDN snoopy.intern.de eingetragen und in der ldap.conf uri ldaps://192.168.1.1:636 (habs auch schon mit uri ldaps://snoopy.intern.de versucht)
Leider erhalte ich die Fehlermeldung bei ldapsearch -x:
dap_bind: Can't contact LDAP server (81) additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Was mache ich Falsch ????
bist Du sicher das Du den Artikel gelesen und verstanden hast ?. Ich habe es selbst nicht gelesen aber so wie Du es beschreibst steht da nur Schwachsinn. Als erstes erstelle Dir im /etc/openldap (da liegt es glaube ich bei SuSE) ein neues Verzeichnis z.B certs. Jetzt gehst Du in diese Verzeichnis und gibst folgende Befehle ein: ,---- | 1. openssl genrsa -des3 -out ca.key 2048 | 2. openssl req -new -x509 -days 365 -key ca.key -out ca.cert | 3. openssl genrsa -out ldap.key 1024 | 4. openssl req -new -key ldap.key -out ldap.csr | 5. openssl x509 -req -in ldap.csr -out ldap.cert -CA ca.cert -CAkey ca.key -CAcreateserial -days 365 `---- 1. Fragt nach einer Passphrase ab (muss eingegeben werden). Bei Common Name gibst Du z.B Dein Name 2. Fragt die eingegebene Passphrase ab 4. Fragt nach challenge Password (kein eingeben). Bei Common Name muss das eingegeben werden wie die Maschine per ldap angesprochen wird. Wenn also bei mir steht in ldap.conf "HOST a7ud0101.rjap.de" dann wird Common Name als a7ud0101.rjap.de eingegeben. Jetzt Kopierst Du die ca.cert nach /etc/ssl/certs. Alle Dateien bis auf die ldap.cert und ldap.key kannst Du löschen. Die ldap.key soll Perm. 600 haben. In die slapd.conf trägst Du: ,----[ slapd.conf ] | ########################################################### | # SSL | ########################################################### | TLSCipherSuite HIGH:MEDIUM:+SSLv2:RSA | TLSCertificateFile /etc/ldap/certs/ldap.cert | TLSCertificateKeyFile /etc/ldap/certs/ldap.key | TLSCACertificateFile /etc/ssl/certs/ca.cert `---- In die ldap.conf: ,----[ ldap.conf ] | BASE [Dein Base] | HOST [Das was als Common Name eingegeben] | | ssl start_tls | tls_checkpeer yes | tls_cacert /etc/ssl/certs/ca.cert `---- Fetich :) Pozdrawiam/Gruß/Regards Robert Rakowicz -- Robert Rakowicz E-Mail: b9001@rjap.de URL: www.rjap.de
Hallo,
axel machens
Hallo Leute,
ich versuche mich an der Konfiguration von Samba mit LDAP und SSL unter einer SuSE 8.1. Leider klappt das alles nicht so wie es soll :)
Das soll vorkommen :-) Ich weiß nicht, welche OpenLDAP Version SuSE mit 8.1 ausliefert, ich vermute aber mal, irgendeine Verion 2.0.x. Dann solltest du STARTTLS verwenden und nicht SSL.
Ich habe eine Anleitung aus der Linux Magazin 04/2002 im Netz gefunden und Schritt für Schriit befolgt. In der /etc/sysconfig/openldap habe ich die SSL option auf Yes gestellt und mit openssl req -new -x509 -nodes -days 365 -out /etc/openldap/server.pem -keyout /etc/openldap/server.pem der Zertifikate erstellt.
tut mir leid, aber den Quatsch mit sysconfig/openldap SSL yes verstehe ich nicht. Da muß schon mehr Information her. Was steht in /etc/openldap/slapd.conf zum Thema TLS Was steht in /etc/openldap/ldap.conf zum Thema TLS
Bei comman name habe ich den FQDN snoopy.intern.de eingetragen und in der ldap.conf uri ldaps://192.168.1.1:636 (habs auch schon mit uri ldaps://snoopy.intern.de versucht)
Was nutzt dir das veraltete SSL mit Port 636 wenn slapd auf Port 389 lauscht?
Leider erhalte ich die Fehlermeldung bei ldapsearch -x:
dap_bind: Can't contact LDAP server (81) additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Was mache ich Falsch ????
Falscher Port und Selfsigned Certificates werden nicht akzeptiert. Das war mal bei openldap-1.x noch möglich.
Ich hab auch schon mit ldapsearch -H ldaps://192.168.1.1 -x -b "" base (oder snoopy.intern.de) versucht den DT zu durchsuchen - kein Erfolg SCHNIEF!!!
Schniefen nutzt da nichts, sondern da hilft nur LESEN! http://www.openldap.org/doc/admin20/ wenn du openldap-2.0 hast; wenn du openldap-2.1 hast http://www.openldap.org/doc/admin21/
Kennt jemand das Problem und eine Lösung oder Website mit einem HowTo für LDAP und SSL unter Linux ??
Du möchtest doch auch noch Samba mittels TSL nutzen, dazu ist es nützlich, die Samba Version zu kennen, denn mit dem SuSe RPM 2.2.5 konnte ich keine TLS Verbindung zum Verzeichnisdienst herstellen, erst nachdem ich Samba selbst kompiliert hatte, funktionerte es. Zum Thema Zertifikate. Unter /usr/share/ssl/misc findest du zwei scripts, CA.pl und CA.sh ich würde dir empfehlen die Cerificates mit diesen scripts zu erstellen. 1. eine eigen Certificate Authority CA.pl -newca Bedenke, daß sowohl X.500 als auch LDAP von der selben Protokollfamilie abstammen, daher ist die Definition des Distinguished Names identisch, mit andern Worten, du solltest die gleichen Distinguished Names verwenden die du auch im Verzeichnisdienst nutzt. 2. ein Certificate für den Host erstellen CA.pl -newreq 3. das Hostzertifikat mit dem CA Key signieren CA.pl -signreq 4. prüfen ob auch alles richti ist. CA.pl -verify deincert.pem 5. das Hostzertifikat vom Paßwort befreien openssl rsa -in newreq.pem -out dein.ldaphostcert.pem 6. ein Certificate für jeden User erstellen CA.pl -newrq Hier den DN des Eintrages im Verzeichnisdienst verwenden. Die Usercertificate in das Homeverzeichnis der User kopieren, die Hostcertificates öffentlich zugänglich machen, z.B. in /etc/cert oder wo auch immer. Den CA Key sichern. In /etc/openldap/ldap.conf darf nun *nicht* localhost als als Adresse des Ldapservers stehen, sondern es muß der FQDN dort stehen, die selbe Adresse, die auch im Hostcertificate steht, sonst funktioniert nichts. Prüfen, ob auch alles richtig gemacht wurde, bei mir sieht das dan folgendermaßen aus dieter@marin:/usr/local/bin> ./ldapwhoami -Y EXTERNAL -ZZ SASL/EXTERNAL authentication started SASL username: CN=Dieter Kluenter,OU=partner,O=avci,C=de SASL SSF: 0 dn:cn=dieter kluenter,ou=partner,o=avci,c=de SASL username wird aus dem Certificate ausgelesen, die Zeile dn: cn=... ist mein Distighuished Name im Verzeichnisdienst. Das Certificate wird also erkannt und akzeptiert. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter@schevolution.com http://www.schevolution.com/tour
participants (3)
-
axel machens
-
Dieter Kluenter
-
Robert Rakowicz