freeipa + freeradius = проблема с kerberos-тикетом

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

Я хотел бы вашей помощи в решении следующей проблемы. Что нам нужно. Мы настроили сервер freeradius для использования в качестве метода аутентификации для пользователей freeipa. Когда мы используем параметр пароль (я имею в виду пароль, настроенный на самом сервере ipa), все работает. Если мы изменяем метод аутентификации на RADIUS, у нас возникают следующие проблемы. Пароль пользователя на клиенте ipa не кешируется. Поэтому, если пользователи идут домой с ноутбуком и не имеют доступа к серверу ipa, они не могут войти в свою Ubuntu.

Поведение на сервере ipa:

Пользователь с локальным паролем

# kinit local-user
Пароль для [email protected]:

Это работает

krb5kdc.log

Dec 11 17:57:23 our.domain.com krb5kdc[1571](info): AS_REQ (4 etypes {aes256-cts-hmac-sha384-192(20), aes128-cts-hmac-sha256-128(19), aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 10.0.0.1: NEEDED_PREAUTH: [email protected] for krbtgt/[email protected], требуется дополнительная предаутентификация
Dec 11 17:57:23 our.domain.com krb5kdc[1571](info): закрытие fd 11

Строки ниже после ввода пароля

Dec 11 17:58:17 our.domain.com  krb5kdc[1571](info): AS_REQ (4 etypes {aes256-cts-hmac-sha384-192(20), aes128-cts-hmac-sha256-128(19), aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 10.0.0.1: ISSUE: authtime 1733932697, etypes {rep=aes256-cts-hmac-sha384-192(20), tkt=aes256-cts-hmac-sha384-192(20), ses=aes256-cts-hmac-sha384-192(20)}, [email protected] для krbtgt/[email protected]
Dec 11 17:58:17 our.domain.com krb5kdc[1571](info): закрытие fd 11

Пользователь RADIUS

#kinit radius-user
kinit: Не удалось предварительно аутентифицировать: Неверный аргумент при получении начальных учетных данных

Таким образом, билет не создан

krb5kdc.log

Dec 11 18:04:26 our.domain.com krb5kdc[1571](info): AS_REQ (4 etypes {aes256-cts-hmac-sha384-192(20), aes128-cts-hmac-sha256-128(19), aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 10.0.0.1: NEEDED_PREAUTH: [email protected] для krbtgt/[email protected], требуется дополнительная предаутентификация
Dec 11 18:04:26 our.domain.com krb5kdc[1571](info): закрытие fd 11

Дополнительное странное поведение. Если я пытаюсь войти на сервер ipa через ssh с локальным пользователем, он спрашивает меня про пароль. Если я пытаюсь войти на сервер ipa с пользователем radius, он сначала спрашивает о первом факторе, а затем о втором факторе. Он принимает пароль для первого фактора и пустой второй фактор. И позволяет мне войти.

Спасибо заранее. Я могу предоставить любую дополнительную информацию.

Я уже пробовал поиграть с настройками kerberos, и это мне не помогает.

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

Проблемы с Kerberos при использовании FreeIPA и FreeRADIUS: подробный анализ и решение

Ваша ситуация с аутентификацией пользователей FreeIPA через FreeRADIUS действительно вызвана рядом факторов, которые влияют на процесс получения Kerberos-билетов. Давайте рассмотрим основные моменты и пути решения вашей проблемы.

1. Обзор проблемы

Вы настроили сервер FreeRADIUS для аутентификации пользователей FreeIPA. Существующие локальные пароли работают без проблем, однако пользователи, использующие FreeRADIUS, сталкиваются с проблемами аутентификации при отсутствии доступа к серверу IPA. В частности, при попытке выполнить команду kinit radius-user, возникает ошибка Pre-authentication failed: Invalid argument while getting initial credentials.

Ключевые подробности:
  • При использовании локальных пользователей все работает корректно.
  • При использовании RADIUS аутентификации возникает ошибка, которая указывает на необходимость предварительной аутентификации.
  • Локальные пользователи успешно аутентифицируются и могут получать Kerberos-билеты.
  • При попытке входа через SSH пользователями, аутентифицированными через RADIUS, возникает двухфакторная аутентификация, что вызывает путаницу.

2. Параметры конфигурации

Определим основные аспекты конфигурации:

  • FreeIPA: это решение для управления идентификацией и аутентификацией, которое использует Kerberos в качестве механизма аутентификации.
  • FreeRADIUS: достаточно мощное решение для аутентификации и управления доступом в сетях, которое может интегрироваться с FreeIPA для проверки учетных данных пользователей.

Необходимо обратить внимание на правильную настройку конфигураций как FreeIPA, так и FreeRADIUS, а также на механизмы предварительной аутентификации, используемые в Kerberos.

3. Причины возникновения проблемы

  • Кэширование паролей: Когда пользователи аутентифицируются через FreeRADIUS, пароли не кэшируются на клиенте. Это приводит к проблемам при отключении от сети. Если пользователь не может получить доступ к IPA-серверу, он не сможет выполнить аутентификацию.
  • Настройки Kerberos: Некоторые параметры в krb5.conf могут мешать корректной работе аутентификации через FreeRADIUS.
  • Методы предварительной аутентификации: Необходимость в предварительной аутентификации может быть связана с тем, что служба FreeRADIUS неправильно интерпретирует запросы от клиентов.

4. Решения

  1. Настройка кэширования паролей:

    • Необходимо обеспечить, чтобы на клиентах Ubuntu был включен кэш паролей для Kerberos (к примеру, используя PAM или sssd). Это позволит пользователям входить в систему даже при недоступности IPA-сервера.
  2. Корректировка конфигурации Kerberos:

    • Проверьте файл конфигурации /etc/krb5.conf. Убедитесь, что все параметры, связанные с серверами KDC и доменами, указаны правильно.
    • Добавьте или измените следующие параметры:

      [realms]
      YOUR.REALM.COM = {
         kdc = ipa-server.your.domain
         admin_server = ipa-server.your.domain
      }
      
      [domain_realm]
      .your.domain = YOUR.REALM.COM
      your.domain = YOUR.REALM.COM
  3. Проверка настроек FreeRADIUS:

    • Убедитесь, что FreeRADIUS настроен на использование Kerberos для аутентификации. Проверьте файл конфигурации /etc/raddb/mods-enabled/eap на наличие правильных параметров.
    • Убедитесь, что FreeRADIUS настроен на правильный метод аутентификации: например, используйте radiusd.conf для определения методов аутентификации и разберитесь с параметрами pre-auth.
  4. Использование двухфакторной аутентификации:

    • Убедитесь, что настройки двухфакторной аутентификации не конфликтуют с настройками FreeIPA и FreeRADIUS. Возможно, вам потребуется оптимизировать взаимодействие между двумя системами.
  5. Логи и диагностика:

    • Тщательно изучите логи как FreeIPA, так и FreeRADIUS для выявления точной причины ошибок. Включите отладку для получения более подробной информации о процессе аутентификации.

Заключение

Проблемы между FreeIPA и FreeRADIUS могут быть связаны с рядом факторов, включая настройки Kerberos, кэширование паролей и методы аутентификации. Предложенные шаги помогут вам диагностировать проблему и, в конечном итоге, решить ее. Если возникнут дополнительные вопросы или потребуется более детальная информация, не стесняйтесь обращаться за помощью.

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

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