Добавление аутентификации через FreeIPA

При необходимости ввода в домен FreeIPA, развернутый на ОС Astra Linux Special Edition, ВРМ с другой гостевой ОС Linux, необходимо внести изменения в файл /usr/lib/python3.6/site-packages/ipalib/constants.py (см. подраздел Подготовка базового ВРМ).

Для добавления аутентификации через FreeIPA администратору Termidesk следует перейти «Компоненты - Домены аутентификации», затем нажать экранную кнопку [Создать] и выбрать из выпадающего списка «FreeIPA». Далее необходимо заполнить данные, перечисленные в столбце «Параметр» следующей таблицы.

Termidesk поддерживает авторизацию пользователей, находящихся во вложенных доменных группах FreeIPA.

Данные для добавления аутентификации через FreeIPA

ПараметрОписание
«Название»Текстовое наименование домена аутентификации
«Комментарий»Информационное сообщение, используемое для описания назначения источника сведений о субъектах и их полномочиях
«Приоритет»

Преимущество использования домена аутентификации при проверке субъекта и его полномочий.

Порядок отображения доменов зависит от приоритета домена и его наименования:

  • чем ниже приоритет, тем выше домен в списке;
  • при наличии доменов с одинаковым приоритетом действует сортировка по алфавиту
«Метка»Информационное поле, используемое для идентификации объекта во внутренней структуре данных Termidesk.

Начиная с Termidesk версии 5.1 поле может состоять из букв латинского алфавита, цифр, знаков «-» (дефис) и «_» (подчеркивание)

«Субъекты»

Выбор субъектов, для которых будет доступен домен аутентификации. 

Возможные значения:

  • «Все» - домен аутентификации будет доступен как для пользователей, так и для администраторов и персонала. Такое значение выбирается, если домен аутентификации должен быть доступен на «Портале администратора», «Портале пользователя», «Портале универсальном», и при подключении из компонента «Клиент»;
  • «Администраторы и персонал» - домен аутентификации будет доступен только для администраторов и персонала. Такое значение выбирается, если домен аутентификации должен быть доступен только на «Портале администратора» или «Портале универсальном»;
  • «Пользователи» - домен аутентификации будет доступен только для пользователей. Такое значение выбирается, если домен аутентификации должен быть доступен на «Портале пользователя», «Портале универсальном» или при подключении пользователя из компонента «Клиент»;
  • «Система» - домен аутентификации не будет доступен ни для пользователей, ни для администраторов и персонала
«Порталы»

Выбор порталов фермы Termidesk, для которых будет доступен домен аутентификации. Если портал не выбран, то домен аутентификации не будет доступен для него.

В списке доступных значений отображаются все узлы со страницы «Инфраструктура - Порталы» с их полным доменным именем.

Администратору нужно выбирать узел в соответствии со значением, указанным в параметре «Субъекты».

Примеры:

  • если в параметре «Субъекты» указано «Пользователи», то в параметре «Порталы» должен быть выбран узел, соответствующий либо «Порталу пользователя», либо «Порталу универсальному»;
  • если в параметре «Субъекты» указано «Администраторы и персонал», в параметре «Порталы» должен быть выбран узел, соответствующий либо «Порталу администратора», либо «Порталу универсальному»;
  • если в параметре «Субъекты» указано «Все», то в параметре «Порталы» может быть выбран узел, соответствующий либо «Порталу пользователя», либо «Порталу администратора», либо «Порталу универсальному». Значение выбирается исходя из потребностей в разделении доменов аутентификации для того или иного субъекта.

При изменении списка узлов на странице «Инфраструктура - Порталы»:

  • если узел удален, то он автоматически удалится из списка доступных значений для этого параметра. Уже назначенное значение удалится из свойств домена аутентификации;
  • если узел добавлен, то он автоматически добавится в список доступных значений для этого параметра, но не будет автоматически выбран для использования.

В случае, если в параметре «Порталы» был указан единственный узел, который затем был удален из «Инфраструктура - Порталы», то этот домен аутентификации не будет доступен ни в каком из порталов.

Для выбора всех порталов используется значение «Все»

«Сервисный аккаунт»Название сервисного аккаунта, созданного в службе каталогов FreeIPA
«Домен»Идентификатор области Kerberos для аутентификации
«Keytab»

Путь к файлу с ключами для сервисного аккаунта (пример формирования файла приведен в подразделе Получение и добавление файла keytab). Каждая генерация keytab должна производиться в новый файл. При необходимости повторного использования имени файла существующий файл обязательно должен быть удален перед генерацией.

Неважно, для какого узла создан keytab, необходимо само его наличие.

Пример задания значений:

Если используется хранилище, то сгенерированный на контроллере домена keytab-файл должен быть преобразован к формату BASE64.

«Сервер FreeIPA»FQDN ресурса, являющегося источником сведений о субъектах и их полномочиях
«Проверка SSL»Проверка использования SSL
«Метадомен аутентификации»

Выбор метадомена аутентификации, в который будет входить добавляемый домен.

Метадомен аутентификации должен быть предварительно создан (см. подраздел Добавление метадомена аутентификации)

«Динамическая проверка членства пользователя в группах»

Параметр доступен в новом интерфейсе.

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

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

Особенности функционирования:

  • если пользователю уже назначено РМ, то проверяется вхождение пользователя в группу, указанную в свойствах фонда РМ. Проверка выполняется каждый раз при доступе к ресурсу. При этом если у пользователя отозваны права на доступ, то он:
    • либо не увидит скрытый ресурс в зависимости от настройки «Скрывать недоступные ресурсы»;
    • либо увидит, но не сможет получить доступ к нему;
    • либо получит доступ к назначенному РМ, если права доступа были назначены на другую группу, в которую входит пользователь и которая указана в свойствах фонда РМ;
    • либо получит доступ к назначенному РМ, если оно назначено на учетную запись пользователя напрямую.

Возможные значения:

  • «Режим совместимости 6.0» (по умолчанию) - при аутентификации пользователя происходит запрос к службе каталогов для проверки его вхождения в группы. После этого группы пользователя актуализируются в БД.  При попытке получить ресурс из фонда доступ определяется на основе информации из БД (БД не обновляется);
  • «Периодическое обновление» - если пользователя нет в БД и он впервые аутентифицируется, то происходит запрос к службе каталогов для получения актуальной информации о нем. Если пользователь есть в БД, то информация берется из нее. Актуализация пользователей и групп для всех доменов аутентификации с этим значением выполняется периодической фоновой задачей раз в 24 часа;
  • «Динамическая проверка» - при аутентификации пользователя или получении ресурсов происходит запрос к службе каталогов для получения актуальной информации о нем. При обращении к службе каталогов информация о полученных группах кешируется во внутренней памяти. Время кеширования определяется системным параметром «Таймаут кеша хранения групп домена, с»

При добавлении второго домена аутентификации необходимо создать новый файл keytab и задать ему имя, отличное от уже существующего. 

Добавление второго домена аутентификации не отличается от добавления первого.

Для возможности подключения двухфакторной аутентификации (2FA) нужно включить экспериментальный параметр experimental.2fa.enabled (см. подраздел Управление экспериментальными параметрами Termidesk).

После включения параметра при переходе «Компоненты - Домены аутентификации» и нажатия экранной кнопки [Создать] появятся новые домены аутентификации:

  • «FreeIPA (2FA, эксперим.)» - позволяет всем пользователям проходить двухфакторную аутентификацию;
  • «FreeIPA (2FA, нативн., эксперим.)» - пользователям требуется вручную отправлять QR-код для настройки двухфакторной аутентификации.

Двухфакторная аутентификация доступна только при входе в Termidesk через веб-интерфейс. Для ее прохождения необходимо установить приложение FreeOTP Authenticator на мобильные устройства пользователей.

Termidesk не реализует непосредственно механизм аутентификации. На контроллере домена FreeIPA должна быть подключена двухфакторная аутентификация, только после этого ее необходимо добавить в Termidesk, как приведено выше.