У меня простая настройка леса MS ADDS с несколькими доменами с родительским доменом и одним поддоменом. Я успешно присоединил сервер RHEL 8 к поддомену, используяэта официальная документация. Все ОС были настроены с использованием максимально возможного количества значений по умолчанию. Я могу успешно подключиться по SSH к серверу RHEL, используя учетную запись AD поддомена. Но когда я пытаюсь использовать учетную запись родительского домена, вход не удается. Как только я отправляю имя пользователя родительского домена, journalctl
выдается следующая ошибка:
sssd_be[...]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (KDC has no support for encryption type)
Я проверил контроллеры домена каждого домена и могу подтвердить, что все контроллеры домена поддерживают одни и те же три типа шифрования по умолчанию (которые хранятся в msDS-SupportedEncryptionTypes
атрибуте каждой учетной записи компьютера контроллера домена):
- RC4_HMAC_MD5
- AES128_CTS_HMAC_SHA1_96
- AES256_CTS_HMAC_SHA1_96
Я также подтвердил, что RHEL 8 предлагает подходящие типы шифрования ( /etc/crypto-policies/back-ends/krb5.config
):
[libdefaults]
permitted_enctypes = aes256-cts-hmac-sha1-96 aes256-cts-hmac-sha384-192 camellia256-cts-cmac aes128-cts-hmac-sha1-96 aes128-cts-hmac-sha256-128 camellia128-cts-cmac
Итак, должно быть два совпадения: aes128-cts-hmac-sha1-96
и aes256-cts-hmac-sha1-96
. Как я уже сказал, для поддомена все работает нормально. Так почему же нет подходящего типа шифрования для родительского домена?
решение1
Свойства доверия AD включают свойство под названием «Другой домен поддерживает шифрование Kerberos AES». По умолчанию этот параметр не отмечен. В этом сценарии это приводит к тому, что родительский домен не может предложить типы шифрования AES для Kerberos. Поэтому единственным вариантом является RC4_HMAC_MD5
. В RHEL 8 шифрование RC4 устарело и отключено по умолчанию. Поэтому действительно нет типа шифрования, доступного для согласования между RHEL и родительским доменом.
После установки флажка «Другой домен поддерживает шифрование Kerberos AES» аутентификация также сработала для родительского домена.
Если вы хотите задать этот параметр программно,здесьвы идете.
решение2
Для тех, кто ищет другой способ решения этой проблемы с учетом недавних изменений в потоке CentOS 8, вот официальное решение от RedHat:
https://access.redhat.com/solutions/5728591
По сути, вы запускаете:
update-crypto-policies --set DEFAULT:AD-SUPPORT
...и это включает RC4_HMAC_MD5
поддержку правильным образом и это работает. Очевидно, что может быть лучшей идеей включить AES на вашем домене, если вы можете найти способ.