Zimbra offers Open Source email server software and shared calendar for Linux and the Mac
Go Back   Zimbra :: Forums > Zimbra Collaboration Suite > Administrators

Welcome to the Zimbra :: Forums!
Welcome, if you would like to post a comment please register. We also encourage you to explore all things Zimbra with our team and members of the community.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 06-08-2011, 05:31 AM
Starter Member
 
Posts: 1
Default mandatory starttls for external ldap authentication

hi,

we're just evaluating zimbra to see if it fits our needs as a groupware package. to be able to do so, i want:

- authenticate users against an external openldap directory
- use indirect bind
- tls encryption to be mandatory

tls encryption on the ldap server is enforced via an acl entry for the zimbra server:
Code:
access to *
 by dn="cn=admin,dc=foo,dc=bar" write
[...]
 by peername.ip=<zimbraip> ssf=128 read
and a similar acl for userPassword, which works fine on the zimbra server:
Code:
zimbra@morbo:~$ ldapsearch -LLL -H ldap://<ldap server> -x -b dc=foo,dc=bar uid=someuser uid
No such object (32)
zimbra@morbo:~$ ldapsearch -LLL -H ldap://<ldap server> -ZZ -x -b dc=foo,dc=bar uid=someuser uid
dn: uid=someuser,ou=users,dc=foo,dc=bar
uid: someuser
zimbra@morbo:~$
now, zimbra seems to use starttls for bind operations only, but not for search operations. this causes the scheme outlined above to fail, since any non-encrypted connection won't return any results.

it would be nice if someone could show a way around this behaviour, which is a show stopper for us at the moment.

here are the slapd logs for reference:

with starttls unticked and no ssf=xxx on the ldap server:
Code:
Jun  8 14:07:10 <ldap server> slapd[29465]: conn=3 fd=24 ACCEPT from IP=<zimbraip>:58139 (IP=0.0.0.0:389) 
Jun  8 14:07:10 <ldap server> slapd[29465]: conn=3 op=0 SRCH base="dc=foo,dc=bar" scope=2 deref=3 filter="(uid=someuser)" 
Jun  8 14:07:10 <ldap server> slapd[29465]: conn=3 op=0 SEARCH RESULT tag=101 err=0 nentries=1 text= 
Jun  8 14:07:10 <ldap server> slapd[29465]: conn=4 fd=25 ACCEPT from IP=193.104.220.20:58140 (IP=0.0.0.0:389) 
Jun  8 14:07:10 <ldap server> slapd[29465]: conn=4 op=0 BIND dn="uid=someuser,ou=users,dc=foo,dc=bar" method=128 
Jun  8 14:07:10 <ldap server> slapd[29465]: conn=4 op=0 BIND dn="uid=someuser,ou=users,dc=foo,dc=bar" mech=SIMPLE ssf=0 
Jun  8 14:07:10 <ldap server> slapd[29465]: conn=4 op=0 RESULT tag=97 err=0 text= 
Jun  8 14:07:10 <ldap server> slapd[29465]: conn=4 op=1 UNBIND 
Jun  8 14:07:10 <ldap server> slapd[29465]: conn=4 fd=25 closed
-> works, but no tls encryption at all

with starttls ticked and no ssf=xxx on the ldap server:
Code:
Jun  8 14:09:22 <ldap server> slapd[29465]: conn=3 op=1 SRCH base="dc=foo,dc=bar" scope=2 deref=3 filter="(uid=someuser)" 
Jun  8 14:09:22 <ldap server> slapd[29465]: conn=3 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text= 
Jun  8 14:09:23 <ldap server> slapd[29465]: conn=6 fd=26 ACCEPT from IP=<zimbraip>:58162 (IP=0.0.0.0:389) 
Jun  8 14:09:23 <ldap server> slapd[29465]: conn=6 op=0 EXT oid=1.3.6.1.4.1.1466.20037 
Jun  8 14:09:23 <ldap server> slapd[29465]: conn=6 op=0 STARTTLS 
Jun  8 14:09:23 <ldap server> slapd[29465]: conn=6 op=0 RESULT oid= err=0 text= 
Jun  8 14:09:23 <ldap server> slapd[29465]: conn=6 fd=26 TLS established tls_ssf=256 ssf=256 
Jun  8 14:09:23 <ldap server> slapd[29465]: conn=6 op=1 BIND dn="uid=someuser,ou=users,dc=foo,dc=bar" method=128 
Jun  8 14:09:23 <ldap server> slapd[29465]: conn=6 op=1 BIND dn="uid=someuser,ou=users,dc=foo,dc=bar" mech=SIMPLE ssf=0 
Jun  8 14:09:23 <ldap server> slapd[29465]: conn=6 op=1 RESULT tag=97 err=0 text= 
Jun  8 14:09:23 <ldap server> slapd[29465]: conn=6 fd=26 closed (connection lost)
-> works, but the search operation does not use starttls

with starttls unticked and ssf=xxx on the ldap server:
Code:
Jun  8 14:18:04 <ldap server> slapd[10552]: conn=1 fd=24 ACCEPT from IP=<zimbraip>:45528 (IP=0.0.0.0:389) 
Jun  8 14:18:04 <ldap server> slapd[10552]: conn=1 op=0 SRCH base="dc=foo,dc=bar" scope=2 deref=3 filter="(uid=someuser)" 
Jun  8 14:18:04 <ldap server> slapd[10552]: conn=1 op=0 SEARCH RESULT tag=101 err=32 nentries=0 text=
-> fails

with starttls ticked and ssf=xxx on the ldap server:
Code:
Jun  8 14:19:29 <ldap server> slapd[10552]: conn=1 op=1 SRCH base="dc=foo,dc=bar" scope=2 deref=3 filter="(uid=someuser)" 
Jun  8 14:19:29 <ldap server> slapd[10552]: conn=1 op=1 SEARCH RESULT tag=101 err=32 nentries=0 text=
-> fails

tia,
thoralf.

Last edited by thoralf; 06-08-2011 at 05:37 AM..
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads

Why Join?

Registering let's you ask questions, makes it easier to search, displays any files attached to posts, and notifies you about replies.

blog.zimbra.com




 

SEO by vBSEO ©2011, Crawlability, Inc.