Перейти к основному содержанию

Безопасность VPS: UFW, Fail2Ban и SSH-hardening — полный чеклист 2026

Пошаговый гайд по защите VPS-сервера на Ubuntu 22.04/24.04: настройка UFW-файрвола, Fail2Ban от brute-force, SSH-ключи вместо паролей, автоматические обновления и чеклист безопасности с готовыми конфигами.

И
Илья Ковалев

Новый VPS сервер по умолчанию уязвим: открытый SSH-порт 22, пустой файрвол, root-пароль для входа. Каждую минуту боты сканируют IP-адреса и пытаются подобрать пароль по словарю. Без базовой защиты сервер компрометируют за часы.

В этом гайде — пошаговая настройка безопасности VPS на Ubuntu 22.04/24.04: UFW файрвол, Fail2Ban защита от брутфорса, SSH-hardening. Все команды проверены в марте 2026 года.

Первичная настройка: пользователь и обновления

Шаг 1. Обновить систему и создать non-root пользователя:

apt update && apt upgrade -y
adduser deploy
usermod -aG sudo deploy

Шаг 2. Настроить SSH-ключи (на ВАШЕМ компьютере):

ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-copy-id deploy@YOUR_VPS_IP

После копирования ключа проверьте подключение: ssh deploy@YOUR_VPS_IP — должен пустить без пароля.

SSH-hardening: отключаем пароли и root

Откройте конфигурацию SSH:

sudo nano /etc/ssh/sshd_config

Критические параметры:

Port 2210                    # Нестандартный порт (не 22)
PermitRootLogin no           # Запрет входа root
PasswordAuthentication no    # Только ключи
PubkeyAuthentication yes     # Включить аутентификацию по ключам
MaxAuthTries 3               # Максимум 3 попытки
ClientAliveInterval 300      # Таймаут неактивных сессий
ClientAliveCountMax 2

Перезапустите SSH:

sudo systemctl restart sshd

Не закрывайте текущую сессию до проверки нового подключения.

UFW: настройка файрвола

UFW (Uncomplicated Firewall) — стандартный файрвол Ubuntu. Принцип: запрещаем всё, разрешаем только нужное.

# Базовая политика
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Разрешаем SSH (используйте ВАШ порт!)
sudo ufw allow 2210/tcp comment 'SSH'

# Веб-сервер
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'

# Включаем файрвол
sudo ufw enable
sudo ufw status verbose

Не открывайте порты приложений (3000, 8080, 1337) напрямую — используйте Nginx reverse proxy.

Fail2Ban: защита от брутфорса

Fail2Ban анализирует логи и блокирует IP-адреса после неудачных попыток входа.

sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Настройка jail для SSH:

[sshd]
enabled = true
port = 2210
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600

Настройка jail для Nginx:

[nginx-badbots]
enabled = true
port = http,https
filter = nginx-badbots
logpath = /var/log/nginx/access.log
maxretry = 5
bantime = 86400
sudo systemctl enable fail2ban
sudo systemctl restart fail2ban
sudo fail2ban-client status

Добавьте ignoreregex для поисковых ботов (Googlebot, YandexBot), чтобы они не попадали под бан.

Дополнительная защита

  • Автообновления безопасности: sudo apt install unattended-upgrades && sudo dpkg-reconfigure -plow unattended-upgrades
  • 2FA для SSH: Google Authenticator (libpam-google-authenticator) для критически важных серверов
  • Мониторинг: logwatch для ежедневных отчётов по email, journalctl для оперативного анализа
  • Резервное копирование: ежедневный бэкап конфигов (/etc/), еженедельный полный бэкап

Чеклист безопасности VPS

  1. Обновить систему (apt update && upgrade)
  2. Создать non-root пользователя с sudo
  3. Настроить SSH-ключи (ed25519)
  4. Отключить парольную аутентификацию SSH
  5. Запретить root-логин по SSH
  6. Сменить SSH-порт с 22 на нестандартный
  7. Установить и настроить UFW
  8. Установить и настроить Fail2Ban
  9. Включить автоматические обновления безопасности
  10. Настроить резервное копирование

VPS с встроенной DDoS-защитой

  • RUVDS — DDoS-защита на всех тарифах, от 139 руб/мес
  • Aeza — NVMe SSD, защита от DDoS L3/L4, от 169 руб/мес
  • Timeweb Cloud — встроенная защита, от 197 руб/мес
  • AdminVPS — защита от DDoS, от 299 руб/мес

Сравните VPS с DDoS-защитой

16 провайдеров с актуальными ценами и уровнями защиты.

Выбрать безопасный VPS

Плюсы и минусы

Преимущества

  • Пошаговые bash-команды для Ubuntu 22.04/24.04
  • Все слои защиты: файрвол, SSH, brute-force, обновления
  • Готовые конфиги для production
  • Чеклист быстрой проверки

Недостатки

  • Не покрывает SELinux, AppArmor, HIDS
  • Фокус на Ubuntu
  • Не заменяет enterprise-аудит

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

Какие порты обязательно открывать на VPS через UFW?

Минимально: SSH (22 или кастомный), HTTP (80), HTTPS (443). Для Strapi/Node.js приложений — только через reverse proxy Nginx, порты приложений не открывать.

Как защитить VPS от брутфорс-атак на SSH?

Установить Fail2Ban с jail для sshd (maxretry=3, bantime=3600), отключить авторизацию по паролю в sshd_config (PasswordAuthentication no), использовать SSH-ключи.

Нужно ли менять стандартный SSH-порт 22?

Рекомендуется. Смена порта снижает количество автоматических сканов на 90%. Выберите порт выше 1024 (например, 2210) и обновите правила UFW.

Как настроить Fail2Ban чтобы не блокировать поисковых ботов?

Добавьте ignoreregex в фильтры nginx-badbots для Googlebot, YandexBot, bingbot. Установите maxretry не менее 5, чтобы легитимные краулеры не банились.

Какой минимальный чеклист безопасности для нового VPS?

1) Обновить систему (apt update && upgrade), 2) Создать non-root пользователя, 3) Настроить SSH-ключи, 4) Установить UFW и открыть минимум портов, 5) Установить Fail2Ban.

Сравнить VPS провайдеров с DDoS-защитой

Выбрать безопасный VPS

Статья содержит партнёрские ссылки. При переходе и покупке мы получаем комиссию без дополнительных затрат для вас. Подробнее

E

Илья Ковалев

Илья Ковалев — DevOps-инженер и основатель EasyLinkLife. Более 10 лет опыта в администрировании Linux-серверов.

Проверено: Команда EasyLinkLife | Обновлено: 16 марта 2026 г.

Полезные материалы