Общие сведения
В статье описывается настройка двухфакторной аутентификации (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
Настройка в административной консоли на стороне Avanpost FAM Server выполняется следующим образом:
- Открыть административную консоль Avanpost FAM Server и перейти в форму создания приложения, нажав кнопку "Добавить приложение" режима "Приложения".
- На этапе "Основные настройки" требуется задать следующие параметры (более подробно параметры Enterprise SSO-приложений описаны в статье Управление Enterprise SSO-приложениями):
Параметр
Значение
Наименование
Ввести наименование
Тип
Enterprise SSOПоказывать приложение пользователям
Выключить чекбокс (рекомендуется)
- На этапе "Настройки интеграции" в поле Шаблон скопировать и ввести JSON-блок с шаблоном аутентификации, получив параметры для шаблона согласно инструкции из приложения А (более подробно о разработке шаблонов в статье Разработка шаблона Enterprise SSO).
- На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно параметры Enterprise SSO-приложений описано в статьях Управление приложениями и Управление Enterprise SSO-приложениями).
- На этапе "Завершение" следует сохранить приложение, делая его активным сразу после создания.
- Перейти в профиль приложения из режима "Приложения" административной консоли. Во вкладке "Учетные записи приложения" настроить следующие параметры:
Параметр Значение Управление Установить флаг "Разрешить пользователям управление учётными записями". Ограничить время действия пароля Рекомендуется включить переключатель. Время действия пароля в днях Указать время действия в соответствии с парольными политиками для паролей в 1С:Предприятие. Минимальная длина пароля Указать в соответствии с парольными политиками для паролей в 1С:Предприятие. Минимальное количество изменённых символов пароля Указать в соответствии с парольными политиками для паролей в 1С:Предприятие. Пароль должен Установить флаги в соответствии с парольными политиками для паролей в 1С:Предприятие. - Нажать кнопку "Сохранить".
Проверка настройки
- Запустить на АРМ Avanpost FAM Agent, выполнить аутентификацию через УЗ в Avanpost FAM.
- Запустить Тонкий клиент 1С:Предприятие, дождаться перехвата Avanpost FAM Agent окна аутентификации в Тонкий клиент 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С:Предприятие
Пример содержимого шаблона (более подробно о разработке шаблонов в статье Разработка шаблона Enterprise SSO):
{
"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С курсор находится в строке пароля.
При создании шаблона требуется получить параметры для ввода в секцию "grab", определяющую признаки перехвата окон десктопного приложения:
"grab": [
{
"windowName": "1C:Enterprise",
"processName": "1cv8",
"windowClassName": "V8TopLevelFrameTaxiStarter"
}
]
Для получения параметров секции следует:
- Открыть Avanpost Agent FAM и перейти в Настройки, раздел "Настройки приложения".
- Установить чекбокс "Захватить окно".
- Открыть приложение 1С, дождаться загрузки окна на скриншоте, нажать на него и убрать чекбокс "Захватить окно".
- Выбрать "Открыть журнал захваченных окон", прокрутить до нужного окна и скопировать данные для вставки в шаблон.
Приложение Б. Одновременная аутентификация в Тонкий и Толстый клиент 1С:Предприятие
Для одновременной реализации подключения к Толстому и Тонкому клиенту в шаблоне необходимо добавить обе настройки в секцию "grab" в шаблоне следующим образом.
- Для Толстого клиента:
{ "windowName": "1C:Enterprise", "processName": "1cv8", "windowClassName": "V8TopLevelFrameTaxiStarter" },
- Для Тонкого клиента:
{ "windowName": "", "processName": "1cv8c", "windowClassName": "V8TopLevelFrameTaxiStarter" }
Порядок расположения секций кода не имеет значения.
Приложение В. Шаблон перехвата администрирования серверов
Для автоматического ввода учетных данных в окно «Администрирование информационной базы» (запускается через консоль MMC), необходимо создать отдельный шаблон перехвата. Стандартные шаблоны для клиента 1С:Предприятие не обрабатывают данное окно, так как оно принадлежит процессу mmc.exe. При это следует убедиться, что правила перехвата (grab) в разных шаблонах не пересекаются. Рекомендуется использовать точное совпадение по имени окна (windowName) и имени процесса (processName).
Шаблон для окна «Администрирование информационной базы 1С» (предназначен для автоматического ввода учетных данных в консоль управления серверами)
{
"authenticateTemplates": [
{
"commands": [
{
"commandType": "Sleep",
"sleepTime": 400
},
{
"commandType": "TextEntry",
"textMessage": "$user"
},
{
"commandType": "KeyPress",
"code1": "TAB"
},
{
"commandType": "TextEntry",
"textMessage": "$password"
},
{
"commandType": "KeyPress",
"code1": "RETURN"
}
],
"grab": [
{
"windowName": "Администратор информационной базы test",
"processName": "mmc",
"windowClassName": "#32770"
}
]
}
]
}
Шаблон для клиента «1С:Предприятие» (предназначен для автоматического ввода учетных данных в основной клиент 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": "1С:Предприятие",
"processName": "1cv8",
"windowClassName": "V8TopLevelFrameTaxiStarter"
},
{
"windowName": "",
"mainWindowTitle": "Доступ к информационной базе",
"processName": "1cv8c",
"windowClassName": "V8TopLevelFrameTaxiStarter"
},
{
"windowName": "1С:Предприятие. Доступ к информационной базе",
"processName": "1cv8",
"windowClassName": "V8NewLocalFrameBaseWnd"
}
]
}
]
}
Следует убедиться, что в шаблоне для основного клиента 1С отсутствуют правила, захватывающие окна процесса mmc. Шаблон должен ориентироваться только на процессы 1cv8, 1cv8c и соответствующие классы окон (V8TopLevelFrameTaxiStarter, V8NewLocalFrameBaseWnd).
Приложение Г. Методы интеграции и аутентификации для различных версий 1С
| Платформа рабочей станции | Метод интеграции, платформа | Методы аутентификации | 1С:Предприятие 8.3.13 и младше | 1С:Предприятие 8.3.14 и старше | ||||
|---|---|---|---|---|---|---|---|---|
| Тонкий клиент | Веб-клиент | Толстый клиент | Тонкий клиент | Веб-клиент | Толстый клиент | |||
| Microsoft Windows | ESSO | - | + | - | + | + | - | + |
| Пароль | + | - | + | + | - | + | ||
| Программный TOTP (Яндекс.Ключ и т.д.) | + | - | + | + | - | + | ||
| Аппаратный TOTP (Рутокен ОТП и т.д.) | + | - | + | + | - | + | ||
| Push в Avanpost Authenticator | + | - | + | + | - | + | ||
| Усиленный TOTP в Avanpost Authenticator | + | - | + | + | - | + | ||
| QR в Avanpost Authenticator | + | - | + | + | - | + | ||
| E-mail OTP | + | - | + | + | - | + | ||
| SMS OTP | + | - | + | + | - | + | ||
| FIDO WebAuthn/U2F/Passkeys | - | - | - | - | - | - | ||
| ЭП на USB-токене/смарт-карте (Рутокен ЭЦП и т.д.) | + | - | + | + | - | + | ||
| ЭП через КриптоПро Browser Plugin | - | - | - | - | - | - | ||
| Push в мессенджер Telegram | + | - | + | + | - | + | ||
| Kerberos | + | - | + | + | - | + | ||
| OIDC | - | - | - | - | + | + | - | |
| Пароль | - | - | - | + | + | - | ||
| Программный TOTP (Яндекс.Ключ и т.д.) | - | - | - | + | + | - | ||
| Аппаратный TOTP (Рутокен ОТП и т.д.) | - | - | - | + | + | - | ||
| Push в Avanpost Authenticator | - | - | - | + | + | - | ||
| Усиленный TOTP в Avanpost Authenticator | - | - | - | + | + | - | ||
| QR в Avanpost Authenticator | - | - | - | + | + | - | ||
| E-mail OTP | - | - | - | + | + | - | ||
| SMS OTP | - | - | - | + | + | - | ||
| FIDO WebAuthn/U2F/Passkeys (Рутокен MFA, Yubikey и т.д.) | - | - | - | +¹ | + | - | ||
| ЭП на USB-токене/смарт-карте (Рутокен ЭПЦ и т.д.) | - | - | - | +² | +² | - | ||
| ЭП через КриптоПро Browser Plugin | - | - | - | - | + | - | ||
| Push в мессенджер Telegram | - | - | - | + | + | - | ||
| Kerberos | - | - | - | +¹ | + | - | ||
| Linux (Astra Linux, Alt Linux) | ESSO | - | - | - | - | - | - | - |
| OIDC | - | - | - | - | + | + | - | |
| Пароль | - | - | - | + | + | - | ||
| Программный TOTP (Яндекс.Ключ и т.д.) | - | - | - | + | + | - | ||
| Аппаратный TOTP (Рутокен ОТП и т.д.) | - | - | - | + | + | - | ||
| Push в Avanpost Authenticator | - | - | - | + | + | - | ||
| Усиленный TOTP в Avanpost Authenticator | - | - | - | + | + | - | ||
| QR в Avanpost Authenticator | - | - | - | + | + | - | ||
| E-mail OTP | - | - | - | + | + | - | ||
| SMS OTP | - | - | - | + | + | - | ||
| FIDO WebAuthn/U2F/Passkeys (Рутокен MFA, Yubikey и т.д.) | - | - | - | +¹ | + | - | ||
| ЭП на USB-токене/смарт-карте (Рутокен ЭЦП и т.д.) | - | - | - | - | - | - | ||
| ЭП через КриптоПро Browser Plugin | - | - | - | - | + | - | ||
| Push в мессенджер Telegram | - | - | - | + | + | - | ||
| Kerberos | - | - | - | +¹ | + | |||
¹ - возможна несовместимость с определёнными версиями Тонкого клиента 1С;
² - работа только через компонент Avanpost FAM Agent для Windows.





