Fail2ban читает логи и временно блокирует IP-адреса, с которых идет слишком много неудачных попыток входа. Особенно полезен для SSH, но настраивать его нужно аккуратно, чтобы случайно не заблокировать реальных пользователей.

Что делает Fail2ban

  • Читает authentication-логи.
  • Считает повторные неудачные попытки входа.
  • Добавляет временные firewall-блокировки для подозрительных IP.
  • Может защищать SSH и некоторые web/mail сервисы в зависимости от настройки.

Базовый пример Debian/Ubuntu

apt update
apt install fail2ban
systemctl enable --now fail2ban
fail2ban-client status
fail2ban-client status sshd

Хорошая практика

НастройкаРекомендация
bantimeНачать с умеренной временной блокировки, затем корректировать.
findtime/maxretryНе делать слишком строго, чтобы не банить реальных пользователей за опечатки.
ignoreipДобавить доверенные офисные/admin IP, если они стабильные.
SSH-ключиИспользовать ключи; Fail2ban — дополнительная защита, не замена.
Fail2ban прост, пока не заблокировал не тот IP

Расскажите ОС и SSH-порт. Поможем задать разумный профиль Fail2ban для VPS.

Настроить Fail2ban

Что важно учитывать для VPS

VPS дает больше контроля, но требует внимательнее относиться к обновлениям, firewall, резервным копиям и мониторингу ресурсов. Перед изменениями на сервере лучше зафиксировать текущее состояние и иметь план отката.

  • проверьте свободное место на диске и inode;
  • посмотрите нагрузку CPU, RAM и load average;
  • проверьте статус нужных сервисов;
  • не закрывайте SSH-доступ firewall-правилами без теста;
  • перед рискованными работами сделайте snapshot или backup.

Если сервер используется для почты, дополнительно проверьте PTR, SPF, DKIM, hostname и репутацию IP-адреса.

Что подготовить перед обращением

Чтобы поддержка GoodNet быстрее разобралась с вопросом по теме «Fail2ban на VPS: защита от перебора паролей», укажите домен, услугу, время появления проблемы, что менялось перед этим и приложите точный текст ошибки или скриншот. Это помогает сразу перейти к диагностике, а не тратить время на уточнение базовых данных.