Linux

Защита SSH с помощью Fail2ban

Автоматически блокируйте IP-адреса, с которых раз за разом вводят неверный пароль. Настройка, которая работает в Ubuntu, Debian 12 и Rocky.

1 мин чтенияОбновлено 19 октября 2026 г.

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

Установка

# Ubuntu / Debian
apt install -y fail2ban python3-systemd

# Rocky Linux
dnf install -y epel-release && dnf install -y fail2ban

Настройка

Создайте файл /etc/fail2ban/jail.local (не редактируйте jail.conf: он перезаписывается при обновлении):

[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 5
# Укажите здесь свой домашний IP, чтобы случайно не заблокировать самого себя
ignoreip = 127.0.0.1/8 ::1

[sshd]
enabled = true
backend = systemd

С такими настройками IP-адрес, с которого 5 раз за 10 минут ввели неверный пароль, блокируется на час. Строка backend = systemd нужна, чтобы всё работало и в Debian 12, где классического файла auth.log больше нет.

systemctl enable --now fail2ban
systemctl restart fail2ban

Что сейчас делает Fail2ban

fail2ban-client status sshd

Команда покажет, сколько попыток он зафиксировал и какие IP-адреса заблокированы прямо сейчас.

Если вы заблокировали самого себя

Подождите, пока истечёт время блокировки, или войдите через консоль VNC и снимите блокировку:

fail2ban-client set sshd unbanip 198.51.100.7

Fail2ban — хороший дополнительный уровень защиты, но настоящая защита — это когда паролей для подбора просто нет: входите по SSH-ключу и отключите пароли.

Похожие статьи

Назад в справочный центр

Не нашли, что искали?

Создайте тикет в личном кабинете — мы ответим меньше чем за 5 минут.