Автор Тема: Как задезейблить проверку сертификатов  (Прочитано 40639 раз)

acmnu

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Переезжаю с Debian, страшно сказать, 4 на RHEL 6 и хожу по граблям TLS, который конечно с багами: https://bugzilla.redhat.com/show_bug.cgi?id=857455.

Поэтому вопрос простой. Как запретить проверку сертификатов? Совсем запретить? На стороне мастера вроде как olcTLSVerifyClient=never, но это похоже не помогает,  поскольку на клиенте я отхватываю проблемы ещё при старте в не зависимости от  TLS_REQCERT.

Цитировать
bdb_monitor_db_open: monitoring disabled; configure monitor database to enable
slapd starting
TLS: error: the certificate '/etc/openldap/ldap2.pem' could not be found in the database - error -8187:security library: invalid arguments..
TLS: certificate '/etc/openldap/ldap2.pem' successfully loaded from PEM file.
TLS: no unlocked certificate for certificate


Возможно я чего-то не понимаю в этой конструкции.
« Последнее редактирование: 30 Октябрь 2013, 13:27:54 от acmnu »

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #1 : 30 Октябрь 2013, 15:09:35 »
Здравствуйте! Вы хотите вообще избавиться от TLS, или только от проверки клиентского сертификата?
И ещё, покажите, пожалуйста, ваши директивы настройки TLS в конфигурации сервера и конфигурационном файле клиента. Сертификаты и ключи сами генерировали?

Егор

acmnu

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #2 : 30 Октябрь 2013, 16:16:14 »
Избавится хочу только от проверки, разумеется, ибо она забагована.  От tls избавляться глупо.

acmnu

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #3 : 30 Октябрь 2013, 16:20:21 »
Клиент:
TLS_REQCERT   never

Сервер:
olcTLSCACertificateFile: /etc/openldap/masterldap.pem
olcTLSCertificateFile: /etc/openldap/masterldap.pem
olcTLSCertificateKeyFile: /etc/openldap/masterldap.pem
olcTLSCipherSuite: DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:DES-CBC3-S
olcTLSVerifyClient: never


acmnu

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #4 : 30 Октябрь 2013, 16:31:58 »
Полдня ковыряний говорят о том, что это связано с указанным выше багом: всегда используется /etc/openldap/certs и все остальные параметры игнорируются. Вроде я напихал в этот certs все ca, которые нужны, но толку мало.

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #5 : 31 Октябрь 2013, 07:44:24 »
Здравствуйте!

Сервер:
olcTLSCACertificateFile: /etc/openldap/masterldap.pem
olcTLSCertificateFile: /etc/openldap/masterldap.pem
olcTLSCertificateKeyFile: /etc/openldap/masterldap.pem
olcTLSCipherSuite: DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:DES-CBC3-S
olcTLSVerifyClient: never

У вас 3 директивы указывают на один и тот же файл. Если корневой сертификат (olcTLSCACertificateFile) и сертификат сервера (olcTLSCertificateFile) могут быть одним сертификатом (если это самоподписанный сертификат), то закрытый ключ сервера (olcTLSCertificateKeyFile) никак не может храниться в том же самом pem-файле. Вероятно, это ошибка.

Клиент:
TLS_REQCERT   never
Тут явно не хватает директивы
TLS_CACERT /etc/openldap/masterldap.pemс указанием файла корневого сертификата, чтобы можно было проверить подлинность сертификата сервера

В bug report говорится об ошибке, когда при указании в ldap.conf директивы TLS_CACERTDIR неверно обрабатываются клиентские сертификат/ключ из директив TLS_CERT и TLS_KEY. Мне кажется, это не Ваш случай.

Егор

acmnu

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #6 : 31 Октябрь 2013, 10:08:42 »
> Вероятно, это ошибка.

Нет. Ключ там же. Иначе бы мастер даже не стартанул. Это нормальная практика, когда все сваливается в один pem файл. Собственно я настройки вообще не менял - это все взято из старого slapd.conf

acmnu

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #7 : 31 Октябрь 2013, 10:16:51 »
TLS_CACERT я проверял. Не работает. В общем я могу все что угодно писать в ldap.conf результат один и тот же. Создается ощущение, что в openldap вкрутили какую-то свою базу сертификатов.

acmnu

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #8 : 31 Октябрь 2013, 12:55:35 »
Полез в код этого поделия.  Моя ошибка возникает из-за того, что openldap упрямо хочет испльзовать ерундень под названием MOZNSS (это такая директория для хранения сертификатов) и другие варианты игнорирует.

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #9 : 31 Октябрь 2013, 14:59:08 »
Здравствуйте! MozNSS -- это библиотека, точнее одна из библиотек работы с TLS, шифрованием и т.п. Очевидно, в RedHat openldap собран с этой библиотекой. На мой взгляд, это не должно быть проблемой, хотя сам я использую OpenSSL.

Есть ещё предположение -- используют ли Ваши клиенты тот ldap.conf, с которым Вы экспериментируете? Не знаю, как проверить это "по умному". Я проверил так: изменил в своём ldap.conf переменную BASE на неправильную и попробовал выполнить ldapsearch без указания параметра -b, на что получил:
# ldapsearch -x -LLL
No such object (32)

Попробуйте запустить клиента с явным указанием переменной окружения:
# LDAPTLS_CACERT=/etc/openldap/masterldap.pem ldapsearch ...
Если не найдёте решения, всегда есть запасной вариант: собрать OpenLDAP руками с библиотекой OpenSSL.

Егор

acmnu

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #10 : 31 Октябрь 2013, 15:32:51 »
Я уже более менее разобрался. Ошибка, которая у меня возникала - не ошибка. :)

Хотя я так подумал исходя из того, что там на писано "error". Реальная же ошибка была в виде неприметного сообщения.
Цитировать
got search entry without Sync State control
, которое сообщало, что я лажанулся при настройки syncrep.

Похоже, что в моей конфигурации тот error ничего не значит, либо он вообще ничего не значит, поскольку там половина debug мессаджей означает не то, что там написано.

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Как задезейблить проверку сертификатов
« Ответ #11 : 01 Ноябрь 2013, 05:10:34 »
Здравствуйте! TLS-то в итоге работает? Если да, покажите, пожалуйста, итоговые директивы TLS сервера и клиента.

Егор

 

Эта страница

Содержание

Новости:
Форум проекта Pro-LDAP.ru
OpenLDAP 2.4 Руководство

Содержание

Введение в службы каталогов OpenLDAPБыстрое развёртывание и начало работыОбщая картина - варианты конфигурацииСборка и установка OpenLDAPНастройка slapd

 

Конфигурационный файл slapdЗапуск slapdКонтроль доступаОграниченияИнструментыМеханизмы манипуляции даннымиНаложенияСпецификация схемы

 

БезопасностьSASLTLSРаспределённая служба каталоговРепликацияОбслуживаниеМониторингПроизводительностьУстранение неполадок
Перевод официального руководства OpenLDAP 2.4 Admin Guide
Полное содержание здесь
LDAP для учёных-ракетчиков

Содержание

О книгеКонцепции LDAPОбъекты LDAPУстановка LDAPПримерыНастройкаРепликация и отсылкиLDIF и DSMLПротоколLDAP API

 

HOWTOНеполадкиПроизводительностьИнструменты LDAPБезопасностьЗаметкиРесурсы LDAPRFC и X.500ГлоссарийОбъекты
Перевод "LDAP for Rocket Scientists"
Полное содержание здесь
Ресурсы

Книги

Руководство OpenLDAP 2.4LDAP для учёных-ракетчиков

Другие

СтатьиТермины LDAPman-страницы OpenLDAP 2.4Список RFCКлиенты LDAPФайлы наборов схемы
Полезные ресурсы
Форум

 

Разделы форумаНепрочитанные сообщенияПоследние сообщения
Форум проекта
Главная

Pro-LDAP.ru

О проектеНовости проектаУчастникиСтаньте участником!Сообщите об ошибке!Об авторских правахСоглашения проекта
Присоединяйсь!