Как защитить SSH на VPS: смена порта, настройка Fail2ban и другие методы

SSH (Secure Shell) — это основной канал управления вашим VPS-сервером. Однако именно он чаще всего становится целью для атак: брутфорс-сканеры, подбор паролей и использование уязвимостей — всё это стандартные угрозы для любого публичного сервера в интернете. В этой статье мы разберем комплексный подход к защите SSH, который включает смену стандартного порта, установку и настройку Fail2ban, а также ряд других обязательных мер. Вы узнаете, как превратить ваш VPS в неприступную крепость, а заодно поймете, почему для максимальной безопасности и анонимности лучше использовать личный VPN-сервер на выделенном VPS.

📑 Содержание:

Почему защита SSH критически важна

Представьте, что вы оставляете входную дверь своего дома открытой и прикрепляете к ней табличку с номером квартиры. Примерно так выглядит стандартная конфигурация SSH на многих VPS: порт 22 (известный всем), разрешенный root-вход и парольная аутентификация. По данным исследований, среднестатистический VPS получает до 1000 попыток взлома SSH в день. Это не просто цифры — это реальная угроза.

Злоумышленники используют автоматизированные боты, которые сканируют весь интернет-диапазон IP-адресов, пытаясь подобрать логин/пароль к SSH. Если ваш сервер защищён слабо, он станет частью ботнета, будет использован для DDoS-атак или для доступа к вашим данным.

⚠️ Статистика угроз:

  • Более 70% всех атак на VPS приходятся на SSH-брутфорс.
  • Среднее время до первой попытки взлома после запуска сервера — менее 10 минут.
  • Использование стандартного порта 22 увеличивает риск атаки в 5 раз.
  • Парольная аутентификация взламывается в 80% случаев при достаточно долгом бруте.

К счастью, защита SSH — это не сложно и занимает не более 15–20 минут. Начнём с самого эффективного и простого шага.

Смена стандартного порта (22 → нестандартный)

Смена порта SSH — это как сменить замок на двери и не вешать табличку. Это первая линия обороны, которая мгновенно отсекает 99% автоматических сканеров, которые проверяют только 22-й порт.

Как сменить порт SSH на VPS (пошагово)

  1. Подключитесь к серверу по SSH: ssh root@ваш_ip -p 22
  2. Откройте конфигурационный файл SSH: sudo nano /etc/ssh/sshd_config
  3. Найдите строку #Port 22 и замените её на, например, Port 50421 (выберите случайный порт от 1024 до 65535).
  4. Сохраните файл (Ctrl+O, Enter) и закройте (Ctrl+X).
  5. Разрешите новый порт в фаерволе:
    • UFW: sudo ufw allow 50421/tcp
    • Firewalld: sudo firewall-cmd --permanent --add-port=50421/tcp && sudo firewall-cmd --reload
  6. Перезапустите SSH-сервис: sudo systemctl restart sshd
  7. Проверьте подключение: откройте новое SSH-соединение с новым портом. Не закрывайте старую сессию, пока не убедитесь, что всё работает.

💡 Важно: Не забудьте также открыть новый порт на панели управления вашего VPS-хостинга (если есть внешний файрвол).

Настройка Fail2ban для автоматической блокировки

Fail2ban — это инструмент, который сканирует логи служб (в том числе SSH) и блокирует IP-адреса, с которых слишком много неудачных попыток входа. Это ваш личный страж, который автоматически заносит злоумышленников в чёрный список на заданное время.

Установка и настройка Fail2ban

  1. Установите Fail2ban:
    • Debian/Ubuntu: sudo apt update && sudo apt install fail2ban -y
    • CentOS/RHEL: sudo yum install epel-release -y && sudo yum install fail2ban -y
  2. Создайте локальный конфиг: sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  3. Отредактируйте jail.local: sudo nano /etc/fail2ban/jail.local
  4. Найдите секцию [sshd] и убедитесь, что она активна:
    [sshd]
    enabled = true
    port    = ssh
    logpath = %(sshd_log)s
    backend = %(sshd_backend)s
    maxretry = 3
    bantime = 3600
    findtime = 600

    Пояснения: maxretry=3 — блокировать после 3 неудачных попыток, bantime=3600 — блокировка на 1 час, findtime=600 — учитывать попытки за последние 10 минут.

  5. Перезапустите Fail2ban: sudo systemctl restart fail2ban
  6. Проверьте статус: sudo fail2ban-client status sshd

📊 Эффективность Fail2ban:

После настройки Fail2ban вы увидите, как количество попыток взлома в логах резко снижается. Бот сканирует порт 22, делает 3 попытки и попадает в бан. Это экономит ресурсы вашего сервера и защищает от brute-force атак.

Отключение root-логина и создание sudo-пользователя

Вход под пользователем root — это как если бы у вас была учётная запись администратора без пароля. Даже если вы сменили порт и настроили Fail2ban, атака на root-аккаунт остаётся самой опасной. Лучшая практика — полностью отключить root-доступ через SSH и работать через обычного пользователя с правами sudo.

Пошаговая инструкция

  1. Создайте нового пользователя: sudo adduser ваш_пользователь
  2. Добавьте его в группу sudo: sudo usermod -aG sudo ваш_пользователь
  3. Проверьте, что можете войти под новым пользователем: ssh ваш_пользователь@ваш_ip -p новый_порт
  4. Отредактируйте /etc/ssh/sshd_config и замените:
    • PermitRootLogin yesPermitRootLogin no
  5. Перезапустите SSH: sudo systemctl restart sshd

✅ Результат: Теперь никто не сможет войти под root. Все административные задачи вы выполняете через sudo, а злоумышленникам придётся сначала взломать обычного пользователя, что гораздо сложнее.

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

SSH-ключи — это пара «публичный + приватный» ключей. Это самый безопасный способ аутентификации, который практически невозможно взломать (если вы не потеряете свой приватный ключ). Парольная аутентификация может быть взломана брутфорсом, а ключ — нет.

Как настроить вход по SSH-ключам

  1. Сгенерируйте ключи на вашем локальном компьютере: ssh-keygen -t ed25519 -C "your_email@example.com"
  2. Скопируйте публичный ключ на сервер: ssh-copy-id ваш_пользователь@ваш_ip -p новый_порт
  3. Отредактируйте /etc/ssh/sshd_config и включите:
    • PasswordAuthentication no — отключить вход по паролю.
    • PubkeyAuthentication yes — разрешить вход по ключам.
  4. Перезапустите SSH: sudo systemctl restart sshd

🔑 Важно: Храните свой приватный ключ в надёжном месте. Если вы его потеряете, доступ к серверу будет потерян без возможности восстановления (если нет других методов аутентификации).

Дополнительные меры: 2FA, баннеры и ограничения

Для максимальной защиты вы можете использовать дополнительные методы:

Эти меры сделают ваш сервер практически неуязвимым для внешних атак.

Массовый VPN vs Личный VPN на VPS

🚀 В чём отличие подхода VPS-VPN?

В отличие от обычных VPN-сервисов, где 1000+ человек сидят на одном IP, вы получаете персональный VPS.

  • Никаких «шумных соседей»: ваш IP-адрес используете только вы. Никто не сможет «подставить» вас своей активностью.
  • Стабильная скорость: пропускная способность не делится между сотнями пользователей.
  • Минимальный риск блокировок: массовые IP-адреса часто попадают в бан-листы из-за действий других пользователей. Ваш личный IP — чистый.
  • Полный контроль: вы сами управляете сервером, выбираете протоколы и настройки безопасности.
  • Технология XHTTP + Reality: ваш трафик маскируется под обычный HTTPS, DPI не может его отличить от обычного браузера Chrome.

🎯 Нас в 1000 раз сложнее заблокировать и отследить.

Потому что каждый клиент VPS-VPN — это отдельный выделенный сервер с уникальным IP-адресом и индивидуальными настройками маскировки.

📌 Технология XHTTP + Reality — что это?

Это технология маскировки VPN-трафика под обычный HTTPS-запрос к легитимному сайту. DPI видит ваш трафик как обычный браузер Chrome, у него нет характерных сигнатур, поэтому вас в 1000 раз сложнее заблокировать. Это идеальное решение для стран с активной фильтрацией интернета.

Параметр Массовый VPN Личный VPN на VPS (VPS-VPN)
IP-адрес Общий (1000+ пользователей) Персональный, только ваш
Скорость Разделяется между всеми Максимальная, только ваша
Риск блокировки Высокий (из-за соседей) Минимальный
Маскировка трафика Стандартные протоколы XHTTP + Reality, имитация Chrome
Логирование Часто хранят логи Zero-log, полная конфиденциальность
Сложность обнаружения DPI Легко обнаружить В 1000 раз сложнее

🔥 Получите свой личный VPN-сервер с технологией XHTTP + Reality

Мы в VPS-VPN предлагаем полностью выделенный VPN-сервер на вашем собственном VPS. Никаких общих IP, никаких «соседей», только ваш трафик и максимальная защита.

Ваш трафик будет неотличим от обычного HTTPS — DPI-системы увидят обычный браузер Chrome. Нас в 1000 раз сложнее заблокировать.

🚀 Заказать личный VPN-сервер

Итог: безопасность начинается с вас

Защита SSH на VPS — это не опция, а необходимость. Следуя этим простым шагам (смена порта, Fail2ban, отключение root, использование ключей), вы снижаете риск взлома вашего сервера практически до нуля. Но безопасность — это не только технические меры, но и правильный выбор инфраструктуры.

Личный VPN на VPS с технологией XHTTP + Reality — это не только способ обойти цензуру, но и гарантия вашей цифровой безопасности. Используйте выделенный сервер, чтобы быть уверенным в своей анонимности и защите.

✅ Безопасность + Анонимность = VPS-VPN

Мы предлагаем не просто VPS, а полностью готовое решение для приватного интернета. С нами ваш трафик всегда под контролем, а не под наблюдением. Перейдите на VPS-VPN и получите персональный сервер с технологией будущего.