Использование FreeIPA для Kerberos

FreeIPA — бесплатная система управления идентификацией пользователей для Linux/UNIX с открытым исходным кодом. FreeIPA включает в себя такие компоненты, как Linux (Fedora), 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag (система сертификатов). Основной задачей FreeIPA является централизованное управление учетными данными и аутентификация.

Для обеспечения безопасности ADQM использует Kerberos, LDAP, SSL-сертификаты/ключи и другие смежные технологии. Для такого набора инструментов FreeIPA отлично подходит в качестве системы управления идентификацией.

Для керберизации кластера с помощью FreeIPA используется ADCM. В процессе керберизации ADCM устанавливает IPA-клиент на каждый хост кластера и устанавливает соединение с сервером FreeIPA, используя заданные параметры Kerberos для FreeIPA.

В данной статье для примера используется тестовый FreeIPA-сервер, развернутый на хосте freeipa-server.ru-central1.internal с операционной системой CentOS. Этот сервер представляет собой базовую конфигурацию yum install ipa-server с параметрами установки по умолчанию.

Включение FreeIPA на кластере ADQM

Для керберизации кластера с помощью FreeIPA выполните описанные ниже шаги:

  1. В интерфейсе ADCM на странице Clusters инициируйте включение Kerberos для кластера — нажмите на иконку Actions actions default dark actions default light и выберите действие Manage Kerberos.

    Включение Kerberos в кластере ADQM
    Включение Kerberos в кластере ADQM
  2. В открывшемся окне включите Existing FreeIPA и укажите Kerberos-параметры FreeIPA.

    Параметры FreeIPA
    Параметры FreeIPA
  3. Нажмите Run и дождитесь завершения керберизации. Процесс и результат выполнения задачи Manage Kerberos отображается на странице Jobs.

После того, как Kerberos успешно установлен на кластере ADQM, соответствующие настройки появятся на странице конфигурации кластера в секции Kerberos и на странице конфигурации сервиса ADQMDB в секции Kerberos configuration.

Kerberos-параметры FreeIPA

Следующая таблица содержит описания параметров, необходимых для керберизации кластера ADQM с помощью FreeIPA. Актуальные значения для этих параметров можно получить, выполнив команду ipa user-find <ipa_admin> на FreeIPA-сервере, где <ipa_admin> — имя пользователя IPA Admin.

Параметр Описание

KDC hosts

Хост (один или более), на котором запущен FreeIPA-сервер

Realm

Kerberos realm для подключения к FreeIPA-серверу

Domains

Домен (один или более), привязанный к FreeIPA

Kadmin server

Адрес хоста, на котором запущен kadmin

Kadmin principal

Имя принципала для подключения через kadmin, например admin@RU-CENTRAL1.INTERNAL

Kadmin password

Пароль пользователя IPA Admin

IpaClient No NTP Autoconf

Отключает настройку NTP при установке IPA-клиентов

IpaClient No DNS Lookup

Отключает поиск сервера FreeIPA по DNS при установке IPA-клиентов

Проверка интеграции с FreeIPA

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

  1. Создайте пользователя ADQM, который соответствует учетной записи в домене FreeIPA. Для этого используйте выражение IDENTIFIED WITH kerberos в запросе CREATE USER:

    CREATE USER adqm_kerb_freeipa IDENTIFIED WITH kerberos;
  2. Запросите тикет Kerberos для пользователя:

    $ kinit adqm_kerb_freeipa@RU-CENTRAL1.INTERNAL

    Введите пароль:

    Password for adqm_kerb_freeipa@RU-CENTRAL1.INTERNAL:

    Опции команды kinit описаны в статье kinit документации MIT Kerberos.

  3. Проверьте тикет:

    $ klist
    Ticket cache: FILE:/tmp/krb5cc_1000
    Default principal: adqm_kerb_freeipa@RU-CENTRAL1.INTERNAL
    
    Valid starting       Expires              Service principal
    05/10/2023 10:20:30  05/11/2023 10:20:30  krbtgt/RU-CENTRAL1.INTERNAL@RU-CENTRAL1.INTERNAL
  4. Для проверки аутентификации через Kerberos отправьте в ADQM тестовую команду, используя утилиту curl с поддержкой механизма SPNEGO:

    $ echo "select currentUser()" | curl --negotiate -u : http://<host_name>:8123/ --data-binary @-

    Вывод на экран при успешной аутентификации:

adqm_kerb_freeipa
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней