Fail2ban анализирует журналы служб и может временно блокировать адреса с повторяющимися неудачными попытками входа. Он дополняет SSH-ключи и firewall, но не заменяет их.
Установка
sudo apt update
sudo apt install fail2ban
sudo systemctl status fail2ban
Проверьте уже активные правила:
sudo fail2ban-client status
Локальная настройка
Локальные параметры обычно размещают в /etc/fail2ban/jail.local или отдельном файле в /etc/fail2ban/jail.d/, а не редактируют пакетный шаблон. Если SSH-jail ещё не включён, пример умеренной конфигурации:
[sshd]
enabled = true
backend = systemd
maxretry = 5
findtime = 10m
bantime = 10m
Параметры означают пять неудачных попыток за десять минут и блокировку на десять минут. Перед применением проверьте совместимость настроек с установленной версией и журналированием.
Перезапуск и проверка
sudo systemctl restart fail2ban
sudo fail2ban-client status
sudo fail2ban-client status sshd
Если служба не запускается, посмотрите журнал: sudo journalctl -u fail2ban --since "30 minutes ago".
Ошибочная блокировка
Убедитесь, что проблема связана именно с Fail2ban, а IP принадлежит вам. Затем используйте команду разблокировки с правильным именем jail и своим адресом: sudo fail2ban-client set sshd unbanip YOUR_IP. Не отключайте все правила из-за единичной ошибки.
Для защиты сервера также используйте ключи, своевременно обновляйте пакеты и оставляйте доступ только к необходимым портам.

