Общие сведения
В статье описывается настройка двухфакторной аутентификации (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:
- сервер Avanpost FAM 1.3.0 или выше;
- Сервер 1С:Предприятие версии 8.3.13 или ниже; 1С:Предприятие версии 8.3.14 или выше рекомендуем подключать к Avanpost FAM для MFA/SSO посредством OpenID Connect;
- тонкий клиент 1С:Предприятие, совместимый с сервером.
Для выполнения настройки 2FA в в соответствии с инструкцией необходимо выполнить следующие предварительные условия:
- Установить в сети сервер 1С:Предприятие.
- Установить в сети компонент Avanpost FAM Server.
- На стороне Avanpost FAM Server настроить Avanpost FAM Agent.
- Установить АРМ пользователя, на котором:
- Установлен Тонкий клиент 1С:Предприятие, который успешно подключается к серверу 1С:Предприятие.
- Установлен компонент 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.
Настройка
- Через административную консоль Avanpost FAM создать приложение типа Desktop.
- В карточке приложения на вкладке «Настройки»:
В разделе «Основные атрибуты» в поле Шаблон скопировать и указать шаблон аутентификации из приложения А текущей инструкции.
- В разделе «Учётные записи приложения»:
- Управление – установить флаг «Разрешить пользователям управление учётными записями»;
- Время действия пароля в днях – указать в соответствии с парольными политиками для паролей в 1С:Предприятие;
- Минимальная длина пароля – указать в соответствии с парольными политиками для паролей в 1С:Предприятие;
- Минимальное количество изменённых символов пароля – указать в соответствии с парольными политиками для паролей в 1С:Предприятие;
- Пароль должен... – установить флаги в соответствии с парольными политиками для паролей в 1С:Предприятие.
Проверка настройки
- Запустить на АРМ Avanpost FAM Agent, выполнить аутентификацию через УЗ в Avanpost FAM.
- Запустить Тонкий клиент 1С:Предприятие, дождаться перехвата Avanpost FAM Agent окна аутентификации в Тонкий клиент 1С:Предприятие.
- Если запрашивается аутентификация по дополнительным методам – выполнить аутентификацию.
- Если запрашивается УЗ пользователя 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" } ]
Для этого:
- Следует открыть Avanpost Agent FAM, перейти в Настройки - Настройки приложения - установить чекбокс "Захватить окно".
- Открыть приложение 1С, дождаться загрузки окна (Рисунок), нажать на него и убрать чекбокс "Захватить окно".
3. Далее выбрать "Открыть журнал захваченных окон", прокрутить до нужного окна и скопировать данные для вставки в шаблон.
Приложение А. Одновременная аутентификация в Тонкий и Толстый клиент 1С:Предприятие
Для одновременной реализации подключения к Толстому и Тонкому клиенту в шаблоне необходимо добавить обе настройки в секцию "grab" в шаблоне следующим образом.
Для Толстого клиента:
{ "windowName": "1C:Enterprise", "processName": "1cv8", "windowClassName": "V8TopLevelFrameTaxiStarter" },
Для Тонкого клиента:
{ "windowName": "", "processName": "1cv8c", "windowClassName": "V8TopLevelFrameTaxiStarter" }
Порядок расположения секций кода не имеет значения.