Продолжаем разбираться с работой 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

Примечание: Клонирование виртуальных машин или физических серверов должно сопровождаться тщательной проверкой уникальности таких параметров, как 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.

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

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

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

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, что позволит вам наглядно изучать и управлять объектами (пользователями, группами, хостами и т.д.).

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




