Перейти к содержимому

Практика

Безопасность Telegram-бота: токены и данные

Безопасность Telegram-бота для бизнеса: где хранить токен, как защитить вебхук и права, какие данные клиентов собирать и что требует закон 99-З. Чек-лист.

17 сент. 2026 г./8 мин. чтения/Команда Viviar

Коротко. Безопасность Telegram-бота для бизнеса держится на трёх вещах. Первая — токен: кто его знает, тот управляет ботом, поэтому токен хранится только на сервере, не попадает в код, переписку и журналы, а при подозрении на утечку перевыпускается через @BotFather. Вторая — сервер: вебхук только по HTTPS с проверкой секретного заголовка, проверка прав пользователя по его числовому идентификатору, лимиты и своевременные обновления. Третья — данные клиентов: собирать минимум, хранить у себя с ограниченным сроком, иметь политику обработки персональных данных, основание обработки и меры защиты по закону № 99-З. Для AI-ботов добавляются защита базы знаний и ограничение действий модели.

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

Из чего состоит бот и где у него слабые места

Сам Telegram — канал доставки. Бот — это ваша программа на вашем сервере, которая получает обновления через Telegram Bot API и отвечает от имени бота. Всё, что находится за пределами мессенджера, — зона ответственности компании.

КомпонентГлавный рискКак закрыть
Токен ботаПосторонний отправляет сообщения от имени бота и получает входящие обновленияХранилище секретов, отдельные токены для теста и боевого бота, перевыпуск при подозрении
Аккаунт владельца ботаЗахват Telegram-аккаунта сотрудника или фрилансера, который создал ботаКорпоративный аккаунт, облачный пароль, доступ у двух ответственных
Вебхук и серверПоддельные обновления, открытые служебные адреса, устаревшее ПОHTTPS, секретный токен вебхука, закрытая админка, обновления
База данных и журналыУтечка контактов и переписки клиентовМинимум данных, шифрование, сроки хранения, журналы без персональных данных
Административные командыЛюбой пользователь вызывает команды менеджераПроверка идентификатора пользователя на сервере по списку
Интеграции: CRM, 1С, AI-модельБот получает больше прав, чем нужно для сценарияОтдельные ключи с минимальными правами, лимиты

Токен бота: главный ключ

Токен выдаёт @BotFather при создании бота. Он даёт полный доступ к Bot API: отправлять сообщения пользователям, которые писали боту, получать новые входящие сообщения, менять вебхук, описание и команды. Второго фактора у токена нет — это единственный ключ.

Где токены утекают

  • в исходном коде, опубликованном в открытом репозитории, в том числе в истории старых коммитов;
  • в переписке с подрядчиком, в общих документах, задачах и тикетах;
  • в журналах сервера и системах сбора ошибок, если записывается полный адрес запроса к Bot API;
  • в ссылках на файлы: адрес скачивания файла через Bot API содержит токен, поэтому такие ссылки нельзя отдавать пользователям или вставлять на сайт — файлы нужно отдавать через свой сервер;
  • в клиентском коде, если мини-приложение или страница сайта обращаются к Bot API напрямую из браузера.

Как хранить и перевыпускать токен

  1. Токен — в переменных окружения или в хранилище секретов, не в репозитории; файл с настройками исключён из системы контроля версий.
  2. Для тестов — отдельный бот с отдельным токеном; разработчики не работают с боевым ботом.
  3. Доступ к токену — у минимального круга людей; при уходе подрядчика или сотрудника токен перевыпускается.
  4. Перевыпуск — через @BotFather, после чего старый токен перестаёт работать. Отработайте процедуру заранее и засеките, сколько минут занимает замена на сервере.
  5. Бот создаётся с корпоративного Telegram-аккаунта, а не с личного номера фрилансера. На аккаунте включён облачный пароль — двухэтапная проверка. Если аккаунт уже захвачен, действуйте по инструкции «Взломали Telegram или почту сотрудника».

Вебхук, сервер и права пользователей

  • Только HTTPS. Telegram доставляет обновления на вебхук только по HTTPS, поэтому следите за сроком действия сертификата.
  • Секретный токен вебхука. При установке вебхука задаётся параметр secret_token, и Telegram передаёт это значение в заголовке X-Telegram-Bot-Api-Secret-Token каждого запроса. Сервер отклоняет запросы без правильного значения — поддельные обновления не пройдут.
  • Закрытые служебные адреса. Админка бота и технические эндпоинты не доступны из интернета без авторизации.
  • Административные команды проверяются по числовому идентификатору пользователя из списка на сервере. Username для этого не подходит: его можно сменить, а освободившееся имя может занять другой человек.
  • Мини-приложения и вход через Telegram. Данные пользователя, пришедшие из клиента, сервер проверяет по подписи так, как описано в документации Telegram. Без проверки их можно подделать.
  • Группы. Боту выдаются минимальные права администратора, режим приватности остаётся включённым, если боту не нужно читать все сообщения чата.
  • Лимиты и валидация. Ограничение частоты команд от одного пользователя, проверка всех входных данных и файлов — как в любом API; подробнее — в статье о безопасности API.
  • Сервер. Обновления ОС и библиотек, отдельная учётная запись для процесса бота, резервные копии базы.

Данные клиентов и закон 99-З

Бот, который собирает имя, телефон, переписку или файлы клиентов, обрабатывает персональные данные. Для компании в Беларуси это означает требования Закона Республики Беларусь от 07.05.2021 № 99-З «О защите персональных данных»:

  • Политика обработки персональных данных — ссылка на неё в приветственном сообщении бота.
  • Основание обработки — как правило, согласие, которое получают до сбора данных: кнопка с текстом согласия и ссылкой на политику, факт согласия сохраняется в базе.
  • Ответственное лицо — юридические лица назначают ответственного за обработку персональных данных.
  • Меры защиты по ст. 17 закона — контроль доступа, защита токена и базы, журналы действий.
  • Уведомление НЦЗПД о нарушениях — если данные клиентов утекли.

Практические правила минимизации:

  • не собирайте через бота паспортные данные, номера карт и медицинские сведения, если без этого можно обойтись; платежи — через платёжного провайдера;
  • телефон запрашивайте штатной кнопкой «Поделиться контактом», а не свободным текстом;
  • контакты и переписку храните в своей базе с ограниченным сроком, а не только в истории чата;
  • журналы сервера не должны содержать тексты сообщений и телефоны.

Серверы Telegram находятся за пределами Беларуси, поэтому использование мессенджера как канала может затрагивать вопрос трансграничной передачи персональных данных. Что это означает для облаков, CRM и мессенджеров — в статье о трансграничной передаче персональных данных.

AI-бот в Telegram: дополнительные риски

AI-ассистент отвечает на основе базы знаний и языковой модели, и у него появляются новые классы рисков:

  • Манипуляция запросами (prompt injection). Пользователь пытается заставить бота раскрыть инструкции, содержимое базы знаний или выйти за рамки сценария. Защита — разделение системных инструкций и пользовательских данных, проверка ответов перед отправкой, отсутствие секретов в инструкциях модели.
  • Утечка базы знаний. В неё не загружают внутренние документы, которые нельзя показать клиенту.
  • Лишние действия. Модель не получает прямой доступ на запись в базу или CRM; каждое действие идёт через ограниченный API с правами конкретного пользователя и подтверждением.
  • Передача данных провайдеру модели — ещё один получатель персональных данных, которого нужно учесть в политике.
  • Расходы. Лимиты запросов на пользователя, иначе за злоупотребления платит бизнес.

Карта рисков — OWASP Top 10 for LLM Applications. Как защищать корпоративных ассистентов и агентов целиком — в статье о внедрении AI без утечек.

Чек-лист безопасности Telegram-бота для бизнеса

  • Бот создан с корпоративного Telegram-аккаунта с облачным паролем; доступ к аккаунту есть у двух ответственных.
  • Токен хранится в переменных окружения или хранилище секретов, его нет в репозитории и переписке.
  • Для тестов используется отдельный бот с отдельным токеном.
  • Процедура перевыпуска токена описана и проверена.
  • Вебхук работает по HTTPS и проверяет секретный заголовок.
  • Административные команды доступны только пользователям из списка идентификаторов.
  • Ссылки на файлы, содержащие токен, не передаются пользователям.
  • Бот собирает минимум данных, телефон — через кнопку контакта.
  • В приветствии есть ссылка на политику обработки персональных данных, основание обработки зафиксировано.
  • Журналы не содержат текстов сообщений и контактов, у данных есть срок хранения.
  • Для AI-бота: секретов нет в инструкциях модели, база знаний проверена, действия модели ограничены.
  • Сервер и библиотеки обновляются, база резервируется.

Как это делает Viviar

Мы разрабатываем ботов и AI-ассистентов в направлении разработки и закладываем эти требования с первого дня — сначала на собственных цифровых сотрудниках Viviar Agents. «AI-Ассистент под ключ» — один канал (Telegram или виджет на сайте), один источник данных и 3 месяца поддержки — от 11 600 BYN; 2–3 канала — от 23 200 BYN. Если бот работает с чувствительными данными, подойдёт «Пакет безопасного AI» от 20 300 BYN + от 8 700 BYN в месяц: защита данных и модели и сопровождение. Все пакеты — на странице цен.

Частые вопросы

Что будет, если токен Telegram-бота утёк?

Посторонний получит полный доступ к боту через Bot API: сможет отправлять сообщения от его имени пользователям, которые писали боту, получать новые входящие сообщения и менять настройки. Нужно сразу перевыпустить токен через @BotFather, обновить его на сервере, проверить настройки вебхука и журналы и выяснить, где произошла утечка.

Шифруются ли сообщения в Telegram-боте?

Переписка с ботом идёт в обычном облачном чате: трафик между приложением и серверами Telegram шифруется, но сквозного шифрования, как в секретных чатах, для ботов нет. Сообщения доступны серверу бота и хранятся в инфраструктуре Telegram. Поэтому через бота не стоит собирать данные банковских карт, пароли и другие особо чувствительные сведения.

Нужно ли согласие пользователя, чтобы бот собирал телефон?

Телефон вместе с именем — персональные данные, и на их обработку по закону № 99-З нужно основание, чаще всего согласие. Практичный вариант — перед сбором показать кнопку согласия со ссылкой на политику обработки персональных данных и сохранить факт согласия в базе. Точный порядок для вашего сценария лучше согласовать с юристом.

Можно ли доверить создание бота фрилансеру?

Можно, если заранее закрепить правила: бот создаётся на корпоративном Telegram-аккаунте, токен хранится в инфраструктуре компании, у заказчика есть доступ к коду и серверу. После завершения работ доступы подрядчика отключаются, а токен перевыпускается. Без этого бизнес зависит от одного человека и не контролирует данные своих клиентов.

Сколько стоит безопасный Telegram-бот для бизнеса?

Зависит от сценария, числа каналов и источников данных. У Viviar «AI-Ассистент под ключ» с одним каналом Telegram или виджетом, одним источником данных и тремя месяцами поддержки стоит от 11 600 BYN, 2–3 канала — от 23 200 BYN. Защиту токена, вебхука и данных клиентов мы закладываем в проект с самого начала.

Вывод

Безопасность Telegram-бота для бизнеса начинается с токена и корпоративного аккаунта, продолжается защитой вебхука и прав пользователей и заканчивается дисциплиной с персональными данными: минимум сбора, политика, основание обработки и меры защиты по закону № 99-З. Для AI-ботов добавьте защиту базы знаний и ограничение действий модели. Если планируете бота или хотите проверить уже работающего, напишите нам: ответим за 2 рабочих дня, за полчаса разговора разберём сценарий.

Источники: Telegram Bot API, Bots: An introduction for developers, Telegram Mini Apps (core.telegram.org); Telegram FAQ (telegram.org); OWASP Top 10 for Large Language Model Applications, OWASP Secrets Management Cheat Sheet (owasp.org); Закон Республики Беларусь от 07.05.2021 № 99-З «О защите персональных данных» (pravo.by); Национальный центр защиты персональных данных (cpd.by).

Об авторе

Команда Viviar

Профиль в LinkedIn