Коротка відповідь: Встановіть пакет (apt install fail2ban або dnf install fail2ban з EPEL), створіть /etc/fail2ban/jail.local з увімкненим jail sshd і запустіть службу. Fail2ban читає ваші логи й тимчасово банить IP, які раз за разом не можуть увійти, — перебір падає майже до нуля.
Огляд
Fail2ban стежить за логами на повторні невдачі (SSH, панелі, пошта, веб-логіни), а потім додає правила фаєрвола, що банять IP-порушника на налаштований час. Він доповнює — а не замінює — SSH лише за ключами: навіть забанені боти коштують вам шуму в логах і CPU, доки Fail2ban їх не заглушить.
Що потрібно мати
- Root/sudo-доступ.
- Робочий бекенд фаєрвола (nftables/iptables — встановлені за замовчуванням на підтримуваних дистрибутивах).
- Знання власного IP, щоб додати його в білий список.
Покрокова інструкція
- Встановіть:
apt install fail2ban -y # Ubuntu/Debian dnf install epel-release -y && dnf install fail2ban -y # Alma/Rocky - Ніколи не редагуйте
jail.conf— створіть/etc/fail2ban/jail.local:[DEFAULT] bantime = 1h findtime = 10m maxretry = 5 ignoreip = 127.0.0.1/8 YOUR.HOME.IP.HERE [sshd] enabled = true - Запустіть і додайте в автозапуск:
systemctl enable --now fail2ban - Перевірте статус і бани:
fail2ban-client status fail2ban-client status sshd - Якщо ви змінили порт SSH, задайте
port = 2222у секції[sshd].
Типові проблеми
- Забанили самого себе: розбаньте командою
fail2ban-client set sshd unbanip YOUR.IP(через KVM Console за потреби) і додайте свій IP доignoreip. - Jail не стартує на Alma/Rocky: переконайтеся, що бекенд логів збігається — із journald задайте
backend = systemdуjail.local. - Бани не з’являються: перевірте, що
fail2ban-client status sshdпоказує правильний шлях до лога/порт і що невдачі справді потрапляють у лог.
Коли звертатися в підтримку
Fail2ban — частина ОС, якою керуєте ви. Звертайтеся в підтримку Cloud2Y, якщо заблоковані без доступу до KVM Console або якщо невдалі входи тривають у масштабі, схожому на розподілену атаку (як повідомити про DDoS-атаку).
Часті запитання
Що саме робить Fail2ban?
Він стежить за логами на повторні невдалі автентифікації і тимчасово банить IP-джерело правилом фаєрвола, зазвичай на годину, — після чого кампанії перебору стають марними.
Чому редагувати jail.local, а не jail.conf?
Оновлення пакета перезаписують jail.conf і мовчки знищують ваші налаштування. Усе, що ви кладете в jail.local, перевизначає jail.conf і переживає кожне оновлення Fail2ban.
Забанив власний IP через Fail2ban — як відновити доступ?
Увійдіть через KVM Console і виконайте fail2ban-client set sshd unbanip з вашою адресою, а потім додайте свій IP до списку ignoreip у jail.local, щоб це не повторилося.
Схожі статті
- Як захиститися від brute-force атак
- Як захистити SSH-доступ
- Як читати логи автентифікації
- Як налаштувати фаєрвол
Потрібна допомога? Звернутися в підтримку Cloud2Y →
