Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10

  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)  (кроме работы с DogTag)

  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп.2  (кроме работы с DogTag)
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)  (кроме работы с DogTag)
  • Astra Linux Common Edition 2.12

Для использования службы DogTag в Astra Linux Special Edition x.7 требуется подключение расширенного репозитория, см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования.

Введение

FreeIPA (Free Identity, Policy and Audit) — открытый проект централизованной системы организации единого пространства пользователей (ЕПП), т.е. системы управления идентификацией и аутентификацией пользователей, политиками доступа и аудита. В состав FreeIPA входят:

  • служба каталогов 389 Directory Server;
  • служба аутентификации и единой точки входа MIT’s Kerberos;
  • службы BIND и DHCP (isc-dhcp-server или kea) для управления службой DNS в сети;
  • служба управления сертификатами DogTag (опционально);
  • web-интерфейс управления на основе Apache и Python.

FreeIPA также использует Samba для интеграции с Microsoft Active Directory и поддержки компьютеров на базе Microsoft Windows и Apple Macintosh.

Подготовка к запуску сервера

Важно!

Службы FreeIPA крайне чувствительны к правильным настройкам параметров операционной системы. Даже при запуске FreeIPA в тестовом режиме следует придерживаться приведенных ниже правил.

  1. Установку FreeIPA (реплик FreeIPA) необходимо выполнять на чистой ОС, на которой ранее не были установлены другие сервисы.
  2. Перед установкой убедиться, что установлены последние обновления безопасности, и обеспечить их установку.
  3. Работа FreeIPA в Astra Linux Special Edition c включенным МКЦ осуществляется только при отключенном режиме AstraMode web-сервера Apache2.

Доменные имена серверов FreeIPA

  • Для серверов (реплик) FreeIPA не рекомендуется использовать доменные имена первого уровня. Это значит, что нежелательно использовать имена, состоящие из одного слова, например domain, testdomain, mydomian. Следует использовать имена уровня два и более, то есть имена вида:

    domain.net
    testdomain.test.lan
    mycompany.ru

    и т. д.

  • В случаях, когда используется имя домена, не имеющее IP-адреса (например, при запуске в тестовых целях), инициализацию следует производить в режиме «для изолированной сети» (опция -o инструмента astra-freeipa-server или пункт «Изолированная сеть (без шлюза/DNS)» в меню «Расширенные опции» графического инструмента fly-admin-freeipa-server). Далее в примерах подразумевается инициализация именно в режиме «для изолированной сети». Проверить, имеет ли выбранный домен IP-адрес, можно из терминала командой nslookup или dig (входит в пакет dnsutils), например:

    nslookup <имя_домена>
    или
    dig <имя_домена>

  • В имени домена нельзя использовать кириллицу. 

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

  • Пароль администратора домена должен состоять не менее, чем из восьми символов.

Настройка серверов для FreeIPA

Для нормальной работы служб FreeIPA следует:

  • выделить для использования в качестве сервера FreeIPA отдельный (возможно, виртуальный) компьютер, на котором должно быть установлено не менее 2ГБ ОЗУ и не менее трех процессоров;
  • назначить этому компьютеру фиксированный IP-адрес, который впоследствии не должен изменяться;

  • в настройках сетевого интерфейса указать собственный IP-адрес компьютера в качестве первичного DNS (см. Настройка сетевых подключений в Astra Linux);

    Если IP-адреса выдаются компьютерам (контроллерам домена или клиентам домена) с помощью службы DHCP (см. статьи isc-dhcp-server и kea), то необходимо обеспечить сохранность настроек DNS, создаваемых при инициализации контроллера домена (вводе клиента в домен). Это можно сделать либо настройками службы DHCP (для клиентов), либо запретом получения параметров DNS от службы DHCP (для серверов).

  • в качестве второго DNS можно ничего не указывать или указать внешний DNS (может использоваться для доступа в Интернет, например, для установки пакетов из Интернет-репозиториев);

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

    cat /etc/resolv.conf

В файле /etc/hostname должно содержаться полное доменное имя  (FQDN) сервера, например astraipa.astradomain.ad.  Так как запросы к файлу /etc/hosts имеют приоритет перед обращением к DNS, файл /etc/hosts не должен использоваться в качестве базы данных доменных имен других хостов. Для предотвращения конфликтов с доменной службой DNS рекомендуется оставить в файле /etc/hosts только запись "самого себя", <IP-адрес> + имя в формате FQDN + короткое имя. Данная запись добавляется автоматически во время инициализации FreeIPA сервера.

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

sudo hostnamectl set-hostname <имя_сервера>


Настроить сеть, разрешив загрузку модулей протокола IPv6, при необходимости запретив их работу (см. IPv6: включение и выключение, выключение с сохранением стека IPv6)

  • Остальные настройки для быстрого запуска, инструменты Astra Linux выполняют самостоятельно.

Установка пакетов

Комплекты пакетов FreeIPA для сервера и клиентов входят в репозитории Astra Linux.Установить необходимые для установки сервера пакеты можно используя Графический менеджер пакетов synaptic, или из командной строки:

  • графический инструмент:

    sudo apt install fly-admin-freeipa-server

  • или инструмент командной строки:

    sudo apt install astra-freeipa-server

При работе в Astra Linux Common Edition при установке пакетов  автоматически устанавливаются пакеты центра сертификации DogTag.

При работе в Astra Linux Special Edition для работы с центром сертификации DogTag дополнительно требуется установить пакет dogtag-pki. Порядок установки см. в статьях:

В ходе установки пакетов будет выдано несколько предупреждений, которые можно игнорировать просто нажав "ОК". После установки графический инструмент fly-admin-freeipa-server будет доступен через меню:

"Пуск" - "Панель управления" - "Сеть" - "Настройка FreeIPA server fly"


Описание тестового примера

Для дальнейшего описания настройки сервиса FreeIPA принимаются следующие допущения:

  • создается собственный домен второго уровня с названием: astradomain.ad;

  • имя будущего контроллера сервера:

    • имя в краткой форме: astraipa

    • имя в полной форме (FQDN): astraipa.astradomain.ad

Быстрая инициализация сервера

Особенности быстрой инициализации

В зависимости от используемой ОС по умолчанию приняты следующие параметры быстрой инициализации:

  • В Astra Linux Special Edition x.7 на уровнях защищенности Усиленный и Максимальный и в Astra Linux Special Edition более ранних обновлений по умолчанию быстрая инициализация выполняется без использования центра сертификации DogTag
  • В иных вариантах Astra Linux по умолчанию быстрая инициализация выполняется с использованием центра сертификации DogTag.


Быстрая инициализация с помощью графического инструмента fly-admin-freeipa-server

Графический инструмент fly-admin-freeipa-server запускается из командной строки командой:

fly-admin-freeipa-server
После запуска на экране появляется форма для ввода данных, в которой нужно указать:

  • «Домен» - имя домена. В используемом примере это будет astradomain.ad;

  • «Имя компьютера» - имя компьютера. Определяется автоматически, в используемом примере заменим его на astraipa;

  • «Пароль» - пароль для администратора домена. Введенный пароль понадобится в дальнейшем для входа в web-интерфейс FreeIPA, и для работы с инструментами командной строки FreeIPA;

После ввода данных инициализация сервера FreeIPA осуществляется нажатием кнопки «Создать».

В процессе инициализации в соответствующем окне отображаются выполняющиеся операции.

После успешного выполнения инициализации на нижней рамке окна инструмента появится web-ссылка для перехода в web-интерфейс FreeIPA, что позволяет войти в web-интерфейс FreeIPA и продолжить настройку через него. Первый вход в web-интерфейс и процедуры работы с ним описаны ниже.

Инициализация с использованием центра сертификации DogTag

При инициализации контроллера домена FreeIPA с использованием центра сертификации DogTag на платформах, отличных от платформы x86-64 рекомендуется перед началом инициализации создать переменную окружения PKISPAWN_STARTUP_TIMEOUT_SECOND и присвоить ей значение не менее 600. Подробнее см. Присвоение значений переменным окружения для пользовательских сессий.


Для Astra Linux Common Edition и для Astra Linux Special Edition x.7

Для инициализации FreeIPA с центром сертификации DogTag предварительно должны быть установлены необходимые пакеты. См. Установка пакетов.

Для автоматической инициализации FreeIPA с подключением центра сертификации DogTag с помощью графического инструмента fly-admin-freeipa-server:

  1. Запустить инструмент;
  2. Нажать кнопку "Показать расширенные опции";
  3. Отметить пункт "Настроить центр сертификации":


Для Astra Linux Special Edition выпущенных до очередного обновления x.7

См. FreeIPA: Подключение центра сертификации DogTag в Astra Linux Special Edition 1.6.

Быстрая инициализация с помощью инструмента командной строки astra-freeipa-server

При правильно выполненных предварительных настройках и установке пакетов инициализация сервера FreeIPA с помощью инструмента командной строки astra-freeipa-server может быть осуществлена командой:

sudo astra-freeipa-server -n <короткое_имя_сервера> -d <имя_домена>
например:
sudo astra-freeipa-server -n astraipa -d astradomain.ru
После ввода команды инструмент определит адрес компьютера, выведет на экран все исходные данные, и запросит подтверждение дальнейших действий:

compname= astraipa
domain= astradomain.ad
будет использован ip address = 192.168.32.97 или укажите ip адрес ключем -ip
продолжать ? (y\n)

Для подтверждения введите «y» и нажмите Enter.

После подтверждения инструмент попросит ввести и подтвердить пароль для администратора домена. Введенный пароль понадобится в дальнейшем для входа в web-интерфейс FreeIPA, и для работы с инструментами командной строки FreeIPA. 

После ввода пароля автоматически будет выполнен процесс инициализации входящих в FreeIPA подсистем. Ход выполнения будет отображаться на экране. В завершение будут выданы сообщения о перезапуске различных системных служб:

Restarting Directory Service
...
ipa: INFO: The ipactl command was successful
Существует настроенный домен
host = astraipa.astradomain.ad
basedn = dc=astradomain,dc=ad
domain = astradomain.ad
xmlrpc_uri = https://astraipa.astradomain.ad/ipa/xml
WEB: https://astraipa.astradomain.ad

Эти сообщения говорят об успешном завершении процесса.

Теперь можно войти в web-интерфейс FreeIPA по указанному в последней строке адресу, и продолжить настройку через него. Первый вход в web-интерфейс и процедуры работы с ним описаны ниже.

Инициализация с использованием центра сертификации DogTag

Для настройки FreeIPA с одновременной автоматической настройкой центра сертификации DogTag используйте опцию --dogtag, например:

sudo astra-freeipa-server -o --dogtag

Инициализация без использования центра сертификации DogTag

Для настройки FreeIPA без настройки центра сертификации DogTag используйте опцию --ssl, например:

sudo astra-freeipa-server -o --ssl

Первый вход в web-интерфейс FreeIPA

После завершения процедур запуска для входа в web-интерфейс можно просто перейти по ссылке, предоставленной использованным инструментом.

В примерах, приведенных в настоящем документе, для обеспечения защиты подключения используются сертификаты автоматически создаваемого удостоверяющего центра, неизвестного системе безопасности web-сервера.
Поэтому, при первой попытке подключения на экране браузера, появится сообщение о том, что соединение не защищено. В такой ситуации следует:

  • нажать кнопку «Дополнительно»

  • в открывшемся окне нажать кнопку «Добавить исключение»

  • в открывшейся экранной форме нажать кнопку «Подтвердить исключение безопасности»

и на экране браузера откроется WEB/-интерфейс FreeIPA.

Для входа в web-интерфейс используйте имя администратора и пароль, ранее заданные при инициализации системы. Также, теперь с помощью программы astra-freeipa-client, к созданному сервису можно подключать другие машины.

В случае, если при входе в web-интерфейс открывается пустая страница — внимательно проверьте, что для подключения к web-интерфейсу используются:

  • протокол HTTPS (адресная строка в браузере должна начинаться с тега «https://», например, правильно: https://astraipa.astradomain.ad);
  • полное доменное имя сервера FreeIPA (например, неправильно: https://localhost или https://127.0.0.1)

Проверка запущенных служб и ролей FreeIPA

Для проверки состояния запущенных служб FreeIPA можно использовать инструмент командной строки ipactl. Состав служб зависит от конфигурации установки и от используемого обновления ОС. Например, для Astra Linux Common Edition типичный набор служб выглядит так:

sudo ipactl status

Directory Service: RUNNING
krb5kdc Service: RUNNING
kadmin Service: RUNNING
named Service: RUNNING
ipa_memcached Service: RUNNING
httpd Service: RUNNING
ipa-custodia Service: RUNNING
ntpd Service: RUNNING
pki-tomcatd Service: RUNNING
ipa-otpd Service: RUNNING
ipa-dnskeysyncd Service: RUNNING
ipa: INFO: The ipactl command was successful
В зависимости от используемого обновления операционной системы или выбранной при инициализации конфигурации сервера состав служб может изменяться. Например:

  • в Astra Linux Special Edition очередное обновление x.7 вместо службы настройки времени ntpd используется служба chrony;
  • если не используется служба DogTag (обычно в Astra Linux Special Edition), то в выводе команды нет информации о службе pki-tomcatd;
  • если используются службы samba и winbind, то соответствующие строки добавляются в вывод (см. Samba + FreeIPA аутентификация пользователей Samba в Kerberos).

Для проверки ролей сервера можно использовать web-интерфейс FreeIPA (путь Закладка "FreeIPA" => Пункт "Топология" => Пункт "Роли сервера"), например:


Удаление и переустановка сервера FreeIPA

Для удаления сервера FreeIPA следует использовать инструмент astra-freeipa-server, учитывающий особенности настроек FreeIPA в Astra Linux. Команда для удаления:

sudo astra-freeipa-server -U
Для переустановки сервера FreeIPA рекомендуется использовать переустановленную ("чистую") ОС.