openLDAP ssl/tls Centos 6.3
Pavel Lisy
pavel.lisy na tmapy.cz
Pondělí Březen 10 15:03:06 CET 2014
Kateřina Bubeníčková píše v Po 10. 03. 2014 v 11:55 +0100:
> DD,
> snažím se rozběhnout $subj, vyzkoušela jsem už asi 6 návodů, stále to
> nejede a mám nějaké nejasnosti...
>
> # ldapsearch -x -ZZ -d3 -b 'dc=mydomain,dc=cz' -H ldaps://localhost
> ...
> tls_read: want=5, got=0
>
> TLS: error: tlsm_PR_Recv returned 0 - error 21:Is a directory
> TLS: error: connect - force handshake failure: errno 21 - moznss error -5938
> TLS: can't connect: TLS error -5938:Encountered end of file.
> ldap_err2string
> ldap_start_tls: Can't contact LDAP server (-1)
> additional info: TLS error -5938:Encountered end of file
> ------
>
> Z toho jsem pochopila, že potřebuju certifikáty moznss.
>
> 1. postup
> podle
> http://linuxserverathome.com/articles/installing-and-configuring-openldap-2423-centos-63
>
> Protože už se snažím nějakou dobu, vygenerovala jsem db znovu pomocí
>
> #/usr/libexec/openldap/create-certdb.sh
> [root na test-LDAP certs]# certutil -d ./ -L
>
> Certificate Nickname Trust
> Attributes
>
> SSL,S/MIME,JAR/XPI
>
> OpenLDAP Server CTu,u,u
> ----------------------------
>
> /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
> olcTLSCACertificatePath: /etc/pki/tls/certs
> olcTLSCertificateKeyFile: "OpenLDAP Server"
> olcTLSCertificateFile: /etc/openldap/certs/password
> --------
> nebo
> [root na test-LDAP certs.bk]# certutil -d /etc/openldap/certs.bk/ -L
>
> Certificate Nickname Trust
> Attributes
>
> SSL,S/MIME,JAR/XPI
> CA certificate CTu,u,u
> OpenLDAP Server u,u,u
> -------
> a ještě mám jednu další variantu, a nic z toho
> nefunguje. Ale nevím, co znamená CTU,u,u, a jestli ta databáze obsahuje
> všechno, co má.
Nevím, zda OpenLDAP použije tento typ úložiště / tento formát
certifikátů, já ve verzi 2.4 používám jiné.
> Zkusila bych třeba http://www.bradchen.com/blog/2012/08/openldap-tls-issue,
> ale zase u prvního příkazu nevím, co to mám napsat jako "My Issuer",
> jestli je to někde důležité.
>
>
>
> 2.postup:
> Podle
> http://unixadminschool.com/blog/2013/04/rhel-6-3-ldap-series-part-4-troubleshooting/#
> bych měla vygenerovat hash z certifikátů, pochopila jsem, že certifikát pro
> tento účel by měl být bez passphrase (s parametrem -nodes)
>
> Ale po mnoha předchozích pokusech jsem se dostala do problému, že vlastně
> nevím, kde mám kořenový certifikát, zda jich náhodou nemám víc, který klíč
> patří ke kterému certifikátu, zda to mám generovat v adresáři /etc/pki/CA
> nebo /etc/pki/tls.
>
> Server je na virtuálu klonovaný ze serveru, na kterém běží jen openLDAP,
> takže ho můžu klidně smazat a naklonovat znovu nebo nainstalovat od nuly....
>
> Návodů na vygenerování certifikátu je spousta, jenže vždycky tam něco
> chybí, nebo nerozumím nějakému malému detailu.
>
> U tohoto postupu tedy nevím: co se stane s kořenovým certifikátem při
> klonování - je to problém?
> Jak poznám kořenový certifikát, že je to kořenový certifikát -
> nejpravděpodobněji vypadá
> /etc/pki/tls/certs/ca-bundle.crt
> nebo /etc/pki/tls/certs/ca-bundle.trust.crt
Kořenový certifikát je ten, který byl použitý ke generování certifikátu
pro LDAP server
já mám v konfiguraci:
/etc/openldap24/slapd.conf
TLSCACertificateFile /etc/pki/tls/certs/firma.cz-SSLca.pem
TLSCertificateFile /etc/pki/tls/certs/ldapserver.firma.cz-SSLserver.crt
TLSCertificateKeyFile /etc/pki/tls/private/ldapserver.firma.cz-SSLserver.key
> jenže při generování certifikátu pro openldap jsem myslím ca nepsala
>
>
> /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
> olcTLSCACertificateFile: /etc/pki/tls/certs/ca-bundle.crt
toto možná zafunguje, pokud je vlastní CA do tohoto souboru vložen
(nevím to jistě)
> olcTLSCACertificatePath: /etc/pki/tls/certs.bk2
toto je špatně, tam má být adresář, ve kterém jsou soubory s certifikáty
navíc je to varianta k předcházejícímu, čili použít jedno nebo druhé
> olcTLSCertificateFile: /etc/pki/tls/certs.bk2/ldap1_privkey.pem
> olcTLSCertificateKeyFile: /etc/pki/tls/certs.bk2/ldap1_privkey.key.pem
Toto vypadá OK
> --------
> ls -l /etc/pki/tls/certs.bk2
>
> Výše uvedené taky nefunguje.
>
> Klíče jsem generovala podle
> http://easylinuxtutorials.blogspot.cz/2013/11/installing-configuring-openldap-server.html
> ,
> tam neuvádějí, že by bylo potřeba parametry
> olcTLSCACertificateFile:
> olcTLSCACertificatePath:
> ---tak jsem tyto parametry zaremovala
>
> ale zato jsem podle tohoto návodu přidala do /etc/openldap/ldap.conf
> # enable on-the-fly configuration (cn=config)
> database config
> access to *
> by
> dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
> by * none
>
> # enable server status monitoring (cn=monitor)
> database monitor
> access to *
> by
> dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
> by dn.exact="cn=Manager,dc=example,dc=com" read //upraveno dle
> potřeby
> by * none
> ---------
> je to potřeba?
>
>
> Který postup je správný? (1. nebo 2.)
>
> výsledek je zatím pořád stejný:
> openssl s_client -connect localhost:636 -showcerts
> CONNECTED(00000003)
> 139897046730568:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake
> failure:s23_lib.c:177:
> ---
> no peer certificate available
> ---
> No client certificate CA names sent
> ---
> SSL handshake has read 0 bytes and written 263 bytes
> ---
> New, (NONE), Cipher is (NONE)
> Secure Renegotiation IS NOT supported
> Compression: NONE
> Expansion: NONE
> --------------------
>
>
>
> Předem díky za každou radu,
>
> Kateřina
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
--
Pavel Lisy <pavel.lisy na tmapy.cz>
Další informace o konferenci Linux