Debian OpenLDAP TLS csatlakozás nem megy

Fórumok

VirtualBox -ba telepítettem Debian Wheezy 7.6 -ot.

Ezután a tettem fel openldap -ot
Ez alapján csináltam: https://wiki.debian.org/LDAP/OpenLDAPSetup

Megy is rendben, le tudok kérdezni de csak ldapi:/// -n és ldap:/// kapcsolaton.

Ha megpróbálom:
ldapsearch -x -H ldaps://manage.intermouse.net:636 -D cn=admin,dc=intermouse,dc=net -b ou=Users,dc=intermouse,dc=net -w`cat ~/.ldappw` '(objectClass=person)' '*'

Az eredmény:

ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

SASL ??? ki beszélt itt SASL -ről én ilyet ugyan sehol nem állítottam (esetleg ez alapból megy és ki kell kapcsolni? Hogy?)

Mindenesetre ha debug módban indítom el a slapd -t akkor ezt látom:

tls_read: want=5, got=0

TLS: can't accept: A TLS packet with unexpected length was received..
5409eb0b connection_read(16): TLS accept failure error=-1 id=1002, closing
5409eb0b connection_closing: readying conn=1002 sd=16 for close
5409eb0b connection_close: conn=1002 sd=16
5409eb0b daemon: removing 16
5409eb0b conn=1002 fd=16 closed (TLS negotiation failure)

De érdekes módon Apache Directory Studio -val, a gépemről le tudok kérdezni, pedig ott is SSL -el kapcsolódok.

A TLS -re vonatkozó config részlet:

olcTLSCACertificateFile: /etc/ldap/ssl/cacert.pem
olcTLSCertificateFile: /etc/ldap/ssl/manage.intermouse.net.crt
olcTLSCertificateKeyFile: /etc/ldap/ssl/manage.intermouse.net.key
olcTLSCipherSuite: NORMAL
olcTLSVerifyClient: never

Ahogy a leírésban volt gnutls -el csináltam a certet. 2048 bit hosszu kulcsot csináltam.

Na és az lenne a kérés, hogy ha valaki látott már ilyet és tudja, vagy tudni véli mi ez akkor segítsen. Bármilyen ötletre vevő vagyok mert nekem egy szál sem maradt.

Hozzászólások

Ha kikapcsolom az ldap.conf-ban a kliens oldalon az ssl start_tls részt minden rendben. Tudok csatlakozni, megy a getent passwd, be tud lépni a user ldap adatokkal.

Szeretném bekapcsolni a tls-t ekkor már nem megy syslog szerint fd=25 closed (connection lost) rögtön miután TLSestablished tls_ssf=128.

ez pl.: openssl s_client -connect uldap1.valami.valami:636 -CApath /etc/ssl/certs

CONNECTED(00000003)
depth=0 O = xxxxx, CN = uldap1.valami.valami
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 O = xxxxx, CN = uldap1.valami.valami
verify error:num=27:certificate not trusted
verify return:1
depth=0 O = xxxx , CN = uldap1.valami.valami
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:/O=xxxx/CNuldap1.valami.valami
i:/CN=uldap1.valami.valami
---
Server certificate
-----BEGIN CERTIFICATE-----
bla bla bla
-----END CERTIFICATE-----
subject=/O=xxxxx/CN=uldap1.valami.valami
issuer=/CN=uldap1.valami.valami
---
No client certificate CA names sent
---
SSL handshake has read 1021 bytes and written 535 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA256
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : AES256-SHA256
Session-ID: B8B62658A6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2F67EA80
Session-ID-ctx:
Master-Key: 7EA94961DxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxDE8E1DFA4B9B2CD8A521
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1421930387
Timeout : 300 (sec)
Verify return code: 21 (unable to verify the first certificate)

Szerver oldalon a syslog kiírja TLS established.
De a getent passwd-re
TLS established majd connection lost

Most találtam még ezt:
https://www.gc3.uzh.ch/blog/Fixing_LDAP_Authentication_over_TLS/
ami szerint bugos az ubuntu-s csomag.
Akinek sikerült tls-sel az amit én akarok megosztaná?

köszi

TLS a 389 proton fut és nem a 636. Az utóbbi LDAPS van ami tök más.
A start-tls protokol szinten máshogy kezeli.

az én configjaim így néznek ki:

CONFIG: /etc/openldap/ldap.conf
rights 644
root:root

TLS_CACERTDIR /etc/pki/tls/certs
TLS_CACERT /etc/pki/tls/certs/internal-rootCA.pem
TLS_REQCERT try
BASE ou=users,dc=linux,dc=exmaple,dc=com
URI ldap://FQDN

CONFIG: /etc/pam_ldap.conf
rights 600
root:root

uri ldap://FQDN
binddn cn=nssproxy,ou=users,dc=linux,dc=exmaple,dc=com
bindpw secret
timelimit 20
bind_timelimit 20
pam_member_attribute gidNumber
nss_base_passwd ou=users,dc=linux,dc=exmaple,dc=com?one
nss_base_shadow ou=users,dc=linux,dc=exmaple,dc=com?one
nss_base_group ou=groups,dc=linux,dc=exmaple,dc=com?one
nss_base_netgroup ou=netgroup,dc=linux,dc=exmaple,dc=com?one
ssl start_tls
tls_cacertfile /etc/pki/tls/certs/internal-rootCA.pem
pam_password md5
pam_filter description=enabled

CONFIG: /etc/nslcd.conf
rights: 600
root:root

uid nslcd
gid ldap
uri ldap://FQDN
base dc=linux,dc=example,dc=com
base passwd ou=users,dc=linux,dc=example,dc=com
base shadow ou=users,dc=linux,dc=example,dc=com
base group ou=groups,dc=linux,dc=example,dc=com
binddn cn=nssproxy,ou=users,dc=linux,dc=example,dc=com
bindpw secret
rootpwmoddn cn=root,dc=linux,dc=example,dc=com
bind_timelimit 5
timelimit 20
idle_timelimit 60
ssl start_tls
tls_reqcert allow
tls_cacertfile /etc/pki/tls/certs/internal-rootCA.pem
nss_initgroups_ignoreusers adm,bin,daemon,dbus,ftp
nss_initgroups_ignoreusers games,gopher,halt,lp,mail,mailnull
nss_initgroups_ignoreusers nfsnobody,nobody,nscd,nslcd,ntp,operator
nss_initgroups_ignoreusers panic,qpidd,root,rpc,rpcuser,saslauth
nss_initgroups_ignoreusers shutdown,smmsp,sshd,sync,uucp,vcsa

--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

Nálam az ldap.conf-ban
a következő módon tudtam megadni a host based bejelentkezést linux kliens számára:

nss_base_passwd ou=users,dc=valami,dc=valami?one?|(host=client23)(host=\*)
nss_base_shadow ou=users,dc=valami,dc=valami?one?|(host=client23)(host=\*)
nss_base_group ou=group,dc=valami,dc=valami?one
sudoers_base ou=SUDOers,dc=valami,dc=valami

Hogyan kell ezt megadni nss-pam-ldapd használatakor az /etc/nslcd.conf-ban

van valakine kműködő megoldása?