0. Юрий-К 83 16.02.16 07:05 Сейчас в теме

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

Двухфакторная аутентификация (2FA) — это механизм, который позволяет защитить ваш аккаунт надежнее, чем традиционный пароль.
Пароль должен быть сложным, при этом его нужно всегда помнить, хранить от посторонних глаз и достаточно часто менять. Но даже если вы принимаете все меры, пароль все равно остается уязвимым — например, для вирусов, которые могут перехватить то, что вы набираете на клавиатуре.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. tkv44 17.02.16 09:59 Сейчас в теме
Интересная тема. Спасибо автору за исследование.
В 1С нет подобного, т.к. отсутствует необходимость. Двухфакторная аутентификация нужна там, где проходной двор. А бухгалтеры обычно сидят во внутренней ЛВС, в отдельном кабинете с усиленной дверью (ибо касса тоже рядом). Внедрив подобное, можно заработать много очков в минус карме от тех же бухгалтеров, кому нужен лишний геморрой при входе в программу.
2. Zhilyakovdr 91 17.02.16 10:39 Сейчас в теме
(1) tkv44, Тема действительно интересная, а применять двухфакторную аутентификацию можно например при работе через веб клиент и предоставлении доступа сторонним лицам.
adhocprog; +1 Ответить
3. Юрий-К 83 18.02.16 07:30 Сейчас в теме
(1) tkv44, (2) Zhilyakovdr,
Спасибо за оценку, на выходных, возможно, в конце статьи размещу пару-тройку скриншотов , чтобы прояснить как заводить секретный ключ в телефон( один человек подсказал),
сильно подозреваю, что тем кто не пробовал двухфакторную аутентификацию через приложение тяжело понять с ходу преимущества.
Меня это "очень сильное колдунство" просто заворожило )).
А вообще вы правы для веб интерфейса это самое то. Если открыт доступ снаружи без дополнительных мер защиты. Защита паролем слаба, угонят пароль на раз, особенно если заходят из "опасных" мест. Также очевидно, что можно использовать этот принцип не на начальной авторизации, а уже внутри программы для доступа например к проведению определенных документов итд.
Вообще функцией HMAC( Знач Ключ, Сообщение ) как раз таки и можно формировать подписи любых данных тк это "..один из механизмов проверки целостности информации, позволяющий гарантировать то, что данные, передаваемые или хранящиеся в ненадёжной среде, не были изменены посторонними лицами..." она же выполняет отчасти некоторое исправление против слабых(коротких) ключей и слабых(коротких) сообщений. Хотя для этих целей в 1С есть более продвинутый объект МенеджерКриптографии.
4. Craig 230 18.02.16 14:17 Сейчас в теме
(0) тема интересная (в декабре была подобная задачка, пока ее временно отложил), опишите пожалуйста как выглядит процесс. Вот пользователь подошел к компьютеру, включил компьютер, ввел пароль от windows, дальше запускает 1с и что происходит далее? так же интересует вопрос возможно ли навесить определенное ограничение на доступ? К примеру, у пользователя нет прав на проведение документа, а тут пришел админ с волшебной флешкой и провел документ через рабочее место пользователя.
5. I_G_O_R 57 23.03.16 21:34 Сейчас в теме
Я правильно понимаю, что когда открывается форма "Обработка.ДвухфакторнаяАутентификация.Форма.ФормаПроверки" пользователь фактически залогинен и ему осталось закрыть это окно, чтобы можно было продолжить работать?
6. Юрий-К 83 28.03.16 07:05 Сейчас в теме
(5) I_G_O_R,
Если он его закроет закроется 1С. Он должен либо ввести корректный одноразовый пароль который все время меняется либо не зайдет.
7. I_G_O_R 57 29.03.16 01:47 Сейчас в теме
(6) Форму можно закрыть без последствий, или даже вообще не открывать, в браузере можно выполнить свой javascript, ну или подменить javascript. Для взломщика это не будет проблемой, значит толку от такой защиты нет совсем. Чтобы защита реально работала, нужно использовать РЛС в зависимости от параметра сеанса, а значение параметра сеанса должно зависеть от ввода кода.
8. Юрий-К 83 04.04.16 08:46 Сейчас в теме
(7) I_G_O_R,
Во первых здесь рассматривается механизм работы с одноразовыми паролями, связка 1С - генераторы паролей. как вы в дальнейшем это используете ограничено только вашей фантазией.
можете даже
...использовать РЛС в зависимости от параметра сеанса, а значение параметра сеанса должно зависеть от ввода кода


во вторых Вы сможете обойти примитивнейшее?
ОткрытьФорму("Обработка.ДвухфакторнаяАутентификация.Форма.ФормаПроверки",,,,,,    ,        РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс ); 

и событие
&НаКлиенте
Процедура ПриЗакрытии()
	Если не АвторизацияПройдена тогда
		ЗавершитьРаботуСистемы (Ложь);
	КонецЕсли;
КонецПроцедуры
? Самому интересно посмотреть, про SSL не забудьте. )).

и еще напомню это вторая часть авторизации первую стандартную никто не отменял.
9. утюгчеловек 29.04.16 10:35 Сейчас в теме
(8)

во вторых Вы сможете обойти примитивнейшее? ...


Разумеется. Не трогаем форму 2ФА, жмем F1 - открываем справку. Жмем "перейти по ссылке", набираем что-то типа "e1cib/list/Справочник.Справочник1". Работаем со справочником.
Взял отсюда: http://forum.infostart.ru/forum87/topic150805/.

Это говорит только о том, что решение должно быть чуточку сложнее. Но в целом - мне лично понравилось. Жму звезду.
10. Юрий-К 83 17.05.16 08:20 Сейчас в теме
(9) утюгчеловек,
Это говорит только о том, что решение должно быть чуточку сложнее. Но в целом - мне лично понравилось. Жму звезду.


это говорит что у меня и у 1С разные понимания ключа
РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс
, думаю что рано или поздно 1С исправит этот недочет.
За звезду спасибо!

11. grandexpert 21 21.02.17 15:54 Сейчас в теме
Добрый день. Приобрел обработку, дт-шник, лайкнул... но что-то не получается ввести правильный код.

Порядок действий сделал такой:
1. Открыл под Админом в базе обработку. Создал секретный ключ.
2. Скачал Google Authenticator. Сканировал им QR код из обработки.
3. Ввожу пароль из приложения в 1С. Ругается что неверный пароль.
4. Время одинаковое между компом и телефоном. По крайней мере по минутам точно.

В чем может быть причина?
12. Юрий-К 83 02.03.17 12:58 Сейчас в теме
(11) Добрый день,
1. Чтобы не было вопросов к синхронизации времени поставьте на смартфоне "синхронизировать время по сети",
"использовать 24-часовой формат" , и "использовать часовой пояс сети" , тоже самое на ПК. и попробуйте снова создать 2фа.

2. Используйте на смартфоне генератор паролей Freeotp
https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp

3. При создании, попробуйте не сканировать, QRкод, а набрать его в приложение вручную. Если благополучно создали на пользователе 2фа то в дальнейшем это проблемы с паролем это только рассинхронизация времени.

и пишите в ЛС.
13. gonyav 24 27.10.17 09:38 Сейчас в теме
Функция МассивВДвоичныеДанные без COM для 8.3.6 и выше:

Функция МассивВДвоичныеДанные( КлючМассив ) Экспорт
    ИмяФайла = ПолучитьИмяВременногоФайла( "bak" );
    МассивКоличество = КлючМассив.Количество()-1;
    Запись = Новый ЗаписьДанных(ИмяФайла);
    
    Для Индекс=0 По МассивКоличество  Цикл
        Запись.ЗаписатьБайт(КлючМассив[Индекс]);
    КонецЦикла;
    Запись.Закрыть();
    ДвДанные = Новый ДвоичныеДанные ( ИмяФайла );
    УдалитьФайлы( ИмяФайла);
    Возврат ДвДанные;    
КонецФункции
Показать
15. Юрий-К 83 28.10.17 11:04 Сейчас в теме
(13) Да, спасибо, давно делал, кажется в момент публикации эти объекты уже появились, переделывать было некогда, будет время обновлю обязательно!
14. gonyav 24 27.10.17 10:06 Сейчас в теме
Генерация QR-кода на сервере linux без БСП:

&НаСервере

Процедура СоздатьQRКодНаСервере()
    ВремФайл = ПолучитьИмяВременногоФайла("png");    
// apt-get install qrencode
    СтрокаВыполнения = "qrencode -o " + ВремФайл + " -t PNG ""otpauth://totp/" + НРег(Транслитерация(Объект.Наименование)) + "@domain.ru?secret=" + Объект.СекретныйКлюч + """";
    ЗапуститьПриложение( СтрокаВыполнения,, Истина);    
    КартинкаСервер = Новый Картинка(ВремФайл);
    АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(КартинкаСервер, Новый УникальныйИдентификатор);    
    Картинка = АдресВоВременномХранилище; //qr-код на форме
    УдалитьФайлы(ВремФайл);
КонецПроцедуры
Показать
16. elephant_x 20.09.19 13:57 Сейчас в теме
Подскажите пожалуйста как сделать что бы пароль был 4-х значный и интервал на вводне 30 секунд, а например 60.

Что-то не пойму.
17. Юрий-К 83 22.09.19 18:50 Сейчас в теме
(16) все в коде есть, смотрите внимательней. Какой одноразовый пароль на мобильном устройстве создает генератор оп? в 1С под него подстраивайтесь.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день

Программист 1C
Москва
зарплата от 100 000 руб. до 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 120 000 руб. до 150 000 руб.
Полный день