Fail2ban

Установите и настройте Fail2ban для временной блокировки повторяющихся сбоев аутентификации SSH на сервере Ubuntu.

Перед выполнением

Эти примеры предназначены для сервера Ubuntu, использующего systemd и поддерживаемый брандмауэр. Имена пакетов, источники журналов и серверные части брандмауэра различаются в зависимости от дистрибутива. Fail2ban уменьшает количество повторных попыток входа в систему; он не заменяет ключи SSH, обновления или средства управления доступом. Сохраняйте доступность существующего административного сеанса и восстановления консоли и избегайте тестирования с единственного рабочего адреса. Убедитесь, что SSH-тюрьма читает фактические журналы аутентификации и что ее действия брандмауэра эффективны. Не вносите в белый список широкие сети, не осознавая риска.

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

Примеры

Установите Fail2ban в Ubuntu и запустите его службу. Для установки требуются права администратора.

sudo apt update
sudo apt install fail2ban
sudo systemctl enable --now fail2ban

Создайте отдельное переопределение тюрьмы в /etc/fail2ban/jail.d/sshd.local; не редактируйте упакованный файлjail.conf. В примере используются журналы systemd и блокируется адрес на один час после пяти сбоев за десять минут.

Откройте файл в nano:

sudo nano /etc/fail2ban/jail.d/sshd.local
[sshd]
enabled = true
backend = systemd
maxretry = 5
findtime = 10m
bantime = 1h

Проверьте конфигурацию, перезапустите службу и проверьте тюрьму SSH. Убедитесь, что выходные данные идентифицируют предполагаемый источник журнала и действие брандмауэра.

sudo fail2ban-client -t && sudo systemctl restart fail2ban && sudo fail2ban-client status sshd

Проверьте последние журналы служб, если джейл не запускается или не обнаружено сбоев.

sudo journalctl -u fail2ban -n 100 --no-pager

Если авторизованный адрес был заблокирован, разблокируйте этот адрес в существующем административном сеансе или в консоли сервера. Замените пример адреса.

sudo fail2ban-client set sshd unbanip 192.0.2.10

Официальные источники

Проверено 27 октября 2026 г.