Настройка FreeIPA для централизованного управления идентификацией
Мы разворачиваем FreeIPA для клиентов, которые мучаются с хаосом в управлении доступом на 100–500 Linux-серверах. Учётные записи разбросаны по /etc/passwd, sudo-правила правятся вручную на каждой машине, SSH-ключи синхронизируются костылями. В результате — риск ошибок и дыры в безопасности. FreeIPA решает эти проблемы: единый LDAP-каталог, Kerberos-аутентификация, централизованные HBAC и sudo-политики, встроенный PKI и двухфакторная аутентификация. Всё управляется из веб-консоли или через Ansible. FreeIPA — нативное Linux-решение, не требующее дополнительных мостов. Оно даёт полный контроль над доступом к серверам, автоматически раздаёт Kerberos-тикеты и TLS-сертификаты. Экономия на лицензиях Active Directory может достигать $15 000 в год для инфраструктуры на 200 пользователей — внедрение окупается за 3–6 месяцев. Кроме того, сокращается время администратора на управление доступом на 80%, что равно экономии около $10 000 в год на зарплате одного сотрудника.
«FreeIPA обеспечивает централизованное управление идентификацией для тысяч серверов с минимальными затратами на обслуживание» — документация проекта.
Какие проблемы решает FreeIPA?
Разрозненные учётные записи. Когда у каждого сервера свои пользователи, приём или увольнение сотрудника превращается в ад. FreeIPA даёт единый источник правды: пользователь создаётся один раз и получает доступ ко всем разрешённым серверам. Время на создание аккаунта сокращается с 20 минут до 2.
Ручные sudo-правила. Правки в /etc/sudoers на каждом сервере — источник ошибок. FreeIPA централизует sudo через HBAC. Например, можно разрешить SRE-команде выполнять systemctl только на production-серверах. Настройка одного правила занимает 5 минут, а не день ротации по всем машинам.
Управление сертификатами. Внутренние сервисы часто используют самоподписанные сертификаты, что опасно и неудобно. FreeIPA включает центр сертификации Dogtag PKI, который автоматически выписывает и обновляет сертификаты через certmonger. Это избавляет от ручного обновления и снижает риск компрометации.
Как мы разворачиваем FreeIPA?
Архитектура: primary-сервер и реплика для отказоустойчивости. Репликация multi-master — оба сервера могут принимать изменения. Установка на RHEL 8/9 или AlmaLinux.
Шаг 1: Установка primary-сервера:
dnf install freeipa-server freeipa-server-dns
ipa-server-install --domain=corp.example.com --realm=CORP.EXAMPLE.COM \
--ds-password=... --admin-password=... --setup-dns --forwarder=8.8.8.8 --auto-reverse --unattendedПосле установки проверяем: kinit admin && ipa user-find --all | head -20. Шаг 2: Установка реплики:
ipa-replica-install --principal admin --admin-password=... --setup-dns --forwarder=8.8.8.8 --unattended Шаг 3: Подключение клиентов через Ansible или вручную:
dnf install freeipa-client ipa-client-install --domain=corp.example.com --server=ipa01.corp.example.com \
--principal=admin --password=... --mkhomedir --unattendedПосле этого на клиентах работает sssd, пользователи аутентифицируются по Kerberos, применяются HBAC- и sudo-правила. Весь процесс установки двух серверов и интеграции клиентов занимает 2–4 дня.
Как настроить HBAC и sudo-политики?
HBAC — альтернатива /etc/sudoers. Создаём группы серверов и пользователей, затем правило:
ipa hostgroup-add production-servers --desc="Production Linux Servers"
ipa hostgroup-add-member production-servers --hosts=app01.corp.example.com
ipa group-add sre-team
ipa group-add-member sre-team --users=jsmith
ipa hbacrule-add allow-sre-production --servicecat=all
ipa hbacrule-add-host allow-sre-production --hostgroups=production-servers
ipa hbacrule-add-user allow-sre-production --groups=sre-team
ipa hbactest --user=jsmith --host=app01.corp.example.com --service=sshdПо умолчанию действует правило allow_all — его отключаем: ipa hbacrule-disable allow_all. Затем создаём явные правила.
Sudo-политики управляются аналогично: создаём sudo-команды, группы команд и правила. На клиенте sudo обращается к FreeIPA через sssd — никаких ручных файлов. Время настройки для типовой инфраструктуры из 50 серверов — около 3 часов.
Как обеспечить отказоустойчивость и резервное копирование?
Для отказоустойчивости разворачиваем реплику FreeIPA с multi-master репликацией. При выходе из строя primary-сервера клиенты автоматически переключаются на реплику через DNS SRV-записи. Рекомендуется минимум два сервера в разных дата-центрах. Резервное копирование выполняется встроенной командой ipa-backup. Бэкапы хранятся в /var/lib/ipa/backup/. Рекомендуется бэкапить все серверы, особенно primary. Автоматизация копирования настраивается через cron и Ansible.
PKI и двухфакторная аутентификация
FreeIPA включает Dogtag PKI. Сертификаты для внутренних сервисов запрашиваются через ipa-getcert и автоматически обновляются certmonger. Это избавляет от ручного управления и снижает затраты на покупку платных сертификатов. OTP-токены на основе TOTP добавляются командой ipa otptoken-add. Пользователь вводит пароль + код из приложения — для SSH это работает через PAM+sssd. Внедрение PKI и OTP занимает 1–2 дня.
Сравнение: FreeIPA vs Active Directory
| Критерий | FreeIPA | Active Directory |
|---|---|---|
| Нативная поддержка Linux | Да | Требуется отдельный AD-мост |
| HBAC и sudo | Встроены | Нет прямых аналогов |
| PKI | Dogtag PKI | Active Directory Certificate Services |
| Лицензия | Open source (GPL) | Платная |
| Интеграция с Ansible | Встроенная коллекция | Через winrm |
FreeIPA легче интегрируется с Linux-стеком, не требует лицензий и экономит до $15 000 в год на 200 пользователях. Для гетерогенных сред AD может быть необходим, но для чистого Linux — FreeIPA удобнее и дешевле.
Этапы работы и что входит
| Этап | Срок |
|---|---|
| Планирование архитектуры и подготовка серверов | 0.5 дня |
| Установка primary-сервера и реплики | 1–2 дня |
| Подключение клиентов через Ansible | 1 день |
| Настройка HBAC, sudo-политик, PKI, OTP | 2–3 дня |
| Тестирование, документация, обучение | 1 день |
Отметим: что входит в работу:
- Проект архитектуры (домен, DNS, репликация).
- Деплой primary и replica, настройка репликации.
- Интеграция с существующей DNS (при необходимости).
- Ansible-плейбуки для подключения клиентов.
- Настройка HBAC и sudo-политик под вашу структуру.
- Выпуск сертификатов через PKI, настройка OTP.
- Документация по эксплуатации и резервному копированию.
- Обучение администраторов (2–3 часа).
Итоговый срок — 5–8 рабочих дней в зависимости от масштаба. Свяжитесь с нами, чтобы обсудить вашу инфраструктуру. Получите консультацию эксперта по FreeIPA — и забудьте о ручном управлении доступом.







