Назад | Перейти на главную страницу

Ошибка openSSL / openLDAP tls

у меня есть два openLDAP Серверы, каждый был настроен бок о бок с использованием сценария, который делал всю тяжелую работу, два сервера реплицировали свои конфигурации / пользователей друг другу, и долгое время я думал, что все работает. Только что обнаружил, что один из серверов на самом деле не ведет переговоры TLS, поэтому ничто не может подтвердить его подлинность.

Обе системы RHEL 6.7, оба были обновлены в одно и то же время с момента их создания. Каждый сервер должен быть на 100% идентичным ....

Использование самоподписанных сертификатов

Если я (на сломанном): ldapsearch -ZZd 1 -D "cn=Manager,dc=example,dc=org" -w secret-b ""

TLS: loaded CA certificate file /etc/openldap/certs/ca-bundle.crt.
TLS: error: tlsm_PR_Recv returned 0 - error 22:Invalid argument
TLS: error: connect - force handshake failure: errno 22 - moznss error -5938
TLS: can't connect: TLS error -5938:Encountered end of file.
ldap_err2string
ldap_start_tls: Connect error (-11)
        additional info: TLS error -5938:Encountered end of file

Это заставляет меня беспокоиться, потому что я не верю, что мне следует использовать Moznss, поскольку у меня были проблемы с базами данных в моих первоначальных тестах, поэтому я жестко подключаюсь к ca-bundle.crt, так же как server.key и server.crt, Что опять же отлично работает на моем другом сервере.

с другой стороны, если я:openssl s_client -connect server1:636 -cert server.crt -key server.key

CONNECTED(00000003)
140398252824392:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:184:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 247 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE

Что опять же, на другом моем сервере, дает хорошие результаты при проверке ключа.

Обе ошибки, по крайней мере, на основе некоторых поисков, намекают, что они связаны с moznss базы данных, но я не могу понять: а) Почему один является проблемой, а другой - нет, и б) Как решить проблему или обойти ее.

Если у кого-то есть какие-либо дальнейшие идеи по устранению неполадок или потенциальные решения, я был бы очень признателен.

  1. Убедитесь, что директивы olcTLS * File в cn=config указывают на реальные файлы.

    olcTLSCACertificateFile: /etc/ssl/certs/ca-bundle.crt
    olcTLSCertificateFile: /etc/pki/tls/certs/server.example.com.crt
    olcTLSCertificateKeyFile: /etc/pki/tls/private/server.example.com.key
    
  2. Проверьте свои журналы. По умолчанию CentOS не регистрируется для slapd. slapd по умолчанию LOCAL4 по степени тяжести DEBUG. Вы можете редактировать /etc/sysconfig/slapd или измените конфигурацию системного журнала.

    # cat /etc/rsyslog.d/slapd.conf 
    local4.*    /var/log/slapd.log
    

    Не забудьте изменить cn=configс olcLogLevel.
    olcLogLevel: Config наверное, самый актуальный. man slapd-config есть более подробная информация.