Avanpost FAM/MFA+ : 4.4.2. Установка FAM Agent в ОС Windows через GPO (групповые политики)

Общие сведения

Компонент Avanpost FAM Agent устанавливается локально для решения следующих задач:

  • осуществления 2FA/MFA в унаследованных десктопных приложениях при использовании механизма аутентификации Enterprise SSO;
  • SSO при переключении между унаследованными десктопными приложениями, подключенными посредством механизма Enterprise SSO.

Локальная установка Avanpost FAM Agent рекомендуется в следующих случаях:

  1. Рабочая станция расположена не в домене (например, если в качестве рабочей станции используется ноутбук, не подключенный к домену, либо домашний компьютер сотрудника).
  2. Сервер расположен не в домене из соображений безопасности.

Испольхование GPO (групповые политики) рекомендуется при установке Avanpost FAM Agent на большое количество устройств. В противном случае рекомендуется устанавливать Agent локально.

Поддерживаются следующие ОС 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, представляющий собой zip-архив, содержащий:

  • установочный MSI-файл;
  • стандартный конфигурационный файл для MSI-файла.

Установка и настройка компонента на стороне сервера MS AD

Настройка компонента в интерфейсе сервера MS AD осуществляется в следующей последовательности: 

  1. Распаковать скачанный дистрибутив в формате zip-архива в произвольный каталог.
  2. Войти в консоль управления групповыми политиками (GPMS). Для этого следует открыть командную строку (Win+R), ввести gpmc.msc и нажать OK. 

    Консоль управления групповыми политиками (GPMS) доступна, если на контроллер домена установлена роль Active Directory Domain Service (AD DS). Установка ролей осуществляется через Диспетчер серверов. В диспетчере серверов следует войти с стандартное меню "Add roles and features" и выбрать компонент Group Policy Management.

  3. В консоли управления групповыми политиками необходимо создать пакет (Конфигурация компьютера Политики Конфигурация программ → Установка программ, ЛКМ Создать Пакет).



  4. Задать сетевой путь до установочного MSI-файла Avavpost FAM Agent.

  5. В открывшемся окне "Развертывание программ" выбрать метод развертывания "Назначенный" и нажать "ОК".



  6. Убедиться, что установленный Avanpost FAM Agent отобразился в списке раздела "Установка программ".
  7. Для настройки Avanpost FAM Agent cледует отредактировать конфигурационный файл avanpost_fam_agent.dll.config (находится в корневом каталоге c установочным файлом). Настройка параметров конфигурационного файла осуществляется согласно Приложению А.

Установка и настройка компонента на стороне Avanpost FAM Server

Настройка компонента в интерфейсе административной консоли Avanpost FAM Server осуществляется в следующей последовательности: 

  1. Зайти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
  2. На этапе "Основные настройки" требуется ввести наименование и выбрать тип OAuth/Open ID Connect (более подробно процесс создания и управления приложениями описан в разделах Управление приложениями и Управление OpenID Connect-приложениями).
  3. На этапе "Настройки интеграции" необходимо установить настройки приложения (более подробно описано в Шаг 2. Настройки интеграции для OIDC-приложения). Обязательно требуется задать значения параметров в графе Secret (произвольный секретный ключ, который будет использоваться для подключения к приложению) и Redirect URIs (URL-адрес, на который пользователь будет перенаправлен после успешной аутентификации).

    Администратор может сменить секретный ключ (например, при компрометации ключа) в профиле созданного приложения во вкладке "Настройки" в разделе "Смена секрета".

    Секретный ключ должен совпадать с тем, который задается в конфигурационном файле на сервере MS AD (значение OpenIDSecret). 

  4. На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 3. Настройки аутентификации для OIDC-приложения).
  5. На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 3. Настройки аутентификации для OIDC-приложения).

  6. На этапе "Завершение" установить флажок "Сделать приложение активным" и сохранить (более подробно описано в Шаг 4. Завершение для OIDC-приложения).
  7. После создания приложения требуется найти его в режиме "Приложения" и зайти в профиль, нажав на название приложения. Зайти во вкладку "Настройки" и нажать для перехода в режим редактирования.
  8. В режиме редактирования следует задать следующие параметры: 
     – ID synonym - Cиноним идентификатора приложения;
     – Allowed grant types - Перевести переключатель в положение "Активно" () для следующих Grant Types: Refresh token и Password.

  9. Перейти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
  10. На этапе "Основные настройки" ввести наименование и выбрать тип Agent (более подробно описано в разделе Шаг 1. Основные настройки для Enterprise SSO-приложений).
  11. На этапе "Настройки интеграции" в текстовое поле ввести шаблон приложения (более подробно описано в Шаг 2. Настройки интеграции для Enterprise SSO-приложений):

    Шаблон приложения представлен в виде JSON-блока, содержащего параметры, определяющие признаки перехвата окон десктопного приложения, и последовательный набор команд для заполнения и сабмита формы аутентификации десктопного приложения. Шаблон может меняться по мере развития FAM Agent. Разработка шаблона приложения описана в разделе Разработка шаблона Enterprise SSO.

    Пример шаблона приложения
    {
    	"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"
    		}]
    	}]
    }


  12. На этапе "Настройки аутентификации" следует выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно в Шаг 3. Настройки аутентификации для Enterprise SSO-приложений).

  13. На этапе "Завершение" установить флажок "Сделать приложение активным" и сохранить.
  14. Создать новую группу. Для этого необходимо нажать кнопку "Добавить группу" в режиме "Группы" и в открывшейся вкладке ввести запрашиваемые параметры (более подробно в Добавление новых групп).

  15. Добавить в группу пользователей, которые будут аутентифицироваться в настроенных приложениях. Ручное добавление пользователей администратором реализуется в профиле группы. Также доступ пользователя к группам и ролям допускается редактировать в УЗ пользователя.

  16. Назначить ранее созданные OAuth/Open ID Connect и Agent-приложения в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданных приложений.
  17. Для настройки централизованной аутентификации в desktop-приложениях через Avanpost FAM в учетных записях пользователей зайти во вкладку "Приложения" в раздел "Учетные записи" в графу "Приложение" и выбрать в выпадающем списке Agent_desctop.

Проверка после установки и обновления

В режиме доступа к рабочей станции:

  1. Инициировать вход на рабочую станцию.
  2. Выбрать Avanpost FAM Agent в качестве способа аутентификации.
  3. Пройти аутентификацию в соответствии с настроенным сценарием аутентификации.

В режиме доступа по RDP:

  1. Инициировать подключение по RDP на рабочую станцию.
  2. Пройти аутентификацию в соответствии с настроенным сценарием аутентификации.

Обновление

Приложение А. Пример конфигурационного файла 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 - не игнорировать).

Обсуждение