Друзья, начинаем небольшую практическую серию постов, где мы вместе с вами развернём собственного Telegram-бота для канала.
Бот будет помогать админу отслеживать события в канале:
- ✅ кто подписался
- ✅ кто отписался
- ✅ когда это произошло
- ✅ отправлять уведомления админу в личные сообщения
То есть у нас будет не просто общая статистика, а нормальные уведомления по действиям пользователей.
Что будет в этой серии?
Всего сделаем 3 этапа:
- Арендуем VPS и сделаем базовую защиту сервера
- Разместим код бота на сервере и подготовим окружение
- Настроим
.envи полноценно запустим бота
Сегодня первый этап - берём VPS, подключаемся к нему и сразу закрываем базовые вопросы безопасности.
Зачем нам VPS?
Бота можно запустить и на своём компьютере, но это плохой вариант для постоянной работы. Если компьютер выключился, интернет пропал или вы закрыли терминал - бот перестал работать.
Поэтому нам нужен VPS - это удалённый сервер, который работает 24/7.
На нём бот будет постоянно находиться онлайн и отслеживать подписки/отписки в канале.
Где взять VPS?
Я сам хостюсь на SmartApe, у меня там всё работает нормально, поэтому можете взять сервер там по моей ссылке
Но это не обязательное условие.
Если у вас уже есть другой VPS или вы хотите выбрать другого провайдера - без проблем, подойдёт любой сервер с Ubuntu/Debian и SSH-доступом.
Для нашего бота хватит минимального тарифа:
Ubuntu 22.04 или 24.04, 1 CPU, 1 GB RAM, 10–20 GB SSD, доступ по SSH
Мощный сервер для такого бота не нужен.
Что должно быть после аренды VPS?
После покупки сервера у вас должны быть:
- 🔹IP-адрес сервера
- 🔹логин, чаще всего
root - 🔹пароль от сервера или SSH-ключ
- 🔹установленная система Ubuntu/Debian
⌨️ Подключаемся к серверу
Открываем терминал (Win + R в открывшемся окне cmd) и вводим команду:
ssh root@123.45.67.89
Вместо 123.45.67.89 подставьте IP-адрес вашего сервера.
Дальше нажимаем Enter и вводим пароль от сервера.
После этого вы попадёте внутрь сервера.
🔐Базовая защита VPS
Прежде чем размещать бота, сразу сделаем минимальную защиту сервера.
1️⃣ Установка и настройка UFW
🔹Сначала обновим пакеты и установим файрвол:
sudo apt update sudo apt install ufw
Теперь обязательно разрешаем SSH-доступ.
🔹Важно сделать это до включения файрвола, иначе можно случайно потерять доступ к серверу.
sudo ufw allow 22/tcp
Если вы используете нестандартный SSH-порт, замените 22 на свой номер порта.
🔹Теперь включаем файрвол:
sudo ufw enable
🔹 Проверить статус правил можно командой:
sudo ufw status verbose
Если всё сделали правильно, SSH-доступ будет разрешён, а файрвол будет активен.
2️⃣ Установка и настройка Fail2ban
Ставим защиту от перебора паролей:
sudo apt install fail2ban
Fail2ban работает через конфигурационные файлы.
Сначала скопируем дефолтный конфиг в локальный файл:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Открываем файл настроек:
sudo nano /etc/fail2ban/jail.local
Найдите секцию [sshd] и приведите её к такому виду:
[sshd] enabled = true port = ssh logpath = %(sshd_log)s maxretry = 3 bantime = 3600
В nano это делается так:
Ctrl + O Enter Ctrl + X
Теперь перезапускаем fail2ban:
sudo systemctl restart fail2ban
3️⃣ Проверяем работу защиты
Чтобы убедиться, что fail2ban работает и отслеживает SSH, используем командду:
sudo fail2ban-client status sshd
Если всё настроено корректно, вы увидите статус защиты для SSH.
✅ Что сделали сегодня?
Сегодня мы:
- ✅ выбрали и арендовали VPS
- ✅ подключились к серверу по SSH
- ✅ обновили пакеты
- ✅ установили и включили файрвол ufw
- ✅ разрешили SSH-доступ
- ✅ установили fail2ban
- ✅ включили защиту от перебора паролей
Теперь у нас есть сервер, который уже готов к следующему этапу.
В следующем посте будем размещать код нашего Telegram-бота на VPS, устанавливать зависимости и готовить проект к запуску.
Продолжаем 🔥




Дискуссия