Настройка централизованной авторизации в домене 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 и проверили его работу. В следующих статьях рассмотрим добавление реплик для отказоустойчивости, присоединение клиентских машин к домену и настройку политик управления доступом.

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

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

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

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования