Второй фактор для 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]
О, старожилы с хабры потянулись на ВиСи, это радует.
Так там уже почти никого не осталось. Комментариев мало, а адекватных комментариев вообще единицы.
хабра постами больше славится, нежели комментариями, думаю, что не показатель вовсе.
Уже не славится. Крючков просрал все полимеры.
"Что я надеюсь получить от этой публикации – совет\идею\партнера, как дальше развивать этот проект."
Возможно, есть смысл нанять копирайтера - понял суть идеи только прочитав комментарии и статью второй раз. И даже сейчас не уверен, что правильно все понял))
если на рынок выводить, то обязательно и не только копирайтера.
А вообще это нишевое решение, а для персонального компютера и подавно.
Инвесторы нишевые решения не любят.
На этом этапе инвестор не нужен. Закончить техническую часть средств достаточно. В данный момент больше наужно понимание надо ли это кому то, и если да то какой функционал? Что надо доделать добавить?
А с нишевыми решениями я еще в вышеупомянутом www.skypetime.ru столкнулся. Это система учета рабочего времени на основе данных из Skype for Business и Active directory.
C одной стороны рынок очень узкий, а с другой если человек пониает, что ему это нужно, то реальных альтернатив нет.
Посмотрите приложение 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].
Я за полсекунды успеваю закрыть приложение из диспетчера задач. Делал раньше вирус, который просто был поверх экрана.
А через диспетчер методом «наития» закрывал это.
Абсолютно не реально, пробуйте, приложение есть.
Когда тестировал и за секунду ничего не сделать, 500миллисекунд поставленно для гарантии.
Но можно и 300 и 100 миллисекунд интервал повторных блокировок поставить.
Я делал на Delphi форму поверх других. Видимо, у нас что-то отличается. Мне удавалось.
Все равно звучит как огромный недоделанный костыль. Почему бы не сделать v2, которая будет прерывать как раз таки виндовый вход? Потому что за полсекунды можно как минимум запустить удаление всего с рабочего стола.
Вы код не смотрели и не пробовали.
Вот в этом модуле блокировка:
https://github.com/Constantine-SRV/ServiceLogonMultifactor/blob/master/formBlockAccess/BlockAndDisplay.cs
Поверх других окон это только косметическое, главное это полная блокировка ввода мыш, клавиатура, тачскрин через WinAPI.
[DllImport("user32.dll", SetLastError = true)]
static extern bool BlockInput(bool fBlockIt);
Ничего сделать нельзя, ни в консоле ни в терминале.
Интересно. Такое решение может помочь учителю который оставил ноут на столе на время перемены. Теперь условный двоечник не сможет открыть ЭЖД и поправить себе оценку. Зачёт! Конкурент "windows hello". Но от загрузки с флешки и даже от холодного рестарта shift+reboot это не спасает. Тут уже надо отдельно битлокер настраивать.
Да именно для отдельностоящего компьютера оно и разрабатывалось.
От загрузки в safe mode или с флешки действительно защищает только битлокер.
Если есть возможность, его конечно надо использовать, иначе при наличии физического доступа с компьютером можно делать все что угодно.
«Блокировка реализована так, чтобы не влезать в процесс логина пользователя»
Как такое возможно?
Ничего не понятно, но очень круто!
Привязывать двуфакторное решение к телеграмму плохо, а если опять забанят его, что тогда пилить свое приложение?
Свое мобильное приложение — это еще и свой сервер с пуш уведомлениями. А в этом случае сразу отпадает вариант простой установки на один компьютер. Или нужна будет подписка на облачный сервис.
Да действительно смотришь на функционал ботов в телеграмме и понимаешь, что если начнутся попытки монетизации, то скорее всего они начнутся с функционала ботов.
Код написан так, что заменить телеграмм или добавить другой способ связи с пользователем не сложно. Если развивать платную версию, то конечно свое мобильное приложение и свой сервер делать придется.
Зато можно будет сделать более функционально с нормальным мониторингом и историей.
А если не будет интернета, как сработает второй фактор, я не попаду на свой комп?
Если источник подключения добавлен в белый список, то попадете, если нет то нет, все настраиваемо в конфигурационном файле.
Документация здесь:
https://github.com/Constantine-SRV/ServiceLogonMultifactor/wiki/RU-3.3.-Параметры-файла-Service.Config.xml
Попробовал на одном терминале все работает, спасибо, полезная вещь!!!
На гите нет функционала получения внешних IP, как на него посмотреть?
Спасибо за теплые слова!
Приглашаю принять участие в тестировании этого и других функционалов не включенных в бесплатную версию.
Пишите [email protected] с рабочего мейла и пару слов об инфраструктуре, где предполагается тестирование.
Комментарий удален модератором
Комментарий удален модератором
ошибка