Category:

OpenVPN и 2FA через Телеграм

Нашел на хабре статью: https://habr.com/ru/post/487948/ . Она отчасти рекламирует сторонний коммерческий сервис "https://multifactor.ru/".

Этот самый сервис помимо прочего умеет оказывать услуги по 2FA (двухфакторной аутентификации) через Телеграм. Когда в момент коннекта OpenVPN-клиента к серверу последний через бота присылает на заранее заданный аккаунт "привет" с двумя кнопками: "Да, это я" и "Нет, отбить". По мне так, выглядит очень удобно. Не надо ставить на телефон кучу разных софтин, осуществлять первичную привязку, обслуживать замену сдохших телефонов, и всё вот это.

Не радуют две вещи.


  1. Сервис платный.

  2. Сервис сторонний.

Я как одмин старой школы, весьма негативно отношусь ко всему, что хостится не у меня. Поэтому вот эту штуку по имени "multifactor.ru" сам использовать точно не собираюсь.

Вопрос, насколько самому сложно написать что-то похожее. Просто послать сообщение в телегу несложно, там есть HTTP API, это можно сделать хоть wget-ом. Но тут нужно не просто послать, а сгенерировать опрос, получить ответ. И потом передать полученное в процесс OpenVPN через PAM либо через RADIUS.

Кто-нибудь видел что-нибудь готовое на эту тему? Или может быть где-нибудь есть хорошая документация как написать годного бота для телеграма на каком-нибудь PHP / Python / Bash / Java? Я бы покурил на досуге, может быть подбил бы кого-нибудь из коллег-программистов на подобный подвиг.