Botxona

Безопасность (техническое)

Песочница

Каждый бот работает в отдельном Docker-контейнере со следующими ограничениями: файловая система --read-only (запись разрешена только в DATA_DIR), --cap-drop ALL, no-new-privileges, --pids-limit, отдельный пользователь (не root). Дополнительно сервер может работать с gVisor (runsc) для ещё одного уровня изоляции на уровне системных вызовов.

Сетевые режимы

Настройка на уровне сервера определяет сетевой режим между ботом и внешним интернетом:

  • isolated (самый строгий) — каждый бот работает в отдельной сети без выхода в интернет и может обращаться к Telegram API только через прокси платформы. Бот совсем не видит ни других ботов, ни внешний интернет.
  • shared — боты находятся в общей сети (то, что они не видят друг друга, обеспечивается отключённым ICC), но выход во внешний интернет открыт — это подходит ботам, которым нужно обращаться к внешним AI API или другим сервисам.

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

Самопроверка

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

Заблокированные порты

Порт 25 (SMTP) заблокирован — для предотвращения рассылки спама. Если вашему боту нужно отправлять электронную почту, вместо SMTP используйте внешний email-API сервис (например, SendGrid, Mailgun).

Жёсткие запреты сканера безопасности

Загруженный код автоматически проходит сканирование. Если найдено что-либо из перечисленного, бот никогда не будет запущен (красный, без обсуждений):

  • Признаки криптомайнинга (например xmrig, stratum+tcp, coinhive).
  • Шаблоны reverse-shell (/dev/tcp/..., nc -e, bash -i >&).
  • Выполнение обфусцированного кода (exec/eval + код, скрытый через base64/zlib).
  • Загрузка скрипта из интернета с немедленным выполнением (curl ... | sh).
  • Признаки DDoS-инструментов (hping3, slowloris, SYN/UDP flood).
  • Доступ к Docker socket или попытки выйти из контейнера (docker.sock, /proc/1/).

Кроме того, использование SMTP или слова на тему азартных игр помечаются жёлтым (warn) — такие случаи рассматриваются вручную и автоматически не блокируются.

Следующий шаг

Все числовые ограничения (RAM, размер, количество файлов): Ограничения.