Локальная установка FAM Agent в ОС Windows


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

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

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

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

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

Если планируется установка Avanpost FAM Agent на большое количество устройств, рекомендуется использовать способ установки через GPO.

У администратора есть возможность настраивать конфигурационный файл Agent FAM Agent следующим образм:

  • автоматическая настройка через Discovery-документ (доступно в версиях FAM Server 1.15+);
  • настройка конфигурационного файла с вводом параметров вручную.

Поддерживаются следующие ОС 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-файла.

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

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

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

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

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


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

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

  8. Перейти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
  9. На этапе "Основные настройки" ввести наименование и выбрать тип Agent (более подробно описано в разделе Шаг 1. Основные настройки для Enterprise SSO-приложений).
  10. На этапе "Настройки интеграции" в текстовое поле ввести шаблон приложения (более подробно описано в Шаг 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"
            }
          ]
        }
      ]
    }
    
    
  11. На этапе "Настройки аутентификации" следует выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно в Шаг 3. Настройки аутентификации для Enterprise SSO-приложений).

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

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

  15. Назначить ранее созданные OAuth/Open ID Connect и Agent-приложения в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданных приложений.

  16. Для настройки централизованной аутентификации в desktop-приложениях через Avanpost FAM в учетных записях пользователей зайти во вкладку "Приложения" в раздел "Учетные записи" в графу "Приложение" и выбрать в выпадающем списке FAM_Agent.

  17. Для Упрощения настройки на стороне клиента при помощи Discovery-документа следует: 
    1. Перейти в раздел "Системные настройки" режима "Сервис".
    2. В разделе "Конфигурация FAM Агента" в параметре "OpenID-приложение для агента" выбрать из выпадающего списка настроенное OIDC-приложение и нажать кнопку "Сохранить".

Обычная установка FAM Agent на рабочей станции под управлением ОС Microsoft Windows

Установка Avanpost FAM Agent осуществляется пошагово при помощи мастера установки. В процессе установки у пользователя есть возможность отменить установку нажатием кнопки "Отмена" или вернутся на предыдущий шаг нажатием кнопки ""Назад". Установка осуществляется в следующей последовательности:

  1. Распаковать скачанный дистрибутив в формате zip-архива в любой каталог на рабочей станции.
  2. Запустить установку MSI-пакета из каталога, где был распакован zip-архив.
  3. В приветственном окне мастера установки нажать "Далее" и перейти в окно конфигурации агента Avanpost FAM Agent:
  4. В окне конфигурации агента заполнить поля с настройкой конфигурации Avanpost FAM Agent согласно таблице и нажать "Далее".
    ПараметрЗначение
    Адрес (хост:порт) gRPC-интерфейса FAMАдрес (хост и порт) gRPC-интерфейса (по умолчанию указывается avanpost.fam.local:9007).
    Адрес сервера FAMАдрес сервера, на котором развернут Avanpost FAM, используемый организацией (по умолчанию используется https://avanpost.fam.local).
    Адрес OpenID Connect Discovery FAMURL-адрес файла конфигурации OpenID-сервера, который используется для аутентификации.
    Client ID Агента на сервере FAMУказывается ID synonym или ID OIDC-приложения, созданного на шагах 1 - 5 данной инструкции.
    Secret Агента на сервере FAMВводится секрет OIDC-приложения, созданного на шагах 1 - 5 данной инструкции.
    Использовать TLS

    Установить флажок в чекбокс:

    • при установленном флажке используется TLS-шифрование, настраиваемое в "Сертификат сервера" и "CN сертификат сервера";
    • при выключенном флажке TLS-шифрование не используется.
    Сертификат сервера

    Путь к файлу сертификата cerf.pem, подписанного центром сертификации. Файл передается администратором FAM Server и сохраняется на устройстве с развернутым. Avanpost FAM Agent. Допускается выбрать файл сертификата в диалоговом окне, нажав "Browse".

    CN сертификата сервера

    Домен, на который был выдан сертификат.

    Администратор может посмотреть, кому выдан сертификат, изменив расширение файла cerf.pem на .crt и открыв его. Значение CN будет отображено в строке "Кому выдан".

  5. Указать путь, куда будут установлен Avanpost FAM Agent (нажать кнопку "Изменить" и задать путь или оставить путь по умолчанию) и нажать "Далее".
  6. Нажать кнопку "Установить", чтобы начать установку компонента.
  7. Дождавшись окончания установки, нажать кнопку "Готово".

"Тихая" установка FAM Agent на рабочей станции под управлением ОС Microsoft Windows

В режиме "тихой" установки компонент будет установлен без взаимодействия с пользователем, и все процессы будут выполнены автоматически. Перед началом установки в подготавливаемом дистрибутиве должен содержаться корректный конфигурационный файл avanpost_fam_agent.dll.config. Допускается провести настройку конфигурационного файла:

Для установки компонента следует использовать учетную запись, обладающую правами на установку приложений в системе.

Установка с использованием удаленного рабочего стола осуществляется следующим образом:

  1. Открыть командную строку от имени администратора, нажав комбинацию клавиш Win+R. Ввести cmd и нажать OK.
  2. Перейти в каталог с установочными файлами (c:\>cd Диск:\Адрес_директории\).
  3. Выполнить следующую команду:
avanpost_fam_agent.msi /qn /quiet /norestart

Если учетная запись, используемая при установке, не обладает правами администратора, то при вводе команды используются следующие параметры: [-u пользователь [-p пароль]], в которых указав имя  и пароль от учетной записи соответственно. Учетная запись, используемая при установке, должна обладать правами для установки приложений. 

Локальная установка на рабочей станции осуществляется следующим образом:

  1. Открыть  командную строку от имени администратора, нажав комбинацию клавиш Win+R, ввести cmd и нажать OK.

  2. Перейти в каталог с установочными файлами (c:\>cd Диск:\Адрес_директории\).

    Если учетная запись, используемая при установке, не обладает правами администратора, то при вводе команды используются следующие параметры: [-u пользователь [-p пароль]], в которых указав имя  и пароль от учетной записи соответственно. Учетная запись, используемая при установке, должна обладать правами для установки приложений. 

  3. Выполнить следующую команду:

avanpost_fam_agent.msi /qn /quiet /norestart

Чтобы проверить корректность установки приложения, нужно убедиться, что после завершения установки получен ответ "exited on имя_пользовательской_машины with error code 0".

Обновление Avanpost FAM Agent

Стандартная процедура обновления включает в себя следующие действия: 

  1. Распаковать скачанный дистрибутив в формате zip-архива в любой каталог.
  2. Запустить установку MSI-пакета из каталога, где был распакован zip-архив.
  3. Мастер установки предложит выполнить обновление Avanpost FAM Agent (перенос настроек конфигурации в обновленную версию осуществляется автоматически).
  4. Дождавшись завершения обновления, перезагрузить устройство, на котором было произведено обновление Avanpost FAM Agent.

Проверка установки и обновления Avanpost FAM Agent

В режиме доступа к рабочей станции совершить следующие действия:

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

В режиме доступа по RDP совершить следующие действия:

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

Миграция на версию FAM Agent 1.5.0 и выше

При миграции на версию FAM Agent 1.5.0 и выше требуется провести дополнительную настройку аутентификации посредством Kerberos. Для этого в конфигурационном файле avanpost_fam_agent.dll.config необходимо прописать строку:

<add key="serviceAccountName" value="HTTP/localhost"/>

Параметр value соответствует параметру serviceName/Principal, который указывается при настройке Kerberos.

Дальнейшая миграция осуществляется бесшовно.

Автоматическая настройка FAM Agent с использованием Discovery-документа

Начиная с версии FAM Server 1.15, для упрощения развёртывания и настройки компонента Avanpost FAM Agent реализована поддержка автоматической конфигурации через Discovery-документ. Использование Discovery-документа исключает необходимость ручного указания ряда параметров в конфигурационном файле компонента, что упрощает массовое развёртывание и снижает вероятность ошибок при настройке. Discovery-документ позволяет компоненту автоматически получать все необходимые параметры подключения к серверу, включая:

  • адрес gRPC-интерфейса;
  • URL-адрес Avanpost FAM Server;
  • настройки безопасности;
  • идентификатор (ClientId) приложения, предварительно настроенного на стороне Avanpost FAM Server;
  • параметры Unified SSO и Enterprise SSO.

Для корректной автоматической настройки компонента посредством Discovery-документа следует настроить FAM Агент в разделе "Системные настройки" режима "Сервис" в административной консоли FAM Server. В разделе "Конфигурация FAM Агента" нажать на кнопку и задать настройки согласно таблице:

ПараметрЗначение
Настройки Enterprise SSO
Отключено

Установить флажок в чекбокс:

  • при установленном флаге FAM Agent не использует механизм Enterprise SSO для аутентификации;
  • при выключенном флаге FAM Agent может использовать Enterprise SSO для аутентификации.
Время обновления конфигурации приложения (в секундах)Интервал между обновлениями конфигурации приложения. Шаблоны приложения и его конфигурации обновляются для поддержания актуальности данных.
Настройки UnifiedSSO
Блокировать ОС при завершении сессии

Установить флажок в чекбокс:

  • при установленном флаге после завершения сессии в Avanpost FAM пользователь автоматически выходит из аккаунта в операционной системе на локальной рабочей станции;
  • при выключенном флаге пользователь может работать на локальной рабочей станции даже после завершения сессии в FAM.
OpenID приложение для агентаВыбрать созданное OIDC-приложение, которое будет ассоциироваться в FAM Agent

Доступ к Discovery-документ осуществляется по защищенному https-соединению по адресу: https://<FAM_URL>/.well-known/agent-configuration. Пример настроенного Discovery-документа представлен в приложении Б

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

Таблица – Значения ключей конфигурационного файла



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.


Обсуждение