Блог‎ > ‎

Неработающий SSSD в Fedora

Отправлено 17 мар. 2014 г., 03:50 пользователем Константин Ханкин
В Fedora, начиная с версии 13, аутентификация переведена на демон SSS (System Security Services, https://fedorahosted.org/sssd/). Этот демон позволяет производить аутентификацию в том числе и через LDAP, что очень полезно. И вот у вас всё, как обычно, работало-работало и вдруг перестало - пользователи не могут залогиниться. Что делать?

В логах следующая гадость:
[sssd[be[LDAP]]] [sdap_connect_send] (4): Executing START TLS
[sssd[be[LDAP]]] [sdap_connect_done] (3): START TLS result: Success(0), (null)

То есть вроде бы даже работает TLS. Но аутентификация не работает всё равно.

Тут надо сделать маленькое лирическое отступление: SSSD не признаёт нешифрованных соединений с ldap-сервером. В чём-то это и правильно, однако TLS подразумевает сертификаты, а сертификаты - геморрой по их сопровождению. В одной из последних версий SSSD (в 1.3 нет, в 1.5 есть) появилась недокументированная опция ldap_auth_disable_tls_never_use_in_production (обсуждение), позволяющая отключить использование TLS. Но, во-первых, never_use_in_production, то есть некомильфово, а, во-вторых, в Fedora 13 SSSD из ветки 1.3, а там этой опции нет. То есть PKI городить таки надо.

Ну вот нагородили вы PKI (я делал через OpenSSL), всё работает. А тут перестало. Обновляемся-читаем-маны-читаем-конфиги-думаем-гуглим-пробуем never_use_in_production-снова думаем. В сухом остатке - с TLS не работает, без него - за милую душу (проверено на Fedora 15). Получается, проблема в TLS. С учётом того, что всё работало, предполагается, что рализация TLS в openldap и SSSD корректная (тем более, что опирается на внешние библиотеки :) ), а, значит, практически единственное, на что можно грешить - это сертификаты.

В яблочко! У сертификата x509 есть срок годности. Всё банально - серверный сертификат протух. После перевыдачи сертификатов (которая в моём случае сопровождалась генерацией нового сертификата СА, потому что то старого был забыт пароль :) ) всё заработало обратно.

Выводы:
  1. Используете сертификаты - следите за ними!
  2. 1-2 сертификата ещё можно поддерживать руками, но если PKI грозит разрастись - используйте какие-нибудь системы
  3. Читайте документацию
Comments