Общие сведения
Компонент Avanpost FAM Agent может устанавливаться через механизм Group Policy Microsoft Active Directory для решения следующих задач:
- 2FA/MFA в унаследованные десктопные приложении при использовании механизма аутентификации Enterprise SSO.
- SSO при переключении между унаследованными десктопными приложениями, подключенными посредством механизма Enterprise SSO.
Локальная установка Avanpost FAM Agent может быть удобна в следующих случаях:
- Рабочая станция находится не в домене. К примеру, если в качестве рабочей станции используется ноутбук, не подключенный к домену, либо домашний компьютер сотрудника.
- Сервер находится не в домене из соображений безопасности.
В случае большого числа машин, на которые планируется установка Avanpost FAM Agent, рекомендуется использовать способ установки через GPO.
Поддерживаются следующие ОС Windows:
- Microsoft Windows Desktop 7;
- Microsoft Windows Desktop 8;
- Microsoft Windows Desktop 10;
- Microsoft Windows Desktop 11;
- Microsoft Windows Server 2012R2;
- Microsoft Windows Server 2016;
- Microsoft Windows Server 2019;
- Microsoft Windows Server 2022.
Загрузка дистрибутива
Дистрибутив компонента Avanpost FAM Agent доступен по ссылке: https://packages.avanpost.ru/#browse/browse:fam-dists:fam-agent.
Компонент Avanpost FAM Agent представляет собой zip-архив, содержащий:
- установочный MSI-файл;
- стандартный конфигурационный файл для MSI-файла.
Установка и настройка
На стороне сервера MS AD
- Для установки FAM Agent в существующей политике домена по умолчанию пройти путь: Конфигурация компьютера → Политики → Конфигурация программ → Установка программ, ЛКМ → Создать → Пакет (Рисунок), выбрать новую версию MSI FAM Agent.
- Задать сетевой путь (Рисунок):
- В окне "Развертывание программ" выбрать метод развертывания "назначенный" и нажать "ОК" (Рисунок):
- Установленный Avanpost FAM отобразится в списке раздела "Установка программ" (Рисунок):
- В корневом каталоге c установочным файлом должен находиться конфигурационный файл с именем «avanpost_fam_agent.dll.config» и содержимым, указанным в Приложении А.
На стороне административной консоли Avanpost FAM Server
- Создать приложение с типом "Open ID" (Рисунок).
- На вкладке "Настройки интеграции" установить настройки (Рисунок):
Secret: секретный ключ, совпадающий с указанным в конфигурационном файле "avanpost_fam_agent.dll.config" значением "OpenIDSecret";Смена секретного ключа производится на вкладке "Настройки" созданного приложения (Рисунок).
Redirect URIs: любой URL-адрес (требуется для первоначального создания приложения, на дальнейшее функционирование которого не влияет);
Base URL: URL-адрес сервера FAM. На вкладке "Настройки аутентификации" задать факторы аутентификации приложения ("Password").
- На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить (Рисунок).
- Зайти в приложение после сохранения и на вкладке "Настройки":
– в строке ID synonym установить синоним идентификатора (Рисунок);
– в разделе "Allowed grant types" перевести переключатель "Refresh token" и "Password" в положение "Активно" (Рисунок): - Создать приложение типа "Desktop" (Рисунок).
На вкладке "Настройки интеграции" в терминал добавить шаблон, посредством которого производится захват окна для аутентификации и для изменения пароля.
Пример шаблона:{ "authenticateTemplates": [{ "commands": [{ "commandType": "Sleep", "SleepTime": 1000 }, { "commandType": "KeyPress", "Code1": "TAB" }, { "commandType": "KeyPress", "Code1": "TAB" }, { "commandType": "KeyPress", "Code1": "TAB" }, { "commandType": "TextEntry", "TextMessage": "$user" }, { "commandType": "KeyPress", "Code1": "TAB" }, { "commandType": "TextEntry", "TextMessage": "$password" }, { "commandType": "KeyPress", "Code1": "RETURN" } ], "grab": [{ "WindowClassName": "V8TopLevelFrameTaxiStarter", "windowName": "", "mainWindowTitle": "Доступ к информационной базе", "preventClosing": "true", "windowDelay": 5, "processName": "1cv8c" }] }], "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" }] }] }
На вкладке "Настройки аутентификации" задать факторы аутентификации приложения (по умолчанию "Password").
- На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить.
Создать новую группу (Рисунок):
Добавить в группу УЗ пользователя, через которую будет производиться аутентификация (вкладка "Пользователи" см.Рисунок):
Добавить предварительно созданные Open ID и Desktop-приложения в группу, установив переключатель в положение "Активно" в строке с каждым элементом (вкладка "Приложения" см.Рисунок):
Для централизованной аутентификации в desktop-приложении через систему FAM перейти в карточку пользователя и добавить учетные данные (Рисунок):
Проверка после установки и обновления
В режиме доступа к рабочей станции:
- Инициировать вход на рабочую станцию.
- Выбрать Avanpost FAM Agent.
- Пройти аутентификацию в соответствии с настроенным сценарием аутентификации.
В режиме доступа по RDP:
- Инициировать подключение по RDP на рабочую станцию.
- Пройти аутентификацию в соответствии с настроенным сценарием аутентификации.
Обновление
Приложение А. Пример конфигурационного файла avanpost_fam_agent.dll.config
Конфигурационный файл "avanpost_fam_agent.dll.config", содержащийся в zip-архиве дистрибутива, может быть настроен следующим образом:
<?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>
Таблица 1 – Значения ключей конфигурационного файла
Ключ | Значение |
---|---|
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 - не игнорировать). |