Безопасность ботов

Эту статью мы решили опубликовать для всех тех, кто владеет ботами или только составляет ТЗ для программистов. Она ближе познакомит вас с теми правилами безопасности, которые вы должны соблюдать при работе со своими ботами, серверами и кодом.

Стоит ли тебе волноваться за сохранность данных, за надежную и стабильную работу твоего умного помощника?

Сегодня мы и наши опытные разработчики, дадим пару советов на тему безопастности в Telegram ботах.

Не экономь на сервере.

Бот — это обычная программа (скрипт), которая должна быть запущена на каком-либо устройстве. Понимая это, многие админы решают держать бота на своем собственном компьютере, что крайне ненадежно и нестабильно. Мы рекомендуем арендовать самый простенький удаленный сервер (VPS), за $5/месяц вполне достаточно — довольно небольшая плата за возможность спать спокойно, зная, что твой бот будет работать 24/7.

1 аккаунт — 1 бот.

Для каждого бота регистрируй отдельный аккаунт Telegram. Очень простое правило с не очень очевидным следствиями:

  • В случае блокировки/удаления твоего основного аккаунта — бот не пострадает.
  • Если захочешь продать свое детище — сделать это будет проще простого!

Важно — аккаунты нужно регистрировать на физические SIM-карты, виртуальные (одноразовые) номера очень быстро блокируются!

Не пали IP своего сервера.

Узнав твой IP, конкуренты непременно воспользуются этим, проведя DDoS-атаку (завалят сервер огромным количеством запросов). Если твой бот сопровождается сайтом (либо сайт сопровождается ботом) — держи их на разных серверах!

Добавь защиту от множественных нажатий.

Если твой бот содержит в себе команды, которые требуют большого времени для исполнения (работа со сторонними API и т.д.), обязательно ограничивай пользователей в количестве действий, которые они могут произвести за единицу времени. В противном случае — всегда найдется несколько недобросовестных юзеров, которые начнут клацать на все подряд и наблюдать за падением твоего бота.

Не забывай о классических уязвимостях.

SQL injection никто не отменял) Разрабатывая бота, необходимо придерживаться тех же правил, что и при разработке сайта, особенно это касается панели управления (админки). Самой актуальной уязвимостью при разработке умных помощников является Race condition.

7 раз отмерь — 1 раз сохрани.

Эффективное хранение данных в базе — одно из ключевых требований для стабильной работы бота. При увеличении количества записей (пользователей, объектов и т.д.) — увеличивается занимаемая память на сервере, а при нерациональной архитектуре базы — скорость роста размера твоего хранилища просто астрономическая.

Подключи Backup

Функция автоматического создания бекапов есть практически на всех популярных хостингах и стоит всего 1 доллар в месяц. Не пожадничай и подключи эту возможность. Если вдруг что-то пойдёт не так, то ты всегда сможешь откатиться к старой версии, это лучше чем потерять всё.