[ ] [ Общие сведения ] [ Требования к окружению ] [ Установка и настройка компонента на стороне Avanpost FAM Server ] [ Настройка конфигурации FAM Agent ] [ Установка и обновление на рабочей станции под управлением ОС Linux ] [ Настройка механизма дистрибуции ] [ Запуск и настройка ] [ Проверка после установки и обновления ] [ Приложение А. Пример конфигурационного файла avanpost_fam_agent.dll.config ] [ Приложение Б. Пример Discovery-документа FAM Agent ] [ Приложение В. Эндпоинты FAM Agent ]
Общие сведения
Компонент Avanpost FAM Agent устанавливается локально для решения следующих задач:
- осуществления 2FA/MFA в унаследованных десктопных приложениях при использовании механизма аутентификации Enterprise SSO;
- SSO при переключении между унаследованными десктопными приложениями, подключенными посредством механизма Enterprise SSO;
- кросспротокольной аутентификации посредством механизма Unified SSO.
В FAM Agent осуществляется автоматическая передача информации о сессии из компонентов Windows Logon/Linux Logon. В случае успешной аутентификации пользователя посредством Windows Logon/Linux Logon повторная аутентификация с использованием FAM Agent не требуется.
В случае, если пользователь проявляет активность на рабочей станции, FAM Agent автоматически продлевает время жизни сессии, не требуя повторного прохождения аутентификации.
Поддерживаются следующие типы операционные системы семейства Linux:
- RED OS;
- RoSA;
- Astra Linux 1.7+;
- CentOS;
- ALT Linux/ALT Linux-server;
- Debian;
- Ubuntu.
Требования к окружению
Перед выполнением развёртывания по текущей инструкции необходимо выполнение следующих условий на стороне рабочей станции:
- Доступ к выполнению команд от имени суперпользователя:
- Скачанный актуальный RPM/DEB-пакет FAM Agent;
- Сетевой доступ к Avanpost FAM Servert;
- Для работы графического интерфейса должна быть установленная среда рабочего стола (KDE, Xfce, MATE, GNOME, Cinnamon).
Установка и настройка компонента на стороне Avanpost FAM Server
Настройка компонента в интерфейсе административной консоли Avanpost FAM Server осуществляется в следующей последовательности:
- Зайти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
- На этапе "Основные настройки" требуется ввести наименование и выбрать тип OAuth/Open ID Connect (более подробно процесс создания и управления приложениями описан в разделах Управление приложениями и Управление OpenID Connect-приложениями).
На этапе "Настройки интеграции" необходимо установить настройки приложения (более подробно описано в Шаг 2. Настройки интеграции для OIDC-приложения). Обязательно требуется задать значения параметров в графе
Secret (произвольный секретный ключ, который будет использоваться для подключения к приложению) иRedirect URIs(URL-адрес, на который пользователь будет перенаправлен после успешной аутентификации).Администратор может сменить секретный ключ (например, при компрометации ключа) в профиле созданного приложения во вкладке "Настройки" в разделе "Смена секрета".
Секретный ключ должен совпадать с тем, который задается в конфигурационном файле/в мастере установки на рабочей станции пользователя.
На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 3. Настройки аутентификации для OIDC-приложения).
- На этапе "Завершение" установить флажок "Сделать приложение активным" и сохранить (более подробно описано в Шаг 4. Завершение для OIDC-приложения).
- После создания приложения требуется найти его в режиме "Приложения" и зайти в профиль, нажав на название приложения. Зайти во вкладку "Настройки" и нажать для перехода в режим редактирования.
- В режиме редактирования следует задать следующие параметры:
–ID synonym- Cиноним идентификатора приложения;
–Allowed grant types- Перевести переключатель в положение "Активно" () для следующих Grant Types:Refresh tokenиPassword. - Перейти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
- На этапе "Основные настройки" ввести наименование и выбрать тип Enterprise SSO (более подробно описано в разделе Шаг 1. Основные настройки для Enterprise SSO-приложений).
На этапе "Настройки интеграции" в текстовое поле ввести шаблон приложения (более подробно описано в Шаг 2. Настройки интеграции для Enterprise SSO-приложений):
Шаблон приложения представлен в виде JSON-блока, содержащего параметры, определяющие признаки перехвата окон десктопного приложения, и последовательный набор команд для заполнения и сабмита формы аутентификации десктопного приложения. Шаблон может меняться по мере развития FAM Agent. Разработка шаблона приложения описана в разделе Разработка шаблона Enterprise SSO.
{ "authenticateTemplates": [ { "commands": [ { "commandType": "Sleep", "sleepTime": 100 }, { "commandType": "TextEntry", "textMessage": "$user" }, { "commandType": "KeyPress", "code1": "TAB" }, { "commandType": "TextEntry", "textMessage": "$password" }, { "commandType": "KeyPress", "code1": "RETURN" } ], "grab": [ { "windowName": "Login", "processName": "mockauth" }, { "windowName": "Login2", "processName": "mockauth", "windowClassName": "SomeWindowClassNameIfItNeed" } ] } ], "changePasswordTemplates": [ { "commands": [ { "commandType": "Sleep", "sleepTime": 100 }, { "commandType": "TextEntry", "textMessage": "$user" }, { "commandType": "KeyPress", "code1": "TAB" }, { "commandType": "TextEntry", "textMessage": "$password" }, { "commandType": "KeyPress", "code1": "TAB" }, { "commandType": "TextEntry", "TextMessage": "$newpassword" }, { "commandType": "KeyPress", "code1": "RETURN" } ], "grab": [ { "windowName": "ChangePassword", "processName": "mockauth" } ] } ] }На этапе "Настройки аутентификации" следует выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно в Шаг 3. Настройки аутентификации для Enterprise SSO-приложений).
- На этапе "Завершение" установить флажок "Сделать приложение активным" и сохранить.
Создать новую группу. Для этого необходимо нажать кнопку "Добавить группу" в режиме "Группы" и в открывшейся вкладке ввести запрашиваемые параметры (более подробно в Добавление новых групп).
Добавить в группу пользователей, которые будут аутентифицироваться в настроенных приложениях. Ручное добавление пользователей администратором реализуется в профиле группы. Также доступ пользователя к группам и ролям допускается редактировать в УЗ пользователя.
Назначить ранее созданные OAuth/Open ID Connect и Agent-приложения в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданных приложений.
Для настройки централизованной аутентификации в desktop-приложениях через Avanpost FAM в учетных записях пользователей зайти во вкладку "Приложения" в раздел "Учетные записи" в графу "Приложение" и выбрать в выпадающем списке
FAM_Agent.- Для Упрощения настройки на стороне клиента при помощи Discovery-документа следует:
- Перейти в раздел "Системные настройки" режима "Сервис".
- В разделе "Конфигурация FAM Агента" в параметре "OpenID-приложение для агента" выбрать из выпадающего списка настроенное OIDC-приложение и нажать кнопку "Сохранить".
- Для использования Avanpost FAM Agent совместно в контексте механизма Unified SSO требуется выполнить дополнительную настройку приложений, в которые пользователи смогут аутентифицироваться USSO (более подробная настройка описана в статье Настройка Unified SSO):
- Для ранее созданных OpenID Connect/Reverse Proxy/SAML-приложений перейти во вкладку "Настройки интеграции" в профиле приложения и установить флаг в чекбокс "Включить USSO" (для приложений типа Enterprise SSO использование механизма USSO доступно автоматически и не требует дополнительной настройки).
- При необходимости использования встроенных механизмов аутентификации операционных систем совместно с Unified SSO приложений настроить Windows Logon и/или Linux Logon-приложения.
- При необходимости использования LDAP-аутентификации настроить LDAP Proxy-приложение (более подробно в статьях Установка FAM LDAP Proxy в ОС Linux из tar.gz-архива и Управление LDAP Proxy-приложениями).
Для того, чтобы после входа через Windows/Linux Logon/LDAP Proxy-механизмы дальнейшая аутентификация проходила бесшовно, процесс аутентификации, настроенный для LDAP Proxy/Windows/Linux Logon-приложения, и процесс аутентификации, настроенный для OIDC-приложения FAM Agent, должны быть идентичны. В случае, если процессы отличаются, будет запрошено прохождение дополнительных факторов, которые не запрашивались в процессе Windows/Linux Logon/LDAP-аутентификации. Для изменения факторов аутентификации настроенных приложений требуется скорректировать факторы во вкладке MFA в профиле настроенных приложений (функционал основных вкладок описан в разделе Управление приложениями). Если для приложений, в которые аутентифицируется пользователь посредством USSO, были настроены дополнительные факторы аутентификации, они также будут запрошены при попытке пользователя авторизоваться в данных приложениях.
- Убедиться, что пользователи, которые должны аутентифицироваться посредством USSO, добавлены в группы, предоставляющие доступ к приложениям из всей цепочки USSO-аутентификации (например, если пользователь должен аутентифицироваться через встроенные механизмы аутентификации Windows в 1C:Предприятие, то ему должен предоставлен доступ к соответствующему Windows Logon-приложению, OIDC-приложению компонента FAM Agent и OIDC-приложению, настроенному для 1C:Предприятие).
Настройка конфигурации FAM Agent
Администратору доступны дополнительные настройки использования FAM Агент в административной консоли FAM Server. Настройки располагаются в разделе "Системные настройки" режима "Сервис". Настройка дополнительных параметров Агента доступна в подразделе "Конфигурация FAM Агента":
| Параметр | Значение |
|---|---|
| Настройки Enterprise SSO | |
| Отключено | Заполнить чекбокс:
|
| Время обновления конфигурации приложения (в секундах) | Ввести время обновления конфигурации Enterprise SSO-приложения. |
| Настройки Unified SSO | |
| Блокировать ОС при завершении сессии | Заполнить чекбокс:
|
| OpenID приложение для агента | Выбрать из выпадающего списка OIDC-приложение, связанное с Агентом. |
Установка и обновление на рабочей станции под управлением ОС Linux
Установка FAM Agent выполняется следующим образом:
- Для установки компонента из предварительно скачанного дистрибутива следует выполнить команду (вместо xyz следует указать актуальное наименование дистрибутива):
Тип ОС Описание действий RED OS/RoSA sudo dnf install ./avanpost_fam_agent-xyz.REDOS.x86_64.rpm
Astra Linux sudo apt install ./avanpost_fam_agent-xyz.deb
CentOS sudo rpm -i ./avanpost_fam_agent-xyz.x86_64.rpm
ALT Linux / ALT Linux-server sudo apt-get install ./avanpost_fam_agent-xyz.deb
- В случае, если планируется совместное использование Agent и Linux Logon, также необходимо:
- Установить и настроить компонент FAM Linux Logon (для настройки следует использовать статью Установка и настройка FAM Linux Logon).
- Перезагрузить рабочую станцию.
- Выполните вход в ОС через Linux Logon и убедиться, что Agent запустился в аутентифицированном состоянии.
Для обновления требуется повторно установить компонент. Перед повторной установкой рекомендуется предварительно удалить устаревшую версию при помощи команды:
| Тип ОС | Описание действий |
|---|---|
| RED OS/RoSA | sudo dnf remove avanpost_fam_agent |
| Astra Linux | sudo apt remove famagent или sudo apt-get remove famagent Имя пакета для удаления отличается от имени файла установки. |
| CentOS | sudo rpm -e avanpost_fam_agent |
| ALT Linux / ALT Linux-server | sudo apt-get remove avanpost_fam_agent |
Настройка механизма дистрибуции
В Avanpost FAM реализован механизм автоматического предложения загрузки и установки Authenticator Desktop (FAM Agent) пользователям в процессе аутентификации. Данная функциональность активируется в случае, если активны лицензии на редакции Unified SSO и Device Control. При аутентификации через FAM Server автоматически определяет целевую платформу и проверяет, установлен ли Authenticator Desktop на рабочей станции пользователя. Если FAM Agent не обнаружен, пользователю отображается экран с предложением загрузить дистрибутив для его ОС (при этом пользователь может вручную выбрать дистрибутив для другой платформы или пропустить шаг установки, если это не требуется).
Механизм дистрибуции предназначен для автоматизации процесса распространения и обновления клиентских компонентов FAM Agent среди пользователей системы. Функциональность позволяет администратору централизованно управлять версиями дистрибутивов, обеспечивая пользователей актуальными пакетами для установки. Механизм дистрибуции предназначен для решения следующих задач:
- предоставление пользователям ссылок для скачивания актуальных версий FAM Agent;
- централизованное управление версиями дистрибутивов для различных операционных систем;
- автоматическое информирование пользователей о необходимости обновления
- управление источниками дистрибутивов.
Настройка доступна в режиме "Сервис" из раздела "Настройка механизма дистрибуции". Раздел содержит следующую информацию и возможности:
| Параметр | Значение |
|---|---|
| Включить механизм дистрибуции | Установить флаг в чекбокс:
|
| Источник для распространения | Выбрать источник получения дистрибутивов:
Рекомендуется использовать официальный источник Avanpost, обеспечивающий автоматическое получение актуальных версий дистрибутивов, отсутствие необходимости ручного управления ссылками, гарантию получения проверенных версий продукта. Если администратор использует собственный источник, то для корректной работы механизма требуется выполнить следующих требований:
|
| Официальный источник компании Avanpost | |
| Версия | Выбрать версию компонента для обновления:
|
| Доступность репозитория пакетов | Статус доступности выбранного репозитория (доступен/недоступен) |
| Из собственного источника | |
| Windows | Вставить в текстовое поле HTTPS-ссылку для скачивания MSI-пакета FAM Agent для ОС Windows. |
| Linux (deb) | Вставить в текстовое поле HTTPS-ссылку для скачивания DEB-пакета FAM Agent для Debian-based систем. |
| Linux (deb) | Вставить в текстовое поле HTTPS-ссылку для скачивания RPM-пакета FAM Agent для RPM-based систем. |
Для сохранения изменений следует нажать кнопку "Сохранить", для отказа от изменений – кнопку "Отмена".
При отсутствии сетевого соединения с packages.avanpost.ru или при возникновении ошибок доступа система отображает сообщение об ошибке. В данном случае следует выполнить следующие действия:
- Проверить сетевую доступность ресурса packages.avanpost.ru.
- Убедиться, что межсетевые экраны и прокси-серверы не блокируют соединение.
- При необходимости настроить исключения в правилах сетевого доступа.
Запуск и настройка
Запуск FAM Agent выполняется при помощи команды:
avanpost_fam_agent
В случае возникновения проблем с графическим интерфейсом следует:
- при отсутствии ярлыка компонента в меню/панели:
- запустить Агент через терминал вручную;
- включить опцию «Показывать виджет управления» в настройках Агента;
- при проблеме открытия окна Агента до аутентификации повторно запустить Агент.
Настройка компонента выполняется через настройку конфигурационного файла, расположенного по пути: /home/<LinuxUsername>/.local/share/Avanpost/appsettings.toml. Информация о конфигурационном файле компонента содержится в приложении А.
В случае, если во время работы FAM Агент на ОС семейства Linux возникает ошибка, связанная с автоматическим закрытием окна, рекомендуется удалить конфигурационный файл (после удаления он будет создан автоматически) посредством команды:
sudo rm -rf /home/rex/.local/share/Avanpost/appsettings.toml
Проверка после установки и обновления
В режиме доступа к рабочей станции:
- Инициировать вход на рабочую станцию.
- Выбрать Avanpost FAM Agent в качестве способа аутентификации.
- Пройти аутентификацию в соответствии с настроенным сценарием аутентификации.
В режиме доступа по RDP совершить следующие действия:
- Инициировать подключение по RDP на рабочую станцию.
- Пройти аутентификацию в соответствии с настроенным сценарием аутентификации.
Приложение А. Пример конфигурационного файла avanpost_fam_agent.dll.config
Конфигурационный файл может быть настроен следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="gRPCServerAddress" value="10.10.161.81:9007" />
<add key="FAMServerUrl" value="https://apidp.ru" />
<add key="OpenIDConfigurationUrl" value="https://apidp.ru/.well-known/openid-configuration" />
<add key="OpenIDClientId" value="d9212935-1380-41ca-b100-dba7412827cf" />
<add key="OpenIDSecret" value="d9212935" />
<add key="ServerCertificatePath" />
<add key="SSLTargetName" />
<add key="TemplateRefreshTimerMinutes" value="125" />
<add key="DefaultLanguage" value="ru-RU" />
<add key="IgnoreFaultyCertificate" value="False" />
</appSettings>
</configuration>
Таблица – Значения ключей конфигурационного файла
gRPCServerAddress | IP-адрес Avanpost FAM Server. |
FAMServerUrl | URL-адрес сервера FAM. |
OpenIDConfigurationUrl | URL-адрес файла конфигурации OpenID-сервера, который используется для аутентификации. |
OpenIDClientId | Client ID приложения в системе FAM. |
OpenIDSecret | Cекретный ключ клиента OpenID. Задается вручную. |
ServerCertificatePath | Путь к сертификату сервера, который будет использоваться для безопасного подключения. |
SSLTargetName | Имя, используемое для проверки подлинности сертификата SSL/TLS-сервера при установлении безопасного соединения. |
TemplateRefreshTimerMinutes | Интервал обновления шаблонов в минутах. |
DefaultLanguage | Язык по умолчанию. |
IgnoreFaultyCertificate | Указывает, игнорировать ли ошибки с ошибочным сертификатом при безопасном подключении (True - игнорировать, False - не игнорировать). |
Приложение Б. Пример Discovery-документа FAM Agent
В нижеприведенном примере приведена структура Discovery-документа:
{
"unifiedSSOSettings": {
"blockOSAfterSessionLogout": true
},
"enterpriseSSOSettings": {
"disabled": false,
"configurationRefreshTimeInSeconds": 60
},
"grpcSettings": {
"host": "avanpost.fam.local",
"port": 9007,
"useTLS": true,
"certificate": "-----BEGIN CERTIFICATE-----\nMIIFlzCCA3+gAwIBAgIUOY1/e/SoLnZwyRRwpmEZiagmQDcwDQYJKoZIhvcNAQEN\nBQTE-----\n"
}
}
Таблица – Значения параметров приведенного конфигурационного Discovery-документа
| Параметр | Значение |
|---|---|
| unifiedSSOSettings – параметры USSO | |
blockOSAfterSessionLogout | Флаг, определяющий, будет ли ОС блокироваться при завершении сессии при использовании механизмов USSO. |
| enterpriseSSOSettings | |
disabled | Флаг отключения Enterprise SSO. |
configurationRefreshTimeInSeconds | Интервал между обновлениями конфигурации приложения. |
| grpcSettings – настройки gRPC (используются настройки из конфигурационного файла FAM Server) | |
host | Хост gRPC-сервера. |
port | Порт gRPC-сервера. |
useTLS | Флаг включения TLS-шифрования. |
certificate | Сертификат сервера в формате PEM. |
Приложение В. Эндпоинты FAM Agent
| Endpoint | Метод | Описание |
|---|---|---|
| Информация о пакетах обновлений | ||
/api/v1/packages/fam-agent%2Favanpost_fam_agent | GET | Получение списка всех доступных версий пакета |
/api/v1/packages/fam-agent%2Favanpost_fam_agent/versions/{version} | GET | Получение информации о конкретной версии пакета |
/api/v1/packages/fam-agent%2Favanpost_fam_agent/versions/latest | GET | Получение информации о последней доступной версии |
/.well-known/agent-configuration | GET | Discovery-endpoint для получения подробной информации о доступных версиях FAM Agent. Клиенты автоматически обращаются к данному endpoint для получения информации о текущей версии. После обращения к эндпоинту возвращается конфигурацию в формате JSON, содержащая следующую информацию о настройках USSO, gRPC, Enterprise SSO, версии Agent (имя, версия, источник, URL-адрес для скачивания). |
| Эндпоинты инстанса | ||
/api/v1/agent/instance/{id} | GET | Получение информации об инстансе (конкретном отдельном экземпляре) компонента:
|
/api/v1/agent/instance/{id}/health | PUT | Перевод инстанса FAM Agent в статус online. |
/api/v1/agent/instance/{instanceID}/online | PUT | Автоматическая отправка запроса на FAM Server для обновления статуса экземпляра агента при обработке вызова famagent://healthcheck?instanceID=<InstanceID>. |

