Настройка централизованной авторизации в домене IPA на RedOS 8

Оцените статью

Продолжаем разбираться с работой RedOS 8 в корпоративной среде. Сегодня займемся настройкой централизованной авторизации рабочих станций и серверов в домене IPA (Identity Policy Audit).

IPA (Identity Policy Audit) — это комплексное решение для управления идентификацией, аутентификацией и авторизацией в Linux-средах. Оно предоставляет единую точку входа для пользователей и администраторов, объединяя такие службы, как LDAP-каталог, Kerberos, DNS и другие. Развертывание кластера IPA позволяет централизованно управлять учетными записями, политиками доступа и настройками безопасности в масштабах всей организации.

Подготовка к развертыванию кластера IPA

Подготовка хостов

Для подготовки серверов воспользуемся предыдущей инструкцией Установка RedOS 8 с одним важным отличием: при установке выбираем режим «Минимальный сервер» без графического интерфейса. Это снизит нагрузку на систему и уменьшит поверхность для потенциальных атак.

В моем случае получился сервер следующей конфигурации:

srv-ad-redos-01

  • Hostname: srv-ad-redos-01
  • IP-адрес: 10.213.7.4

Клонируем наш сервер и изменим его сетевые параметры при помощи утилиты nmtui (Network Manager Text User Interface). В итоге получим второй сервер.

Имя хоста меняем при помощи утилиты hostnamectl:

# hostnamectl set-hostname srv-ad-redos-02.ipa.rain.com

Получаем второй хост:

srv-ad-redos-02

  • Hostname: srv-ad-redos-02
  • IP-адрес: 10.213.7.5
Второй сервер кластера IPA

Примечание: Клонирование виртуальных машин или физических серверов должно сопровождаться тщательной проверкой уникальности таких параметров, как MAC-адрес сетевого интерфейса и machine-id. В противном случае могут возникнуть конфликты в работе сетевых служб.

Настройка первого контроллера домена IPA

Базовая настройка окружения хоста IPA

Вносим изменения в файл /etc/nsswitch.conf, чтобы система в первую очередь использовала локальные файлы, а затем DNS для разрешения имён:

hosts:      files dns

Отключаем systemd-resolved на localhost, для чего исправляем файл /etc/systemd/resolved.conf и меняем параметр DNSStubListener на no:

[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#DNSSEC=no
#DNSOverTLS=no
#MulticastDNS=no
#LLMNR=resolve
#Cache=yes
#CacheFromLocalhost=no
DNSStubListener=no
#DNSStubListenerExtra=
#ReadEtcHosts=yes
#ResolveUnicastSingleLabel=no

Перезапускаем службу systemd-resolved:

# systemctl restart systemd-resolved.service

Добавляем записи в /etc/hosts, описывающие адреса хостов домена. Это необходимо для корректного разрешения имён на этапе установки:

10.213.7.4 srv-ad-redos-01.ipa.rain.com srv-ad-redos-01

Обратите внимание, что FQDN идет первым в записи, а базовое имя хоста вторым и дополнительно принудительно указываем имя хоста в файле /etc/sysconfig/network:

HOSTNAME=srv-ad-redos-01.ipa.rain.com

Устанавливаем необходимые пакеты для развертывания IPA-сервера с поддержкой DNS и PKI (Public Key Infrastructure):

# dnf install ipa-server-dns pki-ca pki-kra pki-acme

Пояснение:

  • ipa-server-dns — пакет для интеграции службы DNS.
  • pki-ca — центр сертификации.
  • pki-kra — центр регистрации ключей.
  • pki-acme — поддержка протокола ACME для автоматического получения сертификатов.

Развертывание контроллера домена IPA

Для развертывания запускаем мастер настройки ipa-server-install и отвечаем на его вопросы. Этот мастер автоматически настроит все необходимые службы.

# ipa-server-install

Включаем интегрированный DNS-сервер (BIND):

Do you want to configure integrated DNS (BIND)? [no]: yes

Указываем полное доменное имя (FQDN) сервера:

Server host name [srv-ad-redos-01]: srv-ad-redos-01.ipa.rain.com

Имя домена будет определено автоматически на основе FQDN. Подтверждаем предложенный вариант:

Please confirm the domain name [ipa.rain.com]:

Realm (область Kerberos) также определяется автоматически:

Please provide a realm name [IPA.rain.COM]:

Задаем пароли для критически важных учётных записей:

  • Directory Manager — суперадминистратор встроенной LDAP-базы данных (389 Directory Server).
  • admin — администратор домена IPA для повседневного управления.
Directory Manager password:
Password (confirm):

IPA admin password:
Password (confirm):

Активируем перенаправление DNS-запросов (forwarding) на вышестоящие серверы. Можно указать несколько, например, публичные DNS от Google или Cloudflare:

Do you want to configure DNS forwarders? [yes]: yes
The following DNS servers are configured in systemd-resolved: 8.8.8.8
Do you want to configure these servers as DNS forwarders? [yes]:

Разрешаем автоматический поиск отсутствующих обратных DNS-зон (reverse zones). Это важно для корректной работы многих сетевых служб:

Do you want to search for missing reverse zones? [yes]:

Имя NetBIOS (для совместимости с устаревшими системами Windows) определилось автоматически:

NetBIOS domain name [IPA]:

Сервер точного времени (Chrony) можно настроить позже, поэтому пока пропускаем этот шаг:

Do you want to configure chrony with NTP server or pool address? [no]:

Получаем сводку по назначенным параметрам и приступаем к установке:

The IPA Master Server will be configured with:
Hostname:       srv-ad-redos-01.ipa.rain.com
IP address(es): 10.213.7.4
Domain name:    ipa.rain.com
Realm name:     IPA.rain.COM

The CA will be configured with:
Subject DN:   CN=Certificate Authority,O=IPA.rain.COM
Subject base: O=IPA.rain.COM
Chaining:     self-signed

BIND DNS server will be configured to serve IPA domain with:
Forwarders:       8.8.8.8
Forward policy:   only
Reverse zone(s):  7.213.10.in-addr.arpa.

Проверяем, что установка прошла успешно. Обратите внимание на список открытых портов и рекомендацию по резервному копированию сертификатов:

Setup complete

Next steps:
        1. You must make sure these network ports are open:
                TCP Ports:
                  * 80, 443: HTTP/HTTPS
                  * 389, 636: LDAP/LDAPS
                  * 88, 464: kerberos
                  * 53: bind
                UDP Ports:
                  * 88, 464: kerberos
                  * 53: bind
                  * 123: ntp

        2. You can now obtain a kerberos ticket using the command: 'kinit admin'
           This ticket will allow you to use the IPA tools (e.g., ipa user-add)
           and the web user interface.

Be sure to back up the CA certificates stored in /root/cacert.p12
These files are required to create replicas. The password for these
files is the Directory Manager password
The ipa-server-install command was successful

Тест работоспособности IPA

Получаем билет (ticket) Kerberos для администратора домена. Kerberos — это сетевой протокол аутентификации, основанный на принципе «билетов», который обеспечивает безопасный вход в систему без необходимости передавать пароль по сети.

# kinit admin

Запрашиваем список текущих билетов для проверки:

[root@srv-ad-redos-01 etc]# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: admin@IPA.rain.COM

Valid starting       Expires              Service principal
14.11.2025 13:22:44  15.11.2025 12:54:12  krbtgt/IPA.rain.COM@IPA.rain.COM

Запрашиваем данные пользователя admin с помощью IPA-клиента:

# ipa user-find admin
---------------------------------------
установлено соответствие 1 пользователя
---------------------------------------
  Имя учётной записи пользователя: admin
  Фамилия: Administrator
  Домашний каталог: /home/admin
  Оболочка входа: /bin/bash
  Имя учётной записи: admin@IPA.rain.COM
  Псевдоним учётной записи: admin@IPA.rain.COM, root@IPA.rain.COM
  UID: 1140800000
  ID группы: 1140800000
  Учётная запись отключена: False
---------------------------------
Количество возвращённых записей 1
---------------------------------

Настройка Firewall

Если требуется защитить сервер с помощью брандмауэра firewalld, необходимо выполнить следующие команды для открытия портов, используемых службами IPA:

# dnf install firewalld
# systemctl enable --now firewalld
# firewall-cmd --permanent --add-port=53/{tcp,udp} --add-port={88,464}/{tcp,udp} --add-port=123/udp --add-port={389,636}/tcp --add-port=22/tcp
# firewall-cmd --reload

Пояснение:

  • 53/tcp,udp — DNS.
  • 88,464/tcp,udp — Kerberos.
  • 123/udp — NTP.
  • 389,636/tcp — LDAP и LDAPS.
  • 22/tcp — SSH для удалённого управления.

Подключение к LDAP-каталогу

Для визуального управления и просмотра LDAP-каталога удобно использовать графический клиент Apache Directory Studio (ADS), который можно скачать по адресу: https://directory.apache.org/studio/download/download-linux.html.

Скачать Apache Directory Studio

Приложение создано на платформе Eclipse. Если вы работали с DBeaver или другими IDE, то интерфейс будет вам знаком.

После запуска открывается основное окно приложения:

Apache Directory Studio основное окно приложения.

Выбираем мастер настройки подключения к LDAP:

Выбираем мастер настройки подключения к LDAP.

Настраиваем параметры подключения. В качестве Hostname указываем адрес нашего IPA-сервера, порт — 389 (или 636 для LDAPS). В поле Bind DN or user необходимо ввести Distinguished Name (DN) пользователя, который имеет права на чтение каталога.

Настройка подключения к LDAP.

DN пользователя admin можно получить с помощью команды:

# ipa user-find admin --all
---------------------------------------
установлено соответствие 1 пользователя
---------------------------------------
  dn: uid=admin,cn=users,cn=accounts,dc=ipa,dc=rain,dc=com
  Имя учётной записи пользователя: admin
  Фамилия: Administrator
  ...

Таким образом, Bind DN будет: uid=admin,cn=users,cn=accounts,dc=ipa,dc=rain,dc=com.

Проверяем настройки подключения и подключаемся:

Все ОК и можно авторизовываться.

После успешного подключения вы увидите древовидную структуру LDAP-каталога вашего домена IPA, что позволит вам наглядно изучать и управлять объектами (пользователями, группами, хостами и т.д.).

Структура LDAP IPA в RedOS

Заключение: На этом этапе мы успешно развернули первый контроллер домена IPA в RedOS 8 и проверили его работу. В следующих статьях рассмотрим добавление реплик для отказоустойчивости, присоединение клиентских машин к домену и настройку политик управления доступом.

Похожие записи

Создание кластера Managed Kubernetes в облаке Cloud.ru

Я уже рассказывал как создать кластер Kubernetes в Яндекс облаке и давайте сегодня рассмотрим создание кластера в облаке Cloud.ru. Особых отличий нет и мне кажется, что в облаке Cloud.ru создать…

Интеграция FreeIPA DNS и BIND DNS

Сегодня расссмотрим настройку интеграции FreeIPA DNS сервера в качестве мастер-контроллера DNS и двух внешних Bind-серверов для обслуживания собственных доменных зон в сети интернет. Регистрация собственных NS-серверов Прежде всего нам понадобится…

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Создание кластера Managed Kubernetes в облаке Cloud.ru

Создание кластера Managed Kubernetes в облаке Cloud.ru

Интеграция FreeIPA DNS и BIND DNS

Интеграция FreeIPA DNS и BIND DNS

Настройка централизованной авторизации в домене IPA на RedOS 8

Настройка централизованной авторизации в домене IPA на RedOS 8

Резервное копирование и восстановление FreeIPA

Резервное копирование и восстановление FreeIPA

Работа с самоподписанными сертификатами в Linux

Работа с самоподписанными сертификатами в Linux

Очередной сертификат

Очередной сертификат