Клиент SSSD LDAP неудачно завершает работу.

Вопрос или проблема

Я пытался подключиться к серверу OpenLDAP, следуя руководству на https://documentation.ubuntu.com/server/how-to/sssd/with-ldap/, выполняя его шаг за шагом, и застрял на следующем этапе:

ken@desktop:~$ sudo ldapwhoami -x -ZZ -H ldap://ldap.waylandeng.com
[sudo] password for ken:
ldap_start_tls: Connect error (-11)
        additional info: (unknown error code)

Однако, это работает:

ken@desktop:~$ ldapwhoami -x -H ldap://ldap.waylandeng.com
anonymous

Я использую новейшую сборку TurnkeyLinux OpenLDAP, но я также построил сервер Ubuntu LDAP, следуя пошаговым инструкциям, и получил точно такую же ошибку. Приведённые выше команды работают на сервере OpenLDAP. У меня есть другие серверы, использующие этот сервер OpenLDAP без проблем – например, сервер NextCloud.

Ответ или решение

Для начала, давайте разберем проблему, с которой вы столкнулись при подключении к серверу OpenLDAP с помощью SSSD (System Security Services Daemon). Основная проблема проявляется в ошибке, когда вы пытаетесь выполнить команду с использованием усиленной безопасности через TLS (ldap_start_tls: Connect error (-11)), тогда как простое подключение работает без проблем и возвращает "anonymous".

Теория

SSSD используется для интеграции Linux-систем с LDAP (Lightweight Directory Access Protocol) сервером для аутентификации пользователей и получения другой информации о пользователях и группах. Он позволяет централизовать управление учетными данными и упростить процесс входа в систему через LDAP.

TLS (Transport Layer Security) — это протокол, который обеспечивает защищенную передачу данных по сети и применяется для защитного шифрования соединений к LDAP-серверу. Ошибка ldap_start_tls: Connect error указывает на то, что клиент не может установить защищенное соединение с сервером, что может быть вызвано различными причинами, такими как несоответствие версии TLS, проблемы с доверенными сертификатами или неправильные настройки на клиентской или серверной стороне.

Пример

Вы столкнулись с тем, что:

  • Анонимное соединение к OpenLDAP-серверу по обычному протоколу LDAP (ldap://) работает корректно.
  • Попытка установить защищенное соединение по TLS (-ZZ) завершается ошибкой.

Данная ситуация говорит о том, что базовая конфигурация сервера LDAP работает корректно, но возникают проблемы с настройкой TLS, либо на серверной стороне, либо на клиентской.

Применение

Для исправления данной ситуации следует выполнить последовательную диагностику и конфигурацию обоих компонент системы — как клиентской, так и серверной. Ниже приведены шаги, которые помогут вам устранить проблему:

  1. Проверка сертификатов:

    • Убедитесь, что на сервере с OpenLDAP установлен действительный и корректный SSL/TLS-сертификат. Это может быть самоподписанный сертификат или выданный доверенным центром сертификации (CA).
    • Проверьте, что данный сертификат доверяется клиентской системой. Это можно сделать, добавив сертификат в цепочку доверенных сертификатов на клиентской машине.
  2. Конфигурация SSSD и LDAP:

    • Убедитесь, что все конфигурационные файлы (например, /etc/ldap/ldap.conf для Ubuntu) корректно настроены и содержат необходимые параметры для использования TLS:
      TLS_CACERT /path/to/ca-certificates.crt
    • Проверьте правильность конфигурации SSSD (/etc/sssd/sssd.conf) и убедитесь, что указаны правильные параметры для использования TLS:
      ldap_uri = ldap://ldap.waylandeng.com
      ldap_start_tls = True
      ldap_tls_cacert = /path/to/ca-certificates.crt
  3. Проверка серверных логов:

    • Изучите серверные логи на вашем OpenLDAP-сервере. Они могут содержать более детальную информацию о возникших ошибках и подсказать, на каком этапе установки TLS-соединения происходит сбой.
  4. Обновление и совместимость:

    • Убедитесь, что версии OpenLDAP на вашем сервере и клиенте поддерживают один и тот же набор шифрования и версию протокола TLS. В некоторых случаях обновление программного обеспечения до последних версий может решить проблему совместимости.
  5. Тестирование соединения:

    • Используйте инструменты для диагностики соединения, такие как openssl s_client, чтобы вручную попытаться установить защищенное соединение и посмотреть, какие сообщения об ошибках появляются, например:
      openssl s_client -connect ldap.waylandeng.com:389 -starttls ldap
  6. Системное окружение и брандмауэр:

    • Проверьте настройки брандмауэра как на стороне клиента, так и на стороне сервера. Возможно, порты, необходимые для TLS-соединений, закрыты.
  7. Документация:

    • Полезно обратиться к документации, которую вы использовали, в случае, если были упущены какие-либо критически важные шаги или параметры настройки.

Следуя вышеуказанным шагам, вы сможете более глубоко понять, в чем заключается проблема, и определить способ её устранения. Важно проводить диагностику и вносить изменения последовательно, сохраняя бэкапы текущих конфигураций для возможности возврата к рабочему состоянию. Надеюсь, что эти рекомендации помогут вам успешно решить проблему соединения с OpenLDAP сервером через SSSD.

Оцените материал
Добавить комментарий

Капча загружается...