VPS — это полная свобода и полная ответственность. Не настроите безопасность сами — никто этого за вас не сделает. В статье — 8 правил защиты VPS, которые закрывают 95% типовых атак: от SSH-брутфорса до автоматических ботов, сканирующих интернет в поисках открытых портов. Базовую защиту удобно настроить на Beget.

1. Отключите root-вход по SSH

По умолчанию на новом VPS пароль root известен — он пришёл вам на email. Боты в интернете сканируют порт 22 и пытаются подобрать root-пароль. На любом публичном IP это начнётся через минуты после создания VPS.

Что делать:

  1. Создать обычного пользователя: adduser admin
  2. Дать ему sudo-права: usermod -aG sudo admin
  3. В /etc/ssh/sshd_config поставить PermitRootLogin no
  4. Перезагрузить SSH: systemctl restart sshd
  5. Вход только под пользователем + sudo — большая часть автоматических атак отсеется.

2. Используйте SSH-ключи вместо паролей

Сгенерируйте ключ ssh-keygen -t ed25519, скопируйте через ssh-copy-id user@server, отключите PasswordAuthentication в /etc/ssh/sshd_config — вход только по ключу ed25519.

3. Поменяйте порт SSH с 22 на нестандартный

  • Перенесите SSH на порт 2222 в /etc/ssh/sshd_config, подключайтесь: ssh -p 2222 user@server.
  • Большинство ботов ищут только порт 22 — атак станет заметно меньше.
  • ⚠️ Сначала откройте новый порт в брандмауэре, иначе запрёте себе доступ.

4. Настройте брандмауэр (UFW)

ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp     # SSH на нестандартном порту
ufw allow 80/tcp       # HTTP
ufw allow 443/tcp      # HTTPS
ufw enable
Документация UFW на help.ubuntu.com
Официальная документация UFW (Uncomplicated Firewall) на help.ubuntu.com — рабочий мануал для настройки брандмауэра.

На CentOS/AlmaLinux вместо UFW обычно используют firewalld с похожей логикой.

5. Установите fail2ban

Установите fail2ban (apt install fail2ban), в /etc/fail2ban/jail.local включите sshd с maxretry = 3 — IP блокируется на час после трёх неудачных попыток.

6. Регулярно обновляйте систему

  • Обновления ОС — обычно раз в 1–2 недели:
  • Раз в неделю-две: apt update && apt upgrade (Debian/Ubuntu)
  • Или: yum update (CentOS/AlmaLinux)
  • Можно настроить автоматические security-обновления: apt install unattended-upgrades
  • Особенно важны обновления nginx, PHP, MySQL — публично доступные сервисы.

7. Настройте автоматические бэкапы

Самая частая катастрофа — не взлом, а собственная ошибка в конфиге. rm -rf в неправильной папке убивает сайт за секунды.

Что должно быть:

  • Автобэкапы провайдера (у Beget — бесплатно, ежедневные, на 30 дней)
  • Внешние бэкапы — в облако (Yandex Cloud, Selectel S3, или Dropbox через rclone). Не держите единственную копию на том же сервере.
  • Тестовое восстановление — раз в месяц проверяйте, что бэкап действительно открывается. Иначе можно обнаружить «битый» бэкап в момент катастрофы.

8. Мониторинг и алерты

Безопасность — это не только настройка, но и наблюдение. Если сервер взломали — лучше узнать об этом за час, чем за неделю.

Минимальный набор:

  • Логи доступа/var/log/auth.log (SSH-попытки), /var/log/nginx/access.log (запросы к сайту)
  • Алерты на email при нагрузке выше нормы (через cronjob с проверкой top или netstat)
  • Внешний мониторинг доступности — UptimeRobot бесплатно проверяет, открывается ли сайт извне
  • Wordfence или Sucuri — для WP-сайтов, ловят попытки взлома и подозрительные изменения файлов

Публичная статистика взломов — в 2024 Annual WordPress Security Report от Wordfence и Sucuri Hacked Website Report. По их данным, около 90% компрометаций идут через устаревший софт и слабые пароли.

Дополнительно для продакшена

  • Для продакшена с ПДн и платежами:
  • SSL-сертификат — обязательно. Let’s Encrypt бесплатный.
  • Cloudflare WAF или хостинговый WAF — фильтрует атаки на уровне HTTP.
  • Двухфакторная авторизация в панели хостинга и в админке сайта.
  • Регулярные penetration-тесты — сами или через агентство.
  • Логирование действий администраторов — кто и когда что менял.

Что делать дальше

  1. Pillar VPS-кластера: «VPS — что это: простыми словами».
  2. Если ваш сайт на WordPress: «Защита WordPress от взлома: 8 шагов».
  3. Если уже взломали или подозрения: «Сайт в спам-списке».
  4. Регулярные бэкапы: «Бэкап сайта на WordPress».

Часто задаваемые вопросы

Можно ли оставить SSH на стандартном порту 22?

Можно, но это значит, что 100% автоматических сканеров будут пытаться вас взломать. Перенос на нестандартный порт отсекает большинство.

Как создать SSH-ключи на Windows?

Через PuTTYgen или OpenSSH (включён в Windows 10+ из коробки): в PowerShell `ssh-keygen -t ed25519`.

UFW работает на CentOS?

На CentOS/AlmaLinux обычно используют firewalld с похожей логикой.

Сколько хранить бэкапы?

Минимум 7 дней. Хорошо — 30 дней. У Beget — 30 дней бесплатно во всех VPS-тарифах.

Нужен ли fail2ban, если SSH на нестандартном порту?

Да. Fail2ban защищает не только SSH, но и веб-сервисы (apache/nginx), почту, FTP.

Как часто обновлять систему?

Минимум раз в неделю-две. Можно настроить unattended-upgrades для автоматических security-обновлений.

Что делать, если сервер уже взломан?

Восстановить из бэкапа на чистом VPS, проанализировать логи доступа, поменять все пароли и ключи.

Какие порты должны быть открыты?

Только нужные: SSH (нестандартный), 80 и 443 (HTTP/HTTPS). Остальные — закрыть через UFW.

Cloudflare защищает VPS от DDoS?

Да, на уровне HTTP/HTTPS. Прямые атаки на IP сервера — нет, нужен hardware DDoS-protection от провайдера.

Нужен ли антивирус на Linux VPS?

Не критично для типового сайта. ClamAV полезен, если на сервере есть формы загрузки файлов от пользователей.

Похожие материалы

Что будем искать? Например,что такое хостинг

Минуту внимания
Мы используем файлы cookies, чтобы обеспечивать правильную работу нашего веб-сайта, а также работу функций социальных сетей и анализа сетевого трафика.