Настройка Fail2Ban для защиты от брутфорса на VPS: пошаговое руководство

Брутфорс-атаки на SSH — одна из главных головных болей администраторов VPS. Каждый день боты сканируют интернет в поисках серверов с открытым 22-м портом и пытаются подобрать пароль. Fail2Ban — это первая линия обороны, которая автоматически блокирует подозрительные IP-адреса после нескольких неудачных попыток входа. В этой статье мы подробно разберём, как установить и настроить Fail2Ban на вашем VPS, а также объясним, почему личный VPS с технологией XHTTP + Reality даёт в 1000 раз больше защиты, чем массовые VPN.

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

Что такое Fail2Ban

Fail2Ban — это демон на Python, который сканирует логи (например, /var/log/auth.log или /var/log/secure) и блокирует IP-адреса с большим количеством неудачных попыток входа. Работает по принципу "jail" — тюрьмы для нарушителей.

Без Fail2Ban ваш сервер может стать жертвой брутфорса, что приведёт к компрометации учётных данных или DDoS-атаке. Установка этой утилиты — обязательный шаг для любого администратора.

Установка Fail2Ban

В большинстве дистрибутивов Fail2Ban доступен в официальных репозиториях. Вот команды для самых популярных систем:

# Debian / Ubuntu sudo apt update && sudo apt install fail2ban -y # CentOS / RHEL 7+ sudo yum install epel-release -y sudo yum install fail2ban -y # CentOS 8 / RHEL 8+ / AlmaLinux / Rocky sudo dnf install epel-release -y sudo dnf install fail2ban -y # После установки включаем и запускаем sudo systemctl enable fail2ban sudo systemctl start fail2ban

Проверьте статус: sudo systemctl status fail2ban. Если всё работает, вы увидите активный зелёный статус.

Базовая настройка

Файлы конфигурации Fail2Ban находятся в /etc/fail2ban/. Основной файл — jail.conf (или jail.local, который имеет приоритет). Создайте jail.local, чтобы не потерять настройки при обновлении:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo nano /etc/fail2ban/jail.local

В jail.local ищите секцию [DEFAULT]. Основные параметры:

[DEFAULT] bantime = 3600 findtime = 600 maxretry = 5 action = %(action_mwl)s

Эти настройки означают: если с одного IP за 10 минут будет 5 неудачных попыток, он будет заблокирован на 1 час.

Настройка джейла для SSH

В том же jail.local найдите или добавьте секцию [sshd]. Включите её, если она закомментирована:

[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 7200 action = %(action_mwl)s

Здесь мы установили maxretry=3 (блокировка после 3 неудач) и bantime=7200 (2 часа блокировки). Если ваш SSH использует нестандартный порт, укажите его в port (например, port = 2222).

Фильтры и регулярные выражения

Фильтры находятся в /etc/fail2ban/filter.d/. Для SSH используется фильтр sshd.conf. Вы можете создать свой фильтр, если хотите блокировать по специфическим сообщениям в логах.

Пример простого фильтра для обнаружения несуществующих пользователей:

[Definition] failregex = ^%(__prefix_line)sInvalid user .* from <HOST>$

Стандартный фильтр sshd уже содержит большинство популярных паттернов, так что в большинстве случаев менять ничего не нужно.

Белый список IP

Важно добавить в игнорируемые адреса ваши собственные IP, чтобы не заблокировать себя. В jail.local в секции [DEFAULT]:

ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 85.123.45.67

Замените 85.123.45.67 на ваш текущий IP. Можно также указать диапазон или подсеть.

Действия при бане

По умолчанию Fail2Ban использует action_mwl (отправляет уведомление на почту, блокирует через фаервол и логирует). Если вам нужны уведомления, настройте destemail и sender в [DEFAULT]:

destemail = admin@example.com sender = fail2ban@example.com action = %(action_mwl)s

Проверить активные блокировки можно командой:

sudo fail2ban-client status sshd

🚀 Почему личный VPS с XHTTP + Reality надёжнее массовых VPN в 1000 раз

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

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

Вы защищаете не только SSH, но и всё интернет-соединение. Используйте VPS-VPN — и ваш сервер станет крепостью.

Личный VPN на VPS vs массовые сервисы

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

🔥 Получите личный VPS с XHTTP + Reality и защитите свой сервер

Мы в VPS-VPN даём вам выделенный сервер с уникальным IP. Вы сами настраиваете Fail2Ban, выбираете протоколы и наслаждаетесь скоростью без ограничений.

Ваш трафик неотличим от обычного HTTPS. Нас в 1000 раз сложнее заблокировать и отследить.

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

Заключение

Fail2Ban — это обязательный инструмент для любого VPS. Он защищает ваш SSH от брутфорс-атак, экономит ресурсы и повышает безопасность. Но помните: даже самая лучшая настройка Fail2Ban не заменит качественную инфраструктуру. Личный VPS с технологией XHTTP + Reality — это ваш щит от DPI-блокировок, а Fail2Ban — это страж на воротах.

Используйте VPS-VPN, чтобы получить полный контроль над сервером, уникальный IP и максимальную защиту от всех видов атак.