// Engineering Log

Учётные записи и SSO: Часть 3 — FreeIPA

Опубликовано 22.09.2026

// Быстрый маршрут

Эта статья относится к теме Серверы и инфраструктура.

FreeIPA — система централизованного управления учётными записями для Linux-серверов и рабочих станций. Она решает ту же задачу, что Active Directory в мире Windows: пользователи, группы, пароли, права доступа к серверам и правила sudo хранятся в одном месте, а не настраиваются на каждой машине отдельно.

Из чего состоит

FreeIPA объединяет проверенные открытые компоненты в один управляемый комплекс:

  • 389 Directory Server — LDAP-каталог, где хранятся пользователи, группы, хосты и политики;
  • MIT Kerberos — единый вход: пользователь получает билет один раз и заходит на серверы без повторного ввода пароля;
  • Dogtag — центр сертификации для выпуска сертификатов серверам и службам;
  • DNS на BIND со встроенным хранением зон в каталоге — необязательный компонент;
  • SSSD на клиентах — кэширует учётные данные и позволяет входить даже при временной недоступности сервера.

Управлять всем можно через веб-интерфейс, командную строку ipa и API. Интеграционный слой FreeIPA распространяется под GPLv3, компоненты сохраняют собственные лицензии. Актуальная версия на сентябрь 2026 года — 4.13.4.

Важное уточнение: начиная с версии 4.7 сервер FreeIPA не раздаёт точное время. Служба ntpd заменена на chrony, и серверы FreeIPA синхронизируют время только как клиенты. Точное время для Kerberos по-прежнему критично, поэтому источник NTP в сети нужен отдельно.

Что даёт на практике

  • Централизованные учётные записи. Сотрудник заводится один раз и входит на все подключённые серверы; при увольнении учётная запись блокируется в одном месте.
  • Правила доступа (HBAC). Какая группа на какие серверы и через какие службы может входить.
  • Централизованный sudo. Правила повышения прав хранятся в каталоге, а не в файлах на каждом сервере.
  • SSH-ключи в каталоге. Открытые ключи пользователей хранятся в FreeIPA, и SSSD отдаёт их серверу при входе.
  • Сертификаты для служб от собственного центра сертификации.
  • Доверие с Active Directory. Пользователи домена Windows могут входить на Linux-серверы под своими учётными записями, при этом переносить их в FreeIPA не нужно.

Как установить

Сервер ставят на RHEL-совместимую систему (RHEL, AlmaLinux, Rocky Linux) или Fedora. Требования: постоянный IP-адрес, полное доменное имя сервера (например, ipa.example.lan), корректное разрешение имён и точное время.

bash
dnf install ipa-server ipa-server-dns
ipa-server-install --setup-dns
kinit admin

Установщик спросит имя домена и Kerberos-realm, пароль администратора каталога (Directory Manager) и пароль учётной записи admin — оба не короче 8 символов. После установки kinit admin получает билет Kerberos, а проверить его можно командой klist. Клиенты подключают командой ipa-client-install; параметр --mkhomedir создаёт домашний каталог при первом входе.

Для второго сервера и отказоустойчивости настраивают репликацию (ipa-replica-install): без реплики сбой единственного сервера оставит всех без входа.

Доверие с Active Directory

Схема по документации проекта:

bash
ipa-adtrust-install --netbios-name=IPA -a 'пароль-admin'
ipa trust-add --type=ad ad.example.lan --admin Administrator --password
ipa trust-fetch-domains ad.example.lan

Главное условие — взаимная видимость доменов в DNS: на контроллере AD и на сервере FreeIPA настраивают условную пересылку зон друг друга. Кроме того, должны совпадать время на серверах и быть открыты порты Kerberos (88), LDAP (389), SMB (445) и другие из списка документации.

Ограничения

  • Сложность. Kerberos, LDAP, DNS и сертификаты требуют квалификации; ошибки в DNS или во времени дают трудноуловимые отказы входа.
  • Не для веб-приложений. Вход пользователей в веб-сервисы по OIDC — задача Keycloak, который может брать пользователей из FreeIPA по LDAP.
  • Серверная платформа. Сервер FreeIPA ставится на RHEL-совместимые системы и Fedora; клиенты работают и на других дистрибутивах.

Типичные ошибки

  • Один сервер FreeIPA без реплики.
  • Неправильное имя хоста или DNS: установка проходит, а потом клиенты не находят сервер.
  • Отсутствие источника точного времени в сети после перехода на chrony.
  • Установка на сервер, где уже работают другие службы, занимающие порты 80, 443 или 389.

Когда выбирать

FreeIPA нужен, когда серверов на Linux десятки и больше и управлять учётными записями вручную уже невозможно, а также когда Linux-серверы нужно связать с существующим доменом Active Directory. Для входа пользователей в один веб-сайт это избыточное решение.

// Похожая задача

Если у вас похожая ситуация

Эта статья относится к одной из рабочих тем. Можно продолжить чтение по теме, перейти на главную, чтобы понять, чем я занимаюсь, или сразу открыть услуги.

Тема статьи

Серверы и инфраструктура

VPS, Linux, веб-стек, миграции, хостинг, базы данных и базовая эксплуатация.

Часто с этим приходят

  • Перенести сайт или сервис на новый сервер
  • Настроить Linux, Nginx, базу данных и бэкапы
  • Разобраться, почему всё работает нестабильно

// Следующий шаг

Если вам нужна не только статья, а помощь по этой теме, удобнее сразу перейти в услугу. Главная и подборка материалов остаются рядом.

Открыть услуги

// Contact

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Написать в Telegram

Отвечаю в течение рабочего дня (03:00–13:00 GMT)

Или оставьте заявку здесь:

Подтвердите, что вы не бот.

Написать и получить быстрый ответ