TurtleGuard

TurtleGuardmini app / bot

Защита Telegram мини-аппа и бота от DDoS

Мини-приложение, его API и вебхуки бота работают через узлы TurtleGuard. Флуд и боты остаются у нас, Telegram и платёжные системы доходят до сервера без помех.

Что ломает мини-аппы и ботов

  • Флуд API мини-аппа

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

  • Атака на вебхук

    Адрес вебхука легко узнать из запросов приложения. Если на него идёт флуд, бот перестаёт отвечать, хотя у самого Telegram всё в порядке.

  • Прямой удар по серверу

    Когда известен IP сервера, атака идёт мимо любого фильтра по домену. Поэтому адрес нужно спрятать, а прямые подключения закрыть.

Как защищаем

  • Проверка работает внутри Telegram

    Мини-апп открывается во встроенном браузере Telegram, и наша проверка проходит там же, без отдельной страницы. Данные запуска из адреса (tgWebAppData) после проверки сохраняются, приложение получает их как обычно.

  • Вебхуки проходят без проверки

    Серверы Telegram и платёжных систем не умеют проходить проверку браузера. Для пути вебхука ставится правило-исключение, а пропускать на него можно только сети Telegram по IP или AS.

  • Лимиты на API

    Ограничьте число запросов с одного адреса к API приложения. Обычный пользователь в лимит не упрётся, а скрипт будет получать отказ на узле.

  • IP сервера скрыт

    Мини-апп и вебхук работают по домену, который смотрит на наши адреса. Если бот получает обновления через long polling, входящие порты на сервере можно закрыть совсем.

Как подключить

  1. Добавьте домен мини-аппа

    Отдельный поддомен вроде app.example.com подключается одной записью CNAME, основной домен можно не трогать.

  2. Настройте исключения

    Добавьте правило «Пропустить» для путей вебхука бота и платёжек, например /webhook и /callback, только для метода POST.

  3. Обновите адрес в BotFather

    Если адрес мини-аппа не менялся, ничего делать не нужно. Новый домен укажите в BotFather и в setWebhook.

Сколько стоит

Мини-апп подключается как обычный сайт: Basic $10 в месяц, Standart $30 с прокси DNS-записей и 10 своими правилами. Первая неделя для первого сайта бесплатна, деньги списываются, когда сайт заработал через защиту.

Вопросы о мини-аппах и ботах

Пользователи увидят проверку внутри Telegram?

Только при подозрительном трафике и обычно на секунду. Проверка проходит во встроенном браузере Telegram и возвращает пользователя в приложение с теми же данными запуска.

Не перестанут ли приходить обновления в вебхук?

Нет, если добавить правило-исключение для пути вебхука. Мы советуем пропускать его только для метода POST и только из сетей Telegram.

Как быть с вебхуками платёжных систем?

Так же: правило «Пропустить» для пути колбэка. Платёжки шлют запросы со своих адресов и проверку браузера не проходят.

Бот работает через long polling. Его нужно защищать?

Сам бот в этом случае никого не ждёт на входе, его сервер можно закрыть от входящих подключений. Защищать стоит мини-апп, его API и вебхуки платёжек.

Подойдёт ли это для приложений на Remnawave и других панелях?

Да. Мини-апп, кабинет и ссылки подписки проходят через узлы так же, как обычный сайт. Для путей подписки есть готовые настройки, чтобы VPN-клиенты получали её без проверки браузера.

Не нашли ответ? Напишите нам, поддержка отвечает круглосуточно: @turtleguard_cloud