OpenLDAP с StartTLS не работает на Debian Lenny

Я пытаюсь заставить OpenLDAP на Lenny работать с StartTLS. У меня есть машина Fedora 13, которую я использую в качестве клиента для тестирования. Пока что клиент Fedora игнорирует директиву host в /etc/ldap.conf, когда я пытаюсь подключиться с помощью ldapsearch. Клиент хочет подключиться к 127.0.0.1:389, даже если при использовании ldapsearch я укажу -H ldaps://server.name. /etc/ldap.conf на клиентском компьютере находится в режиме 444.

Но даже когда я пытаюсь подключиться локально из сеанса SSH, я вижу такие ошибки:ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)

Кто-то ударил меня по ключу, плз.

Обновление: вы должны использовать ~/.ldaprc для таких настроек, как "хост". Кроме того, я просто использовал nmap против сервера ldap, и он показал 636 и 389 в открытом состоянии.

Вот что печатает на экране, когда я пытаюсь подключиться, ldapsearch -ZZ –x '(objectclass=*)'+ -d -1

ldap_create ldap_extended_operation_s ldap_extended_operation ldap_send_initial_request ldap_new_connection 1 1 0 ldap_int_open_connection ldap_connect_to_host: TCP 192.168.10.41:636 ldap_new_socket: 3 ldap_prepare_socket: 3 ldap_connect_to_host: Попытка 192.168.10.41:636
ldap_pvt_connect: Fd: 3 ТМ: -1 асинхронной: 0 ldap_open_defconn: успешный ldap_send_server_request
ber_scanf ДРМ ({it) ber:
ber_dump: buf=0x9bdbdb8 ptr=0x9bdbdb8 end=0x9bdbdd7 len=31
  0000:  30 1d 02 01 01 77 18 80  16 31 2e 33 2e 36 2e 31   0....w...1.3.6.1  
  0010:  2e 34 2e 31 2e 31 34 36  36 2e 32 30 30 33 37      .4.1.1466.20037   
ber_scanf fmt ({) ber:
ber_dump: buf=0x9bdbdb8 ptr=0x9bdbdbd end=0x9bdbdd7 len=26
  0000:  77 18 80 16 31 2e 33 2e  36 2e 31 2e 34 2e 31 2e с...1.3.6.1.4.1.  
  0010:  31 34 36 36 2e 32 30 30  33 37                     1466.20037        
ber_flush2: 31 байт для sd 3
  0000:  30 1d 02 01 01 77 18 80  16 31 2e 33 2e 36 2e 31   0....w...1.3.6.1  
  0010:  2e 34 2e 31 2e 31 34 36  36 2e 32 30 30 33 37      .4.1.1466.20037   
ldap_write: want=31, записано =31
  0000:  30 1d 02 01 01 77 18 80  16 31 2e 33 2e 36 2e 31   0....w...1.3.6.1  
  0010:  2e 34 2e 31 2e 31 34 36  36 2e 32 30 30 33 37      .4.1.1466.20037   
ldap_result ld 0x9bd3050 msgid 1
wait4msg ld 0x9bd3050 msgid 1 (бесконечный тайм-аут)
wait4msg продолжить ld 0x9bd3050 msgid 1 все 1
** ld 0x9bd3050 Соединения:
* хост: 192.168.10.41 порт: 636  (по умолчанию)
  refcnt: 2 статус: последний раз подключен: вс 6 июня 12:54:05 2010


** ld 0x9bd3050 Ожидающие запросы:
 * msgid 1, происхождение 1, статус InProgress невыполненных рефералов 0, количество родителей 0
  ld 0x9bd3050 количество запросов 1 (заброшено 0)
** ld 0x9bd3050 Очередь ответов: пусто ld 0x9bd3050 количество ответов 0
ldap_chkResponseList ld 0x9bd3050 msgid 1 все ldap_chb030 lsd_db_30b msgid 1 all ldap_chb0305 0x9 msgstr 1 все 1
ber_get_next
ldap_read: want=8, got=0

ber_get_next не удалось. ldap_err2string ldap_start_tls: Невозможно связаться с сервером LDAP (-1)

5 ответов

По умолчанию клиент проверяет сертификат сервера. Просто добавьте "TLS_REQCERT никогда" в /etc/openldap/ldap.conf

Похоже, он не может прочитать файл ключа. У вас должен быть ключ без пароля. Добавьте openldap в группу ssl-cert. Сделайте группу по ключу ssl-cert и разрешениям 440. Команда openssl s_client может использоваться для отладки проблем tls.

Попробуйте выполнить команду chown openldap:openldap для файлов сертификатов.

Мне удалось заставить SSL работать со SLAPD на Lenny. Хотя я не помню точно, что я сделал, я помню, что это как-то связано с различием в шифрах между GNUTLS и OPENSSL. Пакеты SLAPD для Lenny были скомпилированы для GNUTLS. Может быть, это как-то связано с этим.

Если у вас есть SSL-сертификат, который подписан промежуточным сертификатом (что не редкость в наши дни), у вас будут проблемы с TLS в slapd под Lenny. Как уже упоминалось в sybreon, Lenny связывает slapd с GNUTLS, который не поддерживает все нужные вам опции.

Решение состоит в том, чтобы использовать Lenny Backport из slapd. Однако мы обнаружили, что обратный порт 2.4.17-2.1~bpo50+1 компилируется с libdb4.6, в котором есть ошибка, которая затрагивает нас после запуска в течение недели.

Поэтому на данный момент я не рекомендую использовать Lenny для запуска slapd, если вам нужен TLS. Обновление, чтобы сжать вместо этого.

Другие вопросы по тегам