我尝试在 Debian5 上使用 openssl 配置我的 openldap 以建立安全连接。顺便说一句,我在执行以下命令时遇到了问题。ldap:/etc/ldap# slapd -h 'ldap:// ldaps://' -d1
>>> slap_listener(ldaps://)
connection_get(15): got connid=7
connection_read(15): checking for input on id=7
connection_get(15): got connid=7
connection_read(15): checking for input on id=7
connection_get(15): got connid=7
connection_read(15): checking for input on id=7
connection_get(15): got connid=7
connection_read(15): checking for input on id=7
connection_read(15): unable to get TLS client DN, error=49 id=7
connection_get(15): got connid=7
connection_read(15): checking for input on id=7
ber_get_next
ber_get_next on fd 15 failed errno=0 (Success)
connection_closing: readying conn=7 sd=15 for close
connection_close: conn=7 sd=15
然后我搜索了“无法获取 TLS 客户端 DN,错误=49 id=7”,但似乎还没有很好的解决方案。请帮忙。谢谢
#好吧,我尝试修复一些问题以使其正常工作,但现在我得到了这个 ldap:~# slapd -d 256 -f /etc/openldap/slapd.conf @(#) $OpenLDAP: slapd 2.4.11 (Nov 26 2009 09:17:06) $ root@SD6-Casa:/tmp/buildd/openldap-2.4.11/debian/build/servers/slapd 无法统计配置文件“/etc/openldap/slapd.conf”:没有这样的文件或目录 (2) slapd 已停止。connections_destroy:没有要销毁的内容。我现在应该做什么?
日志:ldap:~# /etc/init.d/slapd 启动
启动 OpenLDAP:slapd – 失败。
操作失败,但未生成任何输出。有关出错原因的提示,请参阅系统的日志文件(例如 /var/log/syslog)或尝试在调试模式下运行守护进程,例如通过“slapd -d 16383”(警告:这将产生大量输出)。
下面,您可以找到此脚本用于运行 slapd 的命令行选项。如果您想查看调试输出,请不要忘记指定这些选项:slapd -h 'ldaps:///' -g openldap -u openldap -f /etc/ldap/slapd.conf
ldap:~# tail /var/log/messages 2 月 8 日 16:53:27 ldap 内核:[123.582757] intel8x0_measure_ac97_clock:测量时间为 57614 微秒 2 月 8 日 16:53:27 ldap 内核:[123.582801] intel8x0:测量时钟 172041 被拒绝 2 月 8 日 16:53:27 ldap 内核:[123.582825] intel8x0:时钟频率为 48000 2 月 8 日 16:53:27 ldap 内核:[131.469687] 在 /dev/hda5 上添加 240932k 交换。优先级:-1 范围:1 跨越:240932k 2 月 8 日 16:53:27 ldap 内核:[133.432131] hda1 上的 EXT3 FS,内部日志 2 月 8 日 16:53:27 ldap 内核:[135.478218] 循环:模块已加载 2 月 8 日 16:53:27 ldap 内核:[141.348104] eth0:链接成功,100Mbps,全双工 2 月 8 日 16:53:27 ldap rsyslogd:[原始软件=“rsyslogd”swVersion=“3.18.6”x-pid=“1705”x-info=“http://www.rsyslog.com”] 重新启动 2 月 8 日 16:53:34 ldap 内核:[159.217171] NET:已注册协议系列 10 2 月 8 日 16:53:34 ldap 内核:[159.220083] lo:已禁用隐私扩展
答案1
首先,你的问题需要修改一下。它不太清楚。
最好先从没有 SSL 的工作设置开始,然后逐个添加零碎部分,直到出现问题,这样您就可以找到问题所在。如果问题在于 GnuTLS 不支持 TLSCipherSuite,那么就把它去掉。你真的需要它吗?你为什么坚持使用 OpenSSL?GnuTLS 对我来说工作得很好,包括端口 636 上的 LDAPS 连接,你不需要 OpenSSL 来做到这一点。
答案2
关于此链接 http://wiki.debian.org/LDAP/OpenLDAPSetup 它说“诊断:如果您尝试使用 Debian Lenny 安装 OpenLDAP 服务器 (slapd),它会根据 GnuTLS 库进行编译。这意味着您不能在 slapd.conf 中使用 OpenSSL 样式指令,如 TLSCipherSuite HIGH:MEDIUM:-SSLv2。”
我认为这意味着在 Debian5 (Lenny) 上无法使用 openssl 作为安全连接。也许这就是我从未实现它的原因...你们认为是这样吗?
答案3
我会忽略消息“connection_read(15):无法获取 TLS 客户端 DN,错误=49 id=7”,除非您更改了默认的 TLSVerifyclient(默认情况下为“从不”。
在客户端,tls_reqcert 默认为“demand”。
尝试在客户端添加 ca 证书,或者将 tls_reqcert 更改为 never。