Использование 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 выполните описанные ниже шаги:
-
В интерфейсе ADCM на странице Clusters инициируйте включение Kerberos для кластера — нажмите на иконку Actions
и выберите действие Manage Kerberos.
Включение Kerberos в кластере ADQM -
В открывшемся окне включите Existing FreeIPA и укажите Kerberos-параметры FreeIPA.
Параметры FreeIPA -
Нажмите 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 principal |
Имя принципала для подключения через |
Kadmin password |
Пароль пользователя IPA Admin |
IpaClient No NTP Autoconf |
Отключает настройку NTP при установке IPA-клиентов |
IpaClient No DNS Lookup |
Отключает поиск сервера FreeIPA по DNS при установке IPA-клиентов |
Проверка интеграции с FreeIPA
После успешной керберизации выполнение ADQM-команд на узлах кластера возможно только после получения соответствующего тикета Kerberos. Ниже приведен пример доступа к кластеру, керберизованному с помощью FreeIPA:
-
Создайте пользователя ADQM, который соответствует учетной записи в домене FreeIPA. Для этого используйте выражение
IDENTIFIED WITH kerberos
в запросеCREATE USER
:CREATE USER adqm_kerb_freeipa IDENTIFIED WITH kerberos;
-
Запросите тикет Kerberos для пользователя:
$ kinit adqm_kerb_freeipa@RU-CENTRAL1.INTERNAL
Введите пароль:
Password for adqm_kerb_freeipa@RU-CENTRAL1.INTERNAL:
Опции команды
kinit
описаны в статье kinit документации MIT Kerberos. -
Проверьте тикет:
$ 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
-
Для проверки аутентификации через Kerberos отправьте в ADQM тестовую команду, используя утилиту
curl
с поддержкой механизма SPNEGO:$ echo "select currentUser()" | curl --negotiate -u : http://<host_name>:8123/ --data-binary @-
Вывод на экран при успешной аутентификации:
adqm_kerb_freeipa