I have a email server package called Scalix, which when installed came with openldap. On the same server i am also running Stunnel, which is already successfully ssl wrapping imap,pop, and smtp protocols. The ldap directory is very handy for an address book internally but we also have people that will be outside the corporate lan and to provide the directory securely would be desirable so i added the lines in the stunnel.conf to wrap ldap as well. I can see the stunnel daemon listening on port 636. But when i try to connect from any ssl aware mail client, such as evolution, or entourage, i get an error indicating failure to authenticate, which i know is not really the problem because the ldap directory is anonymous read access enabled. Debug logging gives more information about what is occurring, here is the conversion when attempting to connect:
2005.04.28 12:15:05 LOG5[27926:1076812720]: ldaps connected from 71.4.124.200:43012
2005.04.28 12:15:05 LOG7[27926:1076812720]: SSL state (accept): before/accept initialization
2005.04.28 12:15:05 LOG7[27926:1076812720]: waitforsocket: FD=14, DIR=read
2005.04.28 12:15:05 LOG7[27926:1076812720]: waitforsocket: ok
2005.04.28 12:15:05 LOG3[27926:1076812720]: SSL_accept: 140760FC: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol
2005.04.28 12:15:05 LOG7[27926:1076812720]: ldaps finished (6 left)
Searching the archive is saw someone suggesting that either the ldap server or ldap client was not compiled with ssl support. I know the email clients i am trying to connect with are ssl compatible and maybe someone can set me straight here but i didn't think that the ldap server had to be ssl aware and that was the advantage of stunnel is that it can wrap services that are do not have ssl support? At any rate i believe the ldap server does have ssl support becuase i can see the binary omslapd (provided by Scalix, preceding "om" is there because Scalix is based on HP's Open Mail) links to the ssl library using the ldd command, here is the output, note the bolded line:
msp1intmx01:~ # ldd /opt/scalix/bin/omslapd linux-gate.so.1 => (0xffffe000)
libom_er.so => /opt/scalix/lib/libom_er.so (0x40018000)
libom_ext.so => /opt/scalix/lib/libom_ext.so (0x40023000)
libom_ldapth.so => /opt/scalix/lib/libom_ldapth.so (0x4002d000)
libom_mdc.so => /opt/scalix/lib/libom_mdc.so (0x4004f000)
libom_omldap.so => /opt/scalix/lib/libom_omldap.so (0x4005c000)
libom_os.so => /opt/scalix/lib/libom_os.so (0x40079000)
libom_sdl.so => /opt/scalix/lib/libom_sdl.so (0x40087000)
libom_str.so => /opt/scalix/lib/libom_str.so (0x4008e000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x400a9000)
libc.so.6 => /lib/tls/libc.so.6 (0x400b9000)
libom_cvc.so => /opt/scalix/lib/libom_cvc.so (0x401ce000)
libom_go.so => /opt/scalix/lib/libom_go.so (0x401e2000)
libom_t61.so => /opt/scalix/lib/libom_t61.so (0x401e6000)
libom_tfl.so => /opt/scalix/lib/libom_tfl.so (0x401eb000)
libom_gcl.so => /opt/scalix/lib/libom_gcl.so (0x401f1000)
libom_ccs.so => /opt/scalix/lib/libom_ccs.so (0x401f5000)
libdl.so.2 => /lib/libdl.so.2 (0x40203000)
libom_cl.so => /opt/scalix/lib/libom_cl.so (0x40206000)
libom_cust.so => /opt/scalix/lib/libom_cust.so (0x40215000)
libom_da.so => /opt/scalix/lib/libom_da.so (0x4021c000)
libom_dit.so => /opt/scalix/lib/libom_dit.so (0x40244000)
libom_dr.so => /opt/scalix/lib/libom_dr.so (0x4024a000)
libom_hash.so => /opt/scalix/lib/libom_hash.so (0x4027b000)
libom_lng.so => /opt/scalix/lib/libom_lng.so (0x4027e000)
libom_mes.so => /opt/scalix/lib/libom_mes.so (0x40282000)
libom_mim.so => /opt/scalix/lib/libom_mim.so (0x4028a000)
libom_ml.so => /opt/scalix/lib/libom_ml.so (0x4029d000)
libom_pam.so => /opt/scalix/lib/libom_pam.so (0x402a6000)
libom_pwdl.so => /opt/scalix/lib/libom_pwdl.so (0x402b4000)
libom_ul.so => /opt/scalix/lib/libom_ul.so (0x402b9000)
libom_uni.so => /opt/scalix/lib/libom_uni.so (0x402cc000)
libom_im.so => /opt/scalix/lib/libom_im.so (0x402e3000)
libom_sfl.so => /opt/scalix/lib/libom_sfl.so (0x402ee000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x4030c000)
libom_sml.so => /opt/scalix/lib/libom_sml.so (0x4033d000)
libom_tfo.so => /opt/scalix/lib/libom_tfo.so (0x40340000)
libom_enc.so => /opt/scalix/lib/libom_enc.so (0x40343000)
libom_lkf.so => /opt/scalix/lib/libom_lkf.so (0x40347000)
libom_nm.so => /opt/scalix/lib/libom_nm.so (0x4034b000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libom_uscv.so => /opt/scalix/lib/libom_uscv.so (0x40352000)
libom_fstr.so => /opt/scalix/lib/libom_fstr.so (0x4035a000)
libom_gen.so => /opt/scalix/lib/libom_gen.so (0x4035c000)
libom_xdse.so => /opt/scalix/lib/libom_xdse.so (0x40362000)
libom_acl.so => /opt/scalix/lib/libom_acl.so (0x40365000)
libom_cdl.so => /opt/scalix/lib/libom_cdl.so (0x4036c000)
libom_drsc.so => /opt/scalix/lib/libom_drsc.so (0x40374000)
libom_inet.so => /opt/scalix/lib/libom_inet.so (0x40379000)
libom_vi.so => /opt/scalix/lib/libom_vi.so (0x40388000)
libom_akt.so => /opt/scalix/lib/libom_akt.so (0x40399000)
libom_q.so => /opt/scalix/lib/libom_q.so (0x403a1000)
libom_date.so => /opt/scalix/lib/libom_date.so (0x403a6000)
libom_ssn.so => /opt/scalix/lib/libom_ssn.so (0x403a8000)
libom_orname.so => /opt/scalix/lib/libom_orname.so (0x403ac000)
libom_culb.so => /opt/scalix/lib/libom_culb.so (0x403af000)
libom_dstring.so => /opt/scalix/lib/libom_dstring.so (0x403b3000)
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0x403b6000)
libom_ufcv.so => /opt/scalix/lib/libom_ufcv.so (0x403e7000)
libom_vista.so => /opt/scalix/lib/libom_vista.so (0x4040d000)
libom_rda.so => /opt/scalix/lib/libom_rda.so (0x40439000)
libom_rdudp.so => /opt/scalix/lib/libom_rdudp.so (0x4043e000)
libom_rsl.so => /opt/scalix/lib/libom_rsl.so (0x40444000)
libom_mp.so => /opt/scalix/lib/libom_mp.so (0x40456000)
libom_mpl.so => /opt/scalix/lib/libom_mpl.so (0x4045e000)
libom_msg.so => /opt/scalix/lib/libom_msg.so (0x40466000)
libom_qml.so => /opt/scalix/lib/libom_qml.so (0x4046c000)
libom_tf.so => /opt/scalix/lib/libom_tf.so (0x40471000)
libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0x4047b000)
libom_fmem.so => /opt/scalix/lib/libom_fmem.so (0x4056b000)
libom_acf.so => /opt/scalix/lib/libom_acf.so (0x40570000)
libom_cvr.so => /opt/scalix/lib/libom_cvr.so (0x40575000)
libom_ct.so => /opt/scalix/lib/libom_ct.so (0x40589000)
libom_bb.so => /opt/scalix/lib/libom_bb.so (0x405cc000)
libom_rtfl.so => /opt/scalix/lib/libom_rtfl.so (0x405e1000)
libom_isl.so => /opt/scalix/lib/libom_isl.so (0x405f2000)
libom_nf.so => /opt/scalix/lib/libom_nf.so (0x405fc000)
libom_nfda.so => /opt/scalix/lib/libom_nfda.so (0x40602000)
libom_nsl.so => /opt/scalix/lib/libom_nsl.so (0x40607000)
libom_exual.so => /opt/scalix/lib/libom_exual.so (0x4060d000)
stunnel 4.05 on i686-suse-linux-gnu PTHREAD with OpenSSL 0.9.7d 17 Mar 2004Stunnel is running in stand-alone mode and is being started without any parameters that i am aware of, i just used the init script supplied SuSE for their Enterprise 9 server product.
Global options
cert = /etc/stunnel/stunnel.pem
ciphers = ALL:!ADH:+RC4:@STRENGTH
debug = 5
key = /etc/stunnel/stunnel.pem
pid = /var/run/stunnel.pid
RNDbytes = 64
RNDfile = /dev/urandom
RNDoverwrite = yes
session = 300 seconds
verify = none
Service-level options
TIMEOUTbusy = 300 seconds
TIMEOUTclose = 60 seconds
TIMEOUTidle = 43200 seconds
msp1intmx01:~ # stunnel -f -D 7Output of "stunnel -V is:
2005.04.29 08:27:24 LOG3[3326:1076392064]: -f: No such file or directory (2)
msp1intmx01:~ # stunnel -VOutput of "uname -a"
2005.04.29 08:30:49 LOG3[3368:1076392064]: -V: No such file or directory (2)
msp1intmx01:~ # uname -a
Linux msp1intmx01 2.6.5-7.151-smp #1 SMP Fri Mar 18 11:31:21 UTC 2005 i686 i686 i386 GNU/Linux
msp1intmx01:~ # gcc -vOpenssl version is:
Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.3/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada --disable-checking --libdir=/usr/lib --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux
Thread model: posix
gcc version 3.3.3 (SuSE Linux)
msp1intmx01:~ # openssl version
OpenSSL 0.9.7d 17 Mar 2004
-- Michael W. Partyka Jumpnode Systems, LLC Systems Administrator 612.605.5056 Desk 651.208.5734 Cell |