Я пытался настроить openldap на безопасное соединение с помощью openssl на Debian5. Кстати, у меня возникли проблемы при выполнении следующей команды. 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
Затем я искал "unable to get TLS client DN, error=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 could not stat config file "/etc/openldap/slapd.conf": No such file or directory (2) slapd остановлен. connections_destroy: nothing to destroy. Что мне теперь делать?
log : ldap:~# /etc/init.d/slapd start
Starting OpenLDAP: slapd - failed.
Операция завершилась неудачно, но никаких результатов не было получено. За подсказками о том, что пошло не так пожалуйста, обратитесь к системному журналу (например, /var/log/syslog) или попробуйте запустить демон в режиме отладки, например, через "slapd -d 16383" (предупреждение: это приведет к появлению большого количества выходных данных).
Ниже приведены параметры командной строки, используемые этим скриптом для запуска slapd. Не забудьте указать эти опции, если вы хотите посмотреть отладочный вывод: slapd -h 'ldaps:///' -g openldap -u openldap -f /etc/ldap/slapd.conf
ldap:~# tail /var/log/messages Feb 8 16:53:27 ldap kernel: [ 123.582757] intel8x0_measure_ac97_clock: measured 57614 usecs Feb 8 16:53:27 ldap kernel: [ 123.582801] intel8x0: measured clock 172041 rejected Feb 8 16:53:27 ldap kernel: [ 123.582825] intel8x0: clocking to 48000 Feb 8 16:53:27 ldap kernel: [ 131.469687] Adding 240932k swap on /dev/hda5. Priority:-1 extents:1 across:240932k Feb 8 16:53:27 ldap kernel: [ 133.432131] EXT3 FS on hda1, internal journal Feb 8 16:53:27 ldap kernel: [ 135.478218] loop: module loaded Feb 8 16:53:27 ldap kernel: [ 141.348104] eth0: link up, 100Mbps, full-duplex Feb 8 16:53:27 ldap rsyslogd: [origin software="rsyslogd" swVersion="3.18.6" x-pid="1705" x-info="http://www.rsyslog.com"] restart Feb 8 16:53:34 ldap kernel: [ 159.217171] NET: Registered protocol family 10 Feb 8 16:53:34 ldap kernel: [ 159.220083] lo: Disabled Privacy Extensions
В первую очередь, для Вашего вопроса нужно редактирование. Это не ясно.
Это могла бы быть хорошая идея запуститься с рабочей установки без SSL и затем добавляющих остатков один за другим, пока что-то не повреждается так, чтобы можно было найти проблему. Если проблема с GnuTLS, не поддерживающим TLSCipherSuite, то устраните его. Вам действительно нужен он? Почему Вы настаиваете на OpenSSL? GnuTLS хорошо работал для меня, включая LDAPS - соединения на порте 636, Вам не нужен OpenSSL, чтобы сделать это.
Относительно к этой ссылке http://wiki.debian.org/LDAP/OpenLDAPSetup Это сказало "Диагноз: При попытке установить сервер OpenLDAP (slapd) с Debian Lenny, он прибывает скомпилированный против библиотеки GnuTLS. Это означает, что Вы не можете использовать директиву стиля OpenSSL как TLSCipherSuite HIGH:MEDIUM:-SSLv2 в slapd.conf".
Я думаю, что это означает, что на Debian5 (Lenny) не может использовать openssl в качестве соединения безопасности. Возможно, это, почему я никогда не выполняю его... Вы парни думают, что это так?
Я проигнорировал бы сообщение "connection_read (15): не мог получить клиент TLS DN, error=49 id=7", если Вы не изменили TLSVerifyclient по умолчанию, который по умолчанию никогда не является.
На стороне клиента, tls_reqcert по умолчанию "спрос".
Попытайтесь добавить сертификат CA на стороне клиента или измените tls_reqcert на никогда.