{"id":14273,"url":"\/distributions\/14273\/click?bit=1&hash=820b8263d671ab6655e501acd951cbc8b9f5e0cc8bbf6a21ebfe51432dc9b2de","title":"\u0416\u0438\u0437\u043d\u044c \u043f\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0435 \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0440\u0435\u043d\u0434\u044b \u0440\u044b\u043d\u043a\u0430 \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438","buttonText":"","imageUuid":""}

Второй фактор для Windows-аутентификации на Telegram (opensource)

Привет уважаемому сообществу! Решил представить на этой площадке новую версию своего opensource-проекта.

Видео работы https://youtu.be/f2z9zQy8HgQ

Инсталлятор и скомпилированные версии https://github.com/Constantine-SRV/ServiceLogonMultifactor/tree/master/downloadAll

Сейчас проект дошел до такой стадии, что функционал уже достаточный для коммерческого продукта, и я очень надеюсь получить какие-то идеи для развития и вывода на рынок, ну или критику, она тоже лишней не бывает.

Предыдущую версию я представлял на хабре https://habr.com/ru/post/565298/, в принципе все новые функции текущей версии это результат обсуждения той статьи.

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

ServiceLogonMultifactor (SLMF) предназначен для отправки сообщения о заходе на компьютер и запроса на разрешение (второй фактор) в мессенджер «Телеграм».

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

По сравнению с предыдущей версией пользователю полностью блокируется интерфейс до получения разрешения.

Добавлена возможность получать данные о внешнем IP при подключении через шлюз удаленных рабочих столов (RDG) или VPN

Отличие от других решений:

  • Решение с открытым кодом, аналогичных решений я не нашел.
  • Используется мессенджер для доставки сообщений и подтверждений. Полагаю у Телеграмм надежность выше, чем у любой собственной, даже крупной разработки;
  • SLMF показывает информацию откуда совершен вход: консоль или IP в случае удаленного подключения.
  • Пользователь и/или администратор могут гибко регулировать уровень «бдения» от просто оповещать, до полной блокировки со списком доверенных узлов, при подключении с которых приходит только уведомление.
  • Есть базовые функции мониторинга: посмотреть процессы, загрузку памяти, uptime, пользователей. Подробнее здесь https://github.com/Constantine-SRV/ServiceLogonMultifactor/wiki/RU-7.-Примеры-команд
  • Блокировка реализована так, чтобы не влезать в процесс логина пользователя, что полностью исключает повреждение ОС при ошибках. Это существующая проблема других решений, например в документации CISCO 2FA https://duo.com/docs/rdp на первой же странице целый абзац как восстанавливать систему. Да и у меня лично были случаи когда из-за сбоя коммерческого 2FA приходилось восстанавливать OS.

На сегодняшний день есть понимание, что данный проект надо разделять на бесплатный для личного использования и коммерческий с дополнительными функциями.

Вот что я вижу для коммерческой версии:

  • Получение данных от RDG или VPN сервера о внешнем ИП;
  • Белые списки на основе стран, провайдеров или автономных систем AS;
  • Настройка уведомлений администратору при подключении из другой страны;
  • Отчетность по источникам подключений;
  • Централизованное управление конфигурациями;
  • Централизованный сбор логов;

Основное из этого списка уже сделано, что-то делается, что-то еще в стадии планирования.

Что я надеюсь получить от этой публикации – совет\идею\партнера, как дальше развивать этот проект. Я сам технарь, мои навыки продажника скорее отрицательны, и сам я этот проект коммерчески успешным не сделаю.

У меня уже был проект www.skypetime.ru, который хоть и окупился, даже принеся неплохую прибыль, но не оправдал возложенные на него надежды.

Пишите [email protected]

0
25 комментариев
Написать комментарий...
домашний

О, старожилы с хабры потянулись на ВиСи, это радует. 

Ответить
Развернуть ветку
Вася Пражкин

Так там уже почти никого не осталось. Комментариев мало, а адекватных комментариев вообще единицы.

Ответить
Развернуть ветку
Антон Маринин

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

Ответить
Развернуть ветку
Вася Пражкин

Уже не славится. Крючков просрал все полимеры.

Ответить
Развернуть ветку
Андрей

"Что я надеюсь получить от этой публикации – совет\идею\партнера, как дальше развивать этот проект."
Возможно, есть смысл нанять копирайтера - понял суть идеи только прочитав комментарии и статью второй раз. И даже сейчас не уверен, что правильно все понял))

Ответить
Развернуть ветку
Constantine-SRV
Автор

если на рынок выводить, то обязательно и не только копирайтера.
А вообще это нишевое решение, а для персонального компютера и подавно.

Ответить
Развернуть ветку
Gosta KTB

Инвесторы нишевые решения не любят.

Ответить
Развернуть ветку
Constantine-SRV
Автор

На этом этапе инвестор не нужен. Закончить техническую часть средств достаточно. В данный момент больше наужно понимание надо ли это кому то, и если да то какой функционал? Что надо доделать добавить?
А с нишевыми решениями я еще в вышеупомянутом www.skypetime.ru столкнулся. Это система учета рабочего времени на основе данных из Skype for Business и Active directory.
C одной стороны рынок очень узкий, а с другой если человек пониает, что ему это нужно, то реальных альтернатив нет.

Ответить
Развернуть ветку
Constantine-SRV
Автор

Посмотрите приложение https://github.com/Constantine-SRV/ServiceLogonMultifactor/tree/master/formBlockAccess

Оно очень простое, несколько строчек кода - запускается поверх всех окон и блокирует ввод каждые полсекунды. Можно нажать ctrl+alt+del и даже открыть диспетчер задач только за полсекунды его можно разве что увидеть мелькнувшим на экране

Можно попробовать обойти Исполнительный файл https://github.com/Constantine-SRV/ServiceLogonMultifactor/blob/master/downloadAll/formBlockAccess.exe (подписан)

По умолчанию блокировка 5 секунд если надо больше запускайте с параметром formBlockAccess.exe [sec]. 

Ответить
Развернуть ветку
Денис Орлов

Я за полсекунды успеваю закрыть приложение из диспетчера задач. Делал раньше вирус, который просто был поверх экрана.
А через диспетчер методом «наития» закрывал это.

Ответить
Развернуть ветку
Constantine-SRV
Автор

Абсолютно не реально, пробуйте, приложение есть.
Когда тестировал и за секунду ничего не сделать, 500миллисекунд поставленно для гарантии.
Но можно и 300 и 100 миллисекунд интервал повторных блокировок поставить.

Ответить
Развернуть ветку
Денис Орлов

Я делал на Delphi форму поверх других. Видимо, у нас что-то отличается. Мне удавалось.

Ответить
Развернуть ветку
Александр Трофимов

Все равно звучит как огромный недоделанный костыль. Почему бы не сделать v2, которая будет прерывать как раз таки виндовый вход? Потому что за полсекунды можно как минимум запустить удаление всего с рабочего стола. 

Ответить
Развернуть ветку
Constantine-SRV
Автор

Вы код не смотрели и не пробовали.
Вот в этом модуле блокировка:
https://github.com/Constantine-SRV/ServiceLogonMultifactor/blob/master/formBlockAccess/BlockAndDisplay.cs
Поверх других окон это только косметическое, главное это полная блокировка ввода мыш, клавиатура, тачскрин через WinAPI.
[DllImport("user32.dll", SetLastError = true)]
static extern bool BlockInput(bool fBlockIt);
Ничего сделать нельзя, ни в консоле ни в терминале.

Ответить
Развернуть ветку
Yurij Georgievich

Интересно. Такое решение может помочь учителю который оставил ноут на столе на время перемены. Теперь условный двоечник не сможет открыть ЭЖД и поправить себе оценку. Зачёт! Конкурент "windows hello". Но от загрузки с флешки и даже  от холодного рестарта shift+reboot это не спасает. Тут уже надо отдельно битлокер настраивать. 

Ответить
Развернуть ветку
Constantine-SRV
Автор

Да именно для отдельностоящего компьютера оно и разрабатывалось.

От загрузки в safe mode или с флешки действительно защищает только битлокер.
Если есть возможность, его конечно надо использовать, иначе при наличии физического доступа с компьютером можно делать все что угодно.

Ответить
Развернуть ветку
домашний

«Блокировка реализована так, чтобы не влезать в процесс логина пользователя»

Как такое возможно? 

Ответить
Развернуть ветку
Anna Petrova

Ничего не понятно, но очень круто!

Ответить
Развернуть ветку
Gosta KTB

Привязывать двуфакторное решение к телеграмму плохо, а если опять забанят его, что тогда пилить свое приложение?

Ответить
Развернуть ветку
Constantine-SRV
Автор

Свое мобильное приложение — это еще и свой сервер с пуш уведомлениями. А в этом случае сразу отпадает вариант простой установки на один компьютер. Или нужна будет подписка на облачный сервис.
Да действительно смотришь на функционал ботов в телеграмме и понимаешь, что если начнутся попытки монетизации, то скорее всего они начнутся с функционала ботов.
Код написан так, что заменить телеграмм или добавить другой способ связи с пользователем не сложно. Если развивать платную версию, то конечно свое мобильное приложение и свой сервер делать придется.
Зато можно будет сделать более функционально с нормальным мониторингом и историей. 

Ответить
Развернуть ветку
Ivan

А если не будет интернета, как сработает второй фактор, я не попаду на свой комп? 

Ответить
Развернуть ветку
Constantine-SRV
Автор

Если источник подключения добавлен в белый список, то попадете, если нет то нет, все настраиваемо в конфигурационном файле.
Документация здесь:
https://github.com/Constantine-SRV/ServiceLogonMultifactor/wiki/RU-3.3.-Параметры-файла-Service.Config.xml
  

Ответить
Развернуть ветку
Олег

Попробовал на одном терминале все работает, спасибо, полезная вещь!!!
На гите нет функционала получения внешних IP, как на него посмотреть?  

Ответить
Развернуть ветку
Constantine-SRV
Автор

Спасибо за теплые слова!
Приглашаю принять участие в тестировании этого и других функционалов не включенных в бесплатную версию.
Пишите [email protected] с рабочего мейла и пару слов об инфраструктуре, где предполагается тестирование. 

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Constantine-SRV
Автор

ошибка

Ответить
Развернуть ветку
22 комментария
Раскрывать всегда