Настройка 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" — тюрьмы для нарушителей.
- Обнаружение атак: анализирует логи SSH, веб-серверов, почтовых сервисов и других приложений.
- Автоматическая блокировка: добавляет правила в фаервол (iptables, nftables) или блокирует через hosts.deny.
- Гибкая настройка: можно задать количество неудачных попыток, время блокировки и действия.
Без 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]. Основные параметры:
- bantime — время блокировки в секундах (например, 1 час = 3600).
- findtime — временное окно, в течение которого подсчитываются неудачные попытки (например, 10 минут = 600).
- maxretry — количество неудачных попыток до блокировки (например, 5).
[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 и максимальную защиту от всех видов атак.