Инструкция по установк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-сервер от перебора паролей, автоматически блокируя злоумышленников.