TurtleGuardmini app / bot
Защита Telegram мини-аппа и бота от DDoS
Мини-приложение, его API и вебхуки бота работают через узлы TurtleGuard. Флуд и боты остаются у нас, Telegram и платёжные системы доходят до сервера без помех.
Что ломает мини-аппы и ботов
Флуд API мини-аппа
Скрипт бьёт по эндпоинтам, которые дёргает фронтенд: авторизация, баланс, каталог. Сервер ложится, и приложение у пользователей перестаёт грузиться.
Атака на вебхук
Адрес вебхука легко узнать из запросов приложения. Если на него идёт флуд, бот перестаёт отвечать, хотя у самого Telegram всё в порядке.
Прямой удар по серверу
Когда известен IP сервера, атака идёт мимо любого фильтра по домену. Поэтому адрес нужно спрятать, а прямые подключения закрыть.
Как защищаем
Проверка работает внутри Telegram
Мини-апп открывается во встроенном браузере Telegram, и наша проверка проходит там же, без отдельной страницы. Данные запуска из адреса (tgWebAppData) после проверки сохраняются, приложение получает их как обычно.
Вебхуки проходят без проверки
Серверы Telegram и платёжных систем не умеют проходить проверку браузера. Для пути вебхука ставится правило-исключение, а пропускать на него можно только сети Telegram по IP или AS.
Лимиты на API
Ограничьте число запросов с одного адреса к API приложения. Обычный пользователь в лимит не упрётся, а скрипт будет получать отказ на узле.
IP сервера скрыт
Мини-апп и вебхук работают по домену, который смотрит на наши адреса. Если бот получает обновления через long polling, входящие порты на сервере можно закрыть совсем.
Как подключить
Добавьте домен мини-аппа
Отдельный поддомен вроде app.example.com подключается одной записью CNAME, основной домен можно не трогать.
Настройте исключения
Добавьте правило «Пропустить» для путей вебхука бота и платёжек, например /webhook и /callback, только для метода POST.
Обновите адрес в BotFather
Если адрес мини-аппа не менялся, ничего делать не нужно. Новый домен укажите в BotFather и в setWebhook.
Сколько стоит
Мини-апп подключается как обычный сайт: Basic $10 в месяц, Standart $30 с прокси DNS-записей и 10 своими правилами. Первая неделя для первого сайта бесплатна, деньги списываются, когда сайт заработал через защиту.
Вопросы о мини-аппах и ботах
Пользователи увидят проверку внутри Telegram?
Только при подозрительном трафике и обычно на секунду. Проверка проходит во встроенном браузере Telegram и возвращает пользователя в приложение с теми же данными запуска.
Не перестанут ли приходить обновления в вебхук?
Нет, если добавить правило-исключение для пути вебхука. Мы советуем пропускать его только для метода POST и только из сетей Telegram.
Как быть с вебхуками платёжных систем?
Так же: правило «Пропустить» для пути колбэка. Платёжки шлют запросы со своих адресов и проверку браузера не проходят.
Бот работает через long polling. Его нужно защищать?
Сам бот в этом случае никого не ждёт на входе, его сервер можно закрыть от входящих подключений. Защищать стоит мини-апп, его API и вебхуки платёжек.
Подойдёт ли это для приложений на Remnawave и других панелях?
Да. Мини-апп, кабинет и ссылки подписки проходят через узлы так же, как обычный сайт. Для путей подписки есть готовые настройки, чтобы VPN-клиенты получали её без проверки браузера.
Не нашли ответ? Напишите нам, поддержка отвечает круглосуточно: @turtleguard_cloud