Двухфакторная аутентификация (8.3.21)

18.05.22

Администрирование - Информационная безопасность

Недавно в 1С появилась возможность двухфакторной аутентификации. Пример такой аутентификации можно увидеть при входе в клиент-банках (когда вначале пользователь вводит логин-пароль, а затем ему прилетает смс). Как это все настроить, мы и разберем. Кроме настройки авторизации приложил простенькую конфигурацию с http-сервисом и telegram-ботом, который будет присылать коды доступа.

Скачать файлы

Наименование Файл Версия Размер
Двухфакторная аутентификация (8.3.21):
.rar 19,21Kb
62
.rar 19,21Kb 62 Скачать

1.1. Создаем "Шаблон Настроек Второго Фактора Аутентификации", для этого выполняем простой код, можно внешней обработкой по кнопочке

ШаблонПровайдера = ШаблоныНастроекВторогоФактораАутентификации.СоздатьШаблон();
	
Запрос = Новый HTTPЗапрос;
Запрос.АдресРесурса = "&host"; //в этот параметр на следующем шаге запишется адрес куда отправлять HTTP запрос
Запрос.УстановитьТелоИзСтроки("Ваш код &secret","utf-8"); //тут можно изменить текстовку, обязательно ставим кодировку
	
ШаблонПровайдера.HTTPЗапросНаАутентификацию = Запрос;
ШаблонПровайдера.МетодHTTPЗапросаНаАутентификацию = "POST"; //тут или GET, или POST, я в дальнейшем буду запрашивать пароли через POST
ШаблонПровайдера.Имя = "ИмяШаблона"; //задаем имя шаблона, который используем в дальнейшем для назначения пользователю
	
ШаблорПровайдера.Записать();

1.2. Ставим галочку в конфигураторе у пользователя (Администрирование->Пользователи->ищем кому поставить) "Аутентификация токеном доступа"

 

 

1. 3. Теперь необходимо назначить шаблон Второго фактора аутентификации, для этого выполняем код

П = ПользователиИнформационнойБазы.НайтиПоИмени("ИмяПользователя"); //ИмяПользователя - меняем на имя пользователя
Найстройка = Новый НастройкаВторогоФактораАутентификации;
Найстройка.ИмяШаблонаНастройки = "ИмяШаблона"; //Имя шаблона задавали на 1-ом этапе
	
параметрыНастройки = новый Соответствие;
ПараметрыНастройки.Вставить("host","http://"127.0.0.1/otpavkod/hs/sendpass/?tel=123456789");//Задаем адрес на который будет отправлен HTTP Запрос с кодом для авторизации
Найстройка.Параметры = ПараметрыНастройки; //Задаем значение настройки

массивНастроек = Новый Массив;
массивНастроек.Добавить(Найстройка); //задаем массив настроек, тут важно, что это массив, а значит можно указать несколько настроек аутентификации
	
П.НастройкиВторогоФактораАутентификации = массивНастроек; //Устанавливаем настройки пользователю
п.ОбработкаНастроекВторогоФактораАутентификации = ТипОбработкиНастроекВторогоФактораАутентификации.ИспользоватьСледующуюПриОшибке; //что делать при некорректном вводе кода
П.Записать();

Второй этап. Провайдер для отправки сообщения пользователю. Можно выбрать любого, кто позволяет отправлять пользователю сообщения через HTTP запросы. Я пошел более сложным путем и сделал небольшую конфигурацию с http-сервисом. http-сервис получает HTTP запрос с кодом и пересылает через telegram пользователю.

Дальше небольшая инструкция по настройке конфигурации

2.1. 1-ое, что делаем, создаем бота telegramm, для этого пишем отцу всех ботов @BotFather и создаем нового бота, в ответ вам приходит token бота, токен задаем в константе "токкенбот"

2.2. Просим пользователя отправить сообщение нашему боту (бота можно найти через поиск в telegramm), лучше всего номер телефона

2.3. Заходим в режиме 1С-предприятие в обработку "Телеграмм Чат", дальше жмем "Получить ИД последнего сообщения", нам выходит сообщение и ид клиента, по которому с ним можно связаться, жмем "Записать клиента" (создается элемент справочника "Клиенты бота" Реквизит "Код" - ИД куда в дальнейшем будем отправлять сообщения с кодами доступа, Реквизит "Наименование" - сообщение пользователя, телефон)

2.4. Публикуем наш HTTP-сервис в конфигураторе Администрирование->Публикация на Веб-сервисе->Ставим галочку у "sendpass" (Закладка HTTP-Сервисы), Предварительно надо установить Apache, или ISS

2.5. Прописываем в шаблонах настройки пользователя из пункта (1.3.) Параметр "host" = "http://адрессервера/публикациябазы/hs/sendpass?tel=ТелефонПользователяИлиСообщениеКотороеОнОтправил

Проверено на платформе 8.3.21.

Двухфакторная аутентификация telegramm http-сервис

См. также

AUTO VPN (portable)

Информационная безопасность Платные (руб)

Автоматизация подключения пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC и т.д.) подключения без ввода настроек пользователем (с возможностью скрытия этих настроек от пользователя). Программа автоматически выполняет подключение к VPN серверу и после успешного коннекта , если необходимо, подключение к серверу удаленных рабочих столов (RDP).

1200 руб.

24.03.2020    14398    22    32    

33

Настройка аутентификации в 1С с использованием стандарта RFC 7519 (JWT)

Информационная безопасность Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    2608    PROSTO-1C    9    

29

Device flow аутентификация, или туда и обратно

Информационная безопасность Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    1618    platonov.e    1    

23

Анализатор безопасности базы сервера 1С

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Продукты на основе решений 1С уверенной поступью захватывают рынок учётных систем в стране. Широкое распространение программ всегда порождает большой интерес к ним со стороны злоумышленников, а пользователь 1С это одна из дверей в защищённый информационный контур предприятия. Обработка позволяет быстро и комплексно оценить настройки безопасности конкретной базы и возможности пользователя этой базы на сервере. Также можно оценить некоторые аспекты сетевой безопасности предприятия со стороны сервера 1С.

5 стартмани

24.04.2023    5438    14    soulner    7    

29

Двухфакторная аутентификация в 1С через Telegram и Email

Информационная безопасность Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    5968    32    Silenser    12    

23

История одного взлома или проверьте вашу систему на безопасность

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

От клиента клиенту, от одной системы к другой, мы вновь и вновь встречаем одни и те же проблемы и дыры в безопасности. На конференции Infostart Event 2021 Post-Apocalypse Виталий Онянов рассказал о базовых принципах безопасности информационных систем и представил чек-лист, с помощью которого вы сможете проверить свою систему на уязвимость.

26.10.2022    9244    Tavalik    46    

113
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vld1973 85 18.05.22 10:22 Сейчас в теме
Спасибо за подробное описание порядка подключения двухфакторной аутентификации.
Сами планируем переходить на некоторых конфигурациях на стандартную двухфакторную аутентификацию, после того, как версия режима их совместимости станет 8.3.21
cleaner_it; +1 Ответить
2. vov4ik1212 65 18.05.22 12:27 Сейчас в теме
(1) Пробовал запускать клиент УТ 11 (не последнюю) платформой 8.3.21, двухфакторная аутентификация работает
3. vld1973 85 18.05.22 12:47 Сейчас в теме
(2) Спасибо за информацию, я скачал вашу разработку для тестирования
4. insurgut 207 19.05.22 22:25 Сейчас в теме
Это не двухфакторная аутентификация (по крайней мере в классическом её исполнении), даже 1С галочку назвала это своим именем. Главное отличие (достоинство) двухфакторной аутентификации в том, что никому ничего никуда отправлять не нужно. Открыл приложение, вроде Google Authenticator на своем смартфоне, ввел временный пароль. Все готово. Экономим трафик/смс, не зависим от работоспособности сервисов.
user802337; rabid_otter; +2 2 Ответить
5. TMV 14 20.05.22 00:41 Сейчас в теме
(4) Google Authenticator - это не сервис?
JohnyDeath; +1 Ответить
6. insurgut 207 20.05.22 08:58 Сейчас в теме
(5) конечно нет. Приложение, которое работает автономно, не требуя подключения к сети интернет.
7. TMV 14 20.05.22 10:40 Сейчас в теме
(6) Как это приложение связано с 1С?
8. insurgut 207 20.05.22 10:43 Сейчас в теме
(7) а оно и не должно быть связано с 1С. Где вы видели двухфакторную аутентификацию на сайтах, чтобы пользователям необходимо было устанавливать 1С? Поэтому я и говорю, что описанное в статье - это не двухфакторная аутентификация, а аутентификация по токену.
9. TMV 14 20.05.22 10:45 Сейчас в теме
(8) Причем здесь какие-то сайты?
Тут речь о 2хфакторной авторизации в 1С - не могу понять, как это будет работать с приложением Google Authenticator - объясните?
10. insurgut 207 20.05.22 10:48 Сейчас в теме
(9) никак - она в 1С не реализована. Самим реализовывать только.
12. RocKeR_13 1317 20.05.22 17:08 Сейчас в теме
(8) Google Authenticator - это тоже аутентификация по одноразовому токену. В общем случае X-факторная аутентификация - это подтверждение личности пользователя X различными способами. Соответственно, двухфакторная аутентификация - это подтверждение авторизации двумя разными способами. В данном случае, первый способ - это постоянный пароль. Второй способ - это подтверждение входа по одноразовому ключу, отправленному на устройство пользователя. И тут неважно, каким способом доставляется ключ - с помощью Google Authenticator, по СМС или через бота телеги. Ключевое здесь - это доставка одноразового ключа на устройство, которым физически владеет пользователь. Об этом же все есть на сайте 1С
cleaner_it; consolerat; Somebody1; Award; swenzik; +5 Ответить
13. KOTzilla 15 27.05.22 10:29 Сейчас в теме
(4)
Это не двухфакторная аутентификация (по крайней мере в классическом её исполнении)


1 этап - ввод логина и пароля
2 этап - подтверждение по коду

Чем это не классическая двухфакторная аутентификация? не важно сервис это или нет, смысл в разнородных механизмах аутентификации, даже если вам этот код, почтальон Печкин, принесет в конверте, это будет классической двухфакторной аутентификацией.
cleaner_it; +1 Ответить
14. insurgut 207 27.05.22 14:09 Сейчас в теме
(13) как это не важно, используется сервис или нет? Это прямо краеугольная разница между своим решением двухфакторной аутентификации "на коленке" и классической её версией, которая используется повсеместно на всех сайтах и основана на алгоритмах, которые генерируют временный пароль без наличия доступа к интернету или сотовой связи. Достаточно лишь открыть приложение на смартфоне и увидеть сразу временный пароль. Классическим я его называю из-за его повсеместности и массовости применения.
11. maksa2005 530 20.05.22 12:01 Сейчас в теме
1С явно нечем заняться, как придумывать 2х факторную защиту. Лучше бы методанные основной конфигурации и всех расширение было бы в видно в составе расширение
7OH; gvozditut; Mishanya; +3 5 Ответить
15. tl_pj 31.05.22 20:25 Сейчас в теме
Вы правда не знаете как пишется telegram, или это местный прикол такой?
16. DoReMu 3 03.06.22 06:53 Сейчас в теме
(15)
Вы правда не знаете как пишется telegram, или это местный прикол такой?


Вы решили прицепиться к двум буквам m в конце?
17. TVA_11 08.06.22 17:56 Сейчас в теме
А есть возможность настройки блокировки пользователя при ошибке на втором факторе аутентификации?

Это на случай, когда первый фактор, скомпрометирован.
18. vov4ik1212 65 10.06.22 12:48 Сейчас в теме
(17) Это по идее обработка умного сервиса
19. TVA_11 10.06.22 16:40 Сейчас в теме
(18) Когда пользователь заводит первый неправильный пароль, идет блокировка неверного ввода данных.

Не должно быть трудностей и с аналогичной блокировкой, в случае ошибок второго фактора?
21. efin 16.09.23 23:32 Сейчас в теме
(19) Нет, платформенная блокировка при нескольких неправильных вводах второго фактора не срабатывает.
20. Юрий-К 112 24.08.23 08:04 Сейчас в теме
Есть другое решение еще с 2016г https://infostart.ru/1c/tools/458286/
на правах рекламы ))
22. paladinum 11.12.23 17:47 Сейчас в теме
Спасибо за статью. Подскажите, а если реализовывать доставку кода через электронную почту (в 1С уже есть адрес пользователя и код 1С сама генерирует). Может ли 1С сразу отправить это сообщение на почту пользователя, или все равно нужно использовать какой-то сторонний сервис, который преобразует http(s) запрос (с почтой и кодом в заголовках) в электронное письмо пользователю?
23. vov4ik1212 65 12.12.23 14:59 Сейчас в теме
(22)Там отправляется именно http(s) запрос, т.е. в 1с в момент авторизации по 2-ому контуру 1с еще не запущена.
Т.е. надо будет куда то http(s) отправить и там уже разобрать его для отправки на эл-ку
24. SerJant_moscow 20.02.24 15:42 Сейчас в теме
Скажите пожалуйста, для того, чтобы сделать запрос с авторизацией в 1С (другая конфига работает как HTTP сервис) куда внести изменения?
25. SerJant_moscow 26.02.24 13:02 Сейчас в теме
(24) Сам себе ответил:

ШаблорПровайдера = ШаблоныНастроекВторогоФактораАутентификации.СоздатьШаблон();
	
	Запрос = Новый HTTPЗапрос;
	Запрос.АдресРесурса = "&host";
	Запрос.УстановитьТелоИзСтроки("&secret","utf-8");
	Запрос.Заголовки.Вставить("Authorization", "Basic AAAAAXXXCCCXCXCX");


Вместо AAAAAXXXCCCXCXCX должна быть связка логин/пароль в формате Base64, взять можно из того же postman, в разделе headers, key = Authorization
Оставьте свое сообщение