Вопрос или проблема
У меня возникают периодические проблемы с аутентификацией на серверах ubuntu 15.04. Периодически аутентификация просто перестает работать. В итоге она снова начинает работать сама по себе. Или, если я перезапущу как smbd, так и sssd, она сразу заработает снова.
В те же моменты, когда возникают проблемы с аутентификацией, я вижу эту ошибку в /var/log/syslog:
[sssd[ldap_child[4199]]]: Не удалось инициализировать учетные данные с использованием ключа [MEMORY:/etc/krb5.keytab]: KDC не поддерживает тип шифрования. Невозможно установить GSSAPI-зашифрованное соединение LDAP.
Мой поиск в Google привел меня к добавлению “allow_weak_crypto = true” в секцию libdefaults файла /etc/krb5.conf. Я пробовал это, но безуспешно.
У меня есть несколько серверов CentOS 6, настроенных для аутентификации AD тем же образом (одинаковая конфигурация smb и sssd и т.д.), и у них все работает хорошо без каких-либо проблем.
У кого-нибудь есть другие идеи?
Сервер уже дал вам ответ.
Таким образом, вам нужно выяснить две вещи:
1) Какие типы шифрования поддерживает клиент?
2) Какие типы шифрования поддерживает KDC?
Опубликуйте ваш файл krb5.conf клиента и файл kdc.conf сервера и расскажите, какая операционная система у клиентов.
Для справки взгляните сюда:
https://help.ubuntu.com/community/Kerberos
Ответ или решение
Ошибка: KDC не поддерживает тип шифрования – это серьезная проблема, с которой может столкнуться администратор системы при настройке аутентификации в среде Kerberos. Данная ошибка сообщает о том, что клиентская система или сервер не могут договориться о поддерживаемых алгоритмах шифрования. Это может приводить к прерывистым проблемам с аутентификацией, как вы описали в своем случае на серверах Ubuntu 15.04.
Анализ проблемы
Для того чтобы решить возникшую проблему, важно понимать два основных аспекта:
-
Поддерживаемые клиентом типы шифрования:
- Вам необходимо выяснить, какие типы шифрования поддерживает ваш клиент. Для этого можно просмотреть файл конфигурации Kerberos, обычно находящийся по пути
/etc/krb5.conf
. В этом файле найдите секциюlibdefaults
, где указываются параметрыdefault_realm
,ticket_lifetime
,renew_lifetime
и, что наиболее важно,permitted_enctypes
. Если в этом списке нет необходимых алгоритмов, вы можете столкнуться с проблемами аутентификации.
- Вам необходимо выяснить, какие типы шифрования поддерживает ваш клиент. Для этого можно просмотреть файл конфигурации Kerberos, обычно находящийся по пути
-
Поддерживаемые KDC типы шифрования:
- Аналогично, необходимо проверить конфигурацию KDC, находящуюся, как правило, в файле
/etc/krb5kdc/kdc.conf
на сервере KDC. В этом файле должна быть секция, которая определяет поддерживаемые алгоритмы шифрования. Убедитесь, что алгоритмы, указанные на клиенте, также присутствуют здесь.
- Аналогично, необходимо проверить конфигурацию KDC, находящуюся, как правило, в файле
Рекомендации по исправлению
-
Сравните конфигурации клиент и KDC:
- Убедитесь, что оба файла содержат согласованные параметры шифрования. Если, например, KDC поддерживает только AES256 и клиент настроен на использование RC4, это может стать причиной проблемы.
-
Использование параметра allow_weak_crypto:
- Вы уже упоминали об использовании параметра
allow_weak_crypto = true
. Это правильный шаг, однако он должен быть правильно настроен и соответствовать требованиям к безопасности вашей организации. Примечание: иногда использование слабого шифрования может привести к уязвимостям и рискам безопасности.
- Вы уже упоминали об использовании параметра
-
Проверка версии программного обеспечения:
- Убедитесь, что используемые вами версии Kerberos на клиенте и сервере актуальны. В некоторых случаях старые версии могут иметь несовместимости в поддерживаемых алгоритмах шифрования.
-
Логи для диагностики:
- Продолжайте следить за логами системы, такими как
/var/log/syslog
, чтобы упростить диагностику. Записи о сбоях в аутентификации могут помочь выявить специфические причины сбоев.
- Продолжайте следить за логами системы, такими как
-
Сравнение с другими серверами:
- Поскольку другие сервера (CentOS 6) работают без проблем, вам стоит сравнить их конфигурации (как SMB, так и SSSD) с конфигурациями проблемных Ubuntu серверов. Возможно, какие-то настройки или пакеты имеют значение.
Заключение
Простой анализ и сравнение конфигураций на предмет поддерживаемых типов шифрования может значительно упростить процесс решения проблемы. Если после выполнения всех шагов проблема сохраняется, может потребоваться указание более глубокой поддержки, включая детальное изучение логов и документации по Kerberos.
Успешное разрешение данной проблемы не только улучшит стабильность аутентификации, но и повысит общую безопасность вашей системы.