Wiki
Безопасность

fail2ban — что это простыми словами

fail2ban — Python-демон, читающий логи (SSH, nginx, Postfix) и банящий IP через iptables после N неудачных попыток. Защита от брутфорса.

fail2ban — легковесный демон на Python, который читает логи популярных сервисов (SSH, nginx, Postfix, Dovecot, WordPress) и автоматически банит подозрительные IP через iptables / nftables / firewalld. Стандартный сценарий: 5 неудачных SSH-логинов за минуту → IP забанен на 10 минут. За неделю фильтрует 10 000+ ботов.

Компоненты: jails — набор правил под конкретный сервис (sshd, nginx-http-auth, wordpress). filters — regex для матчинга плохих запросов в логах. actions — что делать после N совпадений (обычно ban через iptables).

Настройка минимальная: `apt install fail2ban`, включает jail sshd автоматически. Проверить статус: `fail2ban-client status`, разбанить конкретный IP: `fail2ban-client set sshd unbanip 1.2.3.4`. Для WordPress берут jail wordpress + плагин WP fail2ban.

Ограничения: (1) не спасает от целевой атаки с 10 000 IP (ботнет), только от массового брутфорса, (2) должен быть настроен ДО начала атаки, не после, (3) неправильные regex дают false-positive, могут забанить вас самих. Дополнить fail2ban SSH-ключами и отключением парольного входа — best practice.

Частые вопросы

У Elistrax VPS fail2ban предустановлен?
На cloud-init шаблонах Ubuntu / Debian — да, с базовыми настройками sshd. На кастомных ISO — устанавливаете сами.
Не забанит ли меня если я 5 раз опечатался в пароле?
Забанит на 10 мин. Если у вас SSH-ключ + отключён парольный вход (default у нас) — не забанит.

Смотрите также