Avanpost FAM/MFA+ : Настройка MFA/SSO для 1С:Предприятие 8.3.13 и ниже (Тонкий клиент, Enterprise SSO)

Настройка MFA/SSO для 1С:Предприятие 8.3.13 и ниже (Тонкий клиент, Enterprise SSO)

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

В статье описывается настройка двухфакторной аутентификации (2FA), многофакторной аутентификации (MFA) и Single-Sign On для ERP-систем на базе платформы 1С:Предприятие посредством Enterprise SSO-механизма системы Avanpost FAM. Для версии 8.3.13 или ниже доступна аутентификация для Тонкого клиента 1С:Предприятие. ТСхема может быть адаптирована для подключения к Avanpost FAM Толстого клиента 1С:Предприятие с целью 2FA/MFA/SSO.

Для 1С:Предприятие с целью 2FA/MFA могут использоваться следующие факторы аутентификации: 

1С:Предприятие поддерживает функциональность SSO, обеспечиваемую компонентом Avanpost FAM Agent: если пользователь прошёл аутентификацию в соответствии с настроенным сценарием, то система не будет запрашивать повторное подтверждение аутентификации.

Системные требования для интеграции 1С:Предприятие с Avanpost FAM:

Для выполнения настройки 2FA в в соответствии с инструкцией необходимо выполнить следующие предварительные условия:

  1. Установить в сети сервер 1С:Предприятие.
  2. Установить в сети компонент Avanpost FAM Server.
  3. На стороне Avanpost FAM Server настроить Avanpost FAM Agent.
  4. Установить АРМ пользователя, на котором:
    1. Установлен Тонкий клиент 1С:Предприятие, который успешно подключается к серверу 1С:Предприятие.
    2. Установлен компонент Avanpost FAM Agent, который успешно подключается к компоненту Avanpost FAM Server.

При необходимости аутентификации через:

  • мобильное приложение Avanpost Authenticator – установить компонент Avanpost FAM Mobile Services;
  • мобильное приложение SafeTech PayControl – установить сервер SafeTech PayControl;
  • SMS – настроить подключение к внешнему SMS-шлюзу, который предоставляет услугу доставки SMS-сообщений;
  • E-mail – настроить подключение к SMTP-шлюзу, который обеспечивает доставку почтовых сообщений;
  • Telegram – настроить подключение к Telegram Bot API.

Настройка

  1. Через административную консоль Avanpost FAM создать приложение типа Desktop.
  2. В карточке приложения на вкладке «Настройки»:
    1. В разделе «Основные атрибуты» в поле Шаблон скопировать и указать шаблон аутентификации из приложения А текущей инструкции.

    2. В разделе «Учётные записи приложения»:
      • Управление – установить флаг «Разрешить пользователям управление учётными записями»;
      • Время действия пароля в днях – указать в соответствии с парольными политиками для паролей в 1С:Предприятие;
      • Минимальная длина пароля – указать в соответствии с парольными политиками для паролей в 1С:Предприятие;
      • Минимальное количество изменённых символов пароля – указать в соответствии с парольными политиками для паролей в 1С:Предприятие;
      • Пароль должен... – установить флаги в соответствии с парольными политиками для паролей в 1С:Предприятие.

Проверка настройки

  1. Запустить на АРМ Avanpost FAM Agent, выполнить аутентификацию через УЗ в Avanpost FAM.
  2. Запустить Тонкий клиент 1С:Предприятие, дождаться перехвата Avanpost FAM Agent окна аутентификации в Тонкий клиент 1С:Предприятие.
  3. Если запрашивается аутентификация по дополнительным методам – выполнить аутентификацию.
  4. Если запрашивается УЗ пользователя 1С:Предприятие – предоставить реквизиты УЗ.

В результате пользователь должен успешно пройти аутентификацию в Тонкий клиент 1С:Предприятия.

При закрытии Тонкого клиента 1С:Предприятие и повторном открытии аутентификации пользователь должен пройти прозрачную аутентификацию посредством механизма SSO, обеспечиваемого компонентами Avanpost FAM Server и Avanpost FAM Agent.

Сценарии использования

Загрузка пользователей Тонкого клиента 1С:Предприятие из домена (LDAP)

Чтобы пользователи из домена смогли проходить 2FA/MFA или пользоваться SSO при аутентификации в Тонкий клиент 1С:Предприятие, необходимо использовать встроенную в Avanpost FAM функциональность интеграции с LDAP-каталогами (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т.д.). В рамках этой функции можно настроить LDAP-фильтры, которые позволят обеспечить загрузку в Avanpost FAM только тех пользователей, которые будут использовать 2FA/MFA/SSO в Тонком клиенте 1С:Предприятие. Таким образом можно подключить несколько доменов.

2FA-аутентификация в Тонкий клиент 1С:Предприятие с push-подтверждением через Avanpost Authenticator

Avanpost FAM позволяет выполнять аутентификацию в десктопный клиент 1С:Предприятие, подключенный с целью 2FA/MFA/SSO посредством 2FA push-запрос в мобильное приложение Avanpost Authenticator при использовании Avanpost FAM: 

Контроль попыток аутентификации пользователей к Тонкому клиенту 1С:Предприятие через Avanpost FAM

Для контроля попыток аутентификации необходимо использовать журнал событий безопасности, доступный в административном интерфейсе системы и посредством syslog.

Управление доступом пользователей к Тонкому клиенту 1С:Предприятие через Avanpost FAM

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

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

Управление доступом пользователей к Тонкому клиенту 1С:Предприятие через домен (LDAP)

Avanpost FAM в рамках интеграции с LDAP-каталогом (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т.д.) может автоматизировать управление членством пользователей в группах Avanpost FAM, предоставляющих доступ к Тонкому клиенту 1С:Предприятие, путём синхронизации членства пользователей в группах Avanpost FAM на основе членства пользователей домена в доменных группах.

Управление сценарием аутентификации (2FA/MFA) для Тонкого клиента 1С:Предприятие через Avanpost FAM

Для настройки второго фактора, который будет использоваться для приложения Тонкий клиент 1С:Предприятие, необходимо в административной консоли в карточке приложения открыть вкладку MFA. В качестве первого шага указать метод аутентификации – Password. В качестве второго шага – выбрать один из следующих факторов:

  • Мобильное приложение Avanpost Authenticator;
  • Мобильное приложение SafeTech PayControl;
  • TOTP;
  • SMS;
  • E-mail;
  • Мессенджер Telegram.

Управление сценарием аутентификации (2FA/MFA) для отдельных групп сотрудников, подключающихся к Тонкому клиенту 1С:Предприятие, через Avanpost FAM

Необходимо в административной консоли Avanpost FAM в карточке группы на вкладке «MFA» настроить дополнительный сценарий аутентификации. При этом пользователи, входящие в указанную группу, будут проходить аутентификацию с использованием второго фактора, заданного на вкладке. Таким образом, можно определить специфический сценарий 2FA для администраторов и других привилегированных пользователей, подключающихся к Тонкому клиенту 1С:Предриятия.

Привязка учётной записи 1С:Предприятие для нового пользователя в процессе аутентификации

Если у пользователя учётная запись не привязана и включен параметр «Управление» приложения «Разрешить пользователям управлять учётными записями», то Avanpost FAM Agent выполнит запрос учётной записи у пользователя. 

Приложение А. Шаблон аутентификации в Тонкий клиент 1С:Предприятие

Содержимое шаблона:

{
  "authenticateTemplates": [
    {
      "commands": [
        {
          "commandType": "Sleep",
          "sleepTime": 100
        },
        {
     "commandType": "ModifiedKeyStroke2",
     "Code1": "SHIFT",
     "Code2": "TAB"
     },
        {
          "commandType": "TextEntry",
          "textMessage": "$user"
        },
        {
          "commandType": "KeyPress",
          "code1": "TAB"
        },
        {
          "commandType": "TextEntry",
  
          "textMessage": "$password"
        },
        {
          "commandType": "KeyPress",
          "code1": "RETURN"
        }
      ],
      "grab": [
        {
          "windowName": "1C:Enterprise",
          "processName": "1cv8",
          "windowClassName": "V8TopLevelFrameTaxiStarter"
        }
      ]
    }
  ],
  "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"
        }
      ]
    }
  ]
}

"commandType": "ModifiedKeyStroke2" используется для объединения строк при нажатии SHIFT+TAB, так как при запуске 1С курсор находится в строке пароля.

Через FAM необходимо будет получить параметры для ввода в секцию из примера:

"grab": [
        {
          "windowName": "1C:Enterprise",
          "processName": "1cv8",
          "windowClassName": "V8TopLevelFrameTaxiStarter"
        }
      ]

Для этого:

  1. Следует открыть Avanpost Agent FAM, перейти в Настройки - Настройки приложения - установить чекбокс "Захватить окно".
  2. Открыть приложение 1С, дождаться загрузки окна (Рисунок), нажать на него и убрать чекбокс "Захватить окно".

3. Далее выбрать "Открыть журнал захваченных окон", прокрутить до нужного окна и скопировать данные для вставки в шаблон. 

Приложение А. Одновременная аутентификация в Тонкий и Толстый клиент 1С:Предприятие

Для одновременной реализации подключения к Толстому и Тонкому клиенту в шаблоне необходимо добавить обе настройки в секцию "grab" в шаблоне следующим образом.

Для Толстого клиента:

{
          "windowName": "1C:Enterprise",
          "processName": "1cv8",
          "windowClassName": "V8TopLevelFrameTaxiStarter"
        },

Для Тонкого клиента:

{
          "windowName": "",
          "processName": "1cv8c",
          "windowClassName": "V8TopLevelFrameTaxiStarter"
        }

Порядок расположения секций кода не имеет значения.






Обсуждение