guys,

no feedback on the diff I sent :/

On Sun, Jan 20, 2013 at 12:31:41PM +0100, Gilles Chehade wrote:
> Hi Vadim,
> 
> I only use ldapd in a local context but I'll have a look tomorrow and
> come up with a diff for that.
> 
> Thanks,
> Gilles
> 
> 
> On Sat, Jan 19, 2013 at 01:56:12PM +0100, Vadim Agarkov wrote:
> > Hello!
> > 
> > Debian's (as well as Ubuntu's) openldap client is linked against
> > GnuTLS library in contrast to the OpenBSD one which is linked
> > against openssl library. Recent GnuTLS versions have more strict
> > settings - they won't allow dh params with 512 bits or less and
> > OpenBSD's ldapd daemon uses 512bits DH params. There is a function
> > "gnutls_dh_set_prime_bits" which overrides default GnuTLS settings,
> > but it looks like it is not supported by openldap client yet.
> > 
> > Here are some links regarding GnuTLS problem:
> > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440344
> > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=196117
> > 
> > The "good" fix for this would be setting dh params with strong (more
> > than 512) bits on the ldapd server side, but it is not possible with
> > current version of ldapd:
> > 
> > http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/ldapd/ssl.c?rev=1.4;content-type=text%2Fplain
> > 
> > there is a hardcoded 512bit DH value as you can see. And it would be
> > nice if there was an option to set dh params like it is in OpenSMTPd
> > (or at least set default bits for DH to be 1024 - as it is now in
> > the same said OpenSMTPd):
> > 
> > http://www.opensmtpd.org/smtpd.conf.5.html
> > 
> > "Host certificates may be used for these connections, and are
> > searched for in the /etc/mail/certs directory. If certificate is
> > specified, a certificate <name>.crt, a key <name>.key, a certificate
> > authority <name>.ca and Diffie-Hellman parameters <name>.dh are
> > searched for. If no certificate is specified, the default interface
> > name is instead used, for example fxp0.crt, fxp0.key, fxp0.ca, and
> > fxp0.dh. If no DH parameters are provided, smtpd will use built-in
> > parameters. Creation of certificates is documented in starttls(8)."
> > 
> > http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/smtpd/ssl.c?rev=1.51;content-type=text%2Fplain
> > 
> > 
> > And as for now, the real workaround, that I see, is either to allow
> > insecure ldap connections or use third-party tools like stunnel - it
> > has default dh params with long enough primes and also can be set to
> > use your custom dh params file.
> > 
> > JFYI, you can check dh params returned by the server using
> > gnutls-cli utility. For example, the things should look like the
> > following for 2048bits DH params:
> > =====================================================
> > $ gnutls-cli -s -p 636 ldap.your_cool_server.net
> > Resolving 'ldap.your_cool_server.net'...
> > Connecting to 'XXXXXXXXXXXXXX:636'...
> > 
> > - Simple Client Mode:
> > 
> > <click ctrl+d>
> > *** Starting TLS handshake
> > - Ephemeral Diffie-Hellman parameters
> >  - Using prime: 2048 bits
> >  - Secret key: 2047 bits
> >  - Peer's public key: 2048 bits
> > - Certificate type: X.509
> >  - Got a certificate list of 1 certificates.
> >  - Certificate[0] info:
> > ...
> > =====================================================
> > 
> > 
> > Hope that sheds some light on this problem..
> > 
> > P.S. I CC'ed ldapd developers in order to have some hope this might
> > be fixed one day..
> > 
> > ---
> > thanks,
> > VA
> > 
> > On 2011-01-21 19:21, Joel Carnat wrote:
> > >Hello,
> > >
> > >On a Ubuntu Linux 8.04 machine, I can't query my OpenBSD 4.9
> > >ldapd(8).
> > >It works from the local OpenBSD and from a remote NetBSD server.
> > >All machines have the CA file installed in the OpenSSL directory
> > >and the ldap.conf file configured to use that particular CA file.
> > >
> > >Here's what I get on the Linux box:
> > >$ ldapsearch -d 1 -x -H ldaps://ldap.tumfatig.net -D
> > >"cn=email,dc=tumfatig,dc=net" \
> > >-W -b "ou=users,dc=tumfatig,dc=net" mail=j...@carnat.net
> > >ldap_url_parse_ext(ldaps://ldap.tumfatig.net)
> > >ldap_create
> > >ldap_url_parse_ext(ldaps://ldap.tumfatig.net:636/??base)
> > >Enter LDAP Password:
> > >ldap_sasl_bind
> > >ldap_send_initial_request
> > >ldap_new_connection 1 1 0
> > >ldap_int_open_connection
> > >ldap_connect_to_host: TCP ldap.tumfatig.net:636
> > >ldap_new_socket: 3
> > >ldap_prepare_socket: 3
> > >ldap_connect_to_host: Trying 10.0.0.50:636
> > >ldap_pvt_connect: fd: 3 tm: -1 async: 0
> > >TLS: can't connect: The Diffie Hellman prime sent by the server is
> > >not acceptable \
> > >(not long enough)..
> > >ldap_err2string
> > >ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
> > >
> > >Not sure if that matters, but the OpenBSD's openssl.cnf (which was
> > >used to generate
> > >and sign the CA and certificate files) contains:
> > >default_bits = 4096
> > >
> > >Is there a way to tell ldapd(8) to use a bigger DH value ?
> > >
> > >TIA,
> > >  Jo
> > 
> 
> -- 
> Gilles Chehade
> 
> https://www.poolp.org                                          @poolpOrg
> 

-- 
Gilles Chehade

https://www.poolp.org                                          @poolpOrg

Reply via email to