Инструкция по установкe и настройкe Fail2Ban для защиты Ubuntu сервера от взлома по ssh.


Описание

Fail2Ban — это сервис, который анализирует логи и автоматически блокирует IP-адреса, с которых происходят подозрительные или повторяющиеся неудачные попытки входа (например, по SSH).

В данном примере:

  • срок бана — 1 год;
  • разрешено не более 3 неудачных попыток;
  • анализ попыток входа ведётся за 10 минут.

Установка Fail2Ban

Установите пакет и добавьте сервис в автозапуск:

sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Настройка Fail2Ban

Откройте локальный конфигурационный файл:

sudo nano /etc/fail2ban/jail.local

Пример конфигурации:

[DEFAULT]
ignoreip = 127.0.0.1/8 ::1
bantime = 31536000
maxretry = 3
findtime = 600

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log

Пояснение параметров

  • ignoreip — IP-адреса, которые никогда не будут заблокированы
  • bantime — время блокировки (в секундах)
  • maxretry — максимальное количество неудачных попыток
  • findtime — период времени для подсчёта попыток
  • enabled — активация защиты для SSH

Проверка конфигурации

Проверьте корректность конфигурации:

sudo fail2ban-client -t

Перезапустите сервис:

sudo systemctl restart fail2ban

Проверьте статус сервиса:

sudo systemctl status fail2ban

Мониторинг и диагностика

Общий статус Fail2Ban:

sudo fail2ban-client status

Статус защиты SSH:

sudo fail2ban-client status sshd

Просмотр логов Fail2Ban:

sudo tail -f /var/log/fail2ban.log

Просмотр логов аутентификации SSH:

sudo tail -f /var/log/auth.log

Заключение

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