Skip to Content
🔥 Nová dokumentace BlazeHost.cz je online — prohlédnout

Fail2ban

Fail2ban sleduje logy a blokuje IP adresy, které se opakovaně neúspěšně přihlašují. Boti zkoušející hesla na SSH tak dostanou ban dřív, než něco uhodnou.

Jak to funguje

Fail2ban čte logy jednotlivých služeb. Když jedna IP překročí povolený počet neúspěšných pokusů za daný čas, přidá ji do firewallu a na chvíli zablokuje.

PojemVýznam
JailSada pravidel pro jednu službu (např. sshd)
maxretryKolik chyb IP toleruje
findtimeZa jaký čas se chyby počítají
bantimeJak dlouho ban trvá
ignoreipIP, které se nikdy nebanují

Instalace

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

Konfigurace

Nikdy neupravuj jail.conf — přepíše ho aktualizace balíčku. Vlastní nastavení patří do jail.local, který má přednost.

/etc/fail2ban/jail.local
[DEFAULT] # Sem pridej svou vlastni IP, aby ses nezabanoval ignoreip = 127.0.0.1/8 ::1 11.22.33.44 bantime = 1h findtime = 10m maxretry = 5 [sshd] enabled = true port = ssh maxretry = 3 findtime = 10m bantime = 1h

Přidej svou IP do ignoreip. Jinak si při párkrát špatně napsaném heslu zabanuješ vlastní přístup na server a dostaneš se zpět jen přes VNC konzoli v panelu.

Na Debianu a Ubuntu jail [sshd] čte systémový journal. Na starších systémech ověř, že sekce [sshd] existuje a je enabled = true — jinak fail2ban SSH vůbec nehlídá.

Po každé změně konfigurace načti pravidla znovu:

sudo systemctl restart fail2ban

Ovládání

# Prehled vsech jailu sudo fail2ban-client status # Detail konkretniho jailu vcetne zabanovanych IP sudo fail2ban-client status sshd

Výpis status sshd ukáže počet aktuálně banovaných IP i celkový počet chyb.

Odbanování IP

Zabanoval sis omylem sebe nebo kolegu? Odebereš ho ručně:

sudo fail2ban-client set sshd unbanip 11.22.33.44

Trvalý ban nedělej přes bantime = -1 bezhlavě. Nasčítá se ti dlouhý seznam IP a přehled ztratíš. Pro opakované útočníky je lepší delší, ale konečný ban.

Delší ban pro recidivisty

Fail2ban umí sledovat i vlastní ban log a tvrději trestat IP, které se vrací:

/etc/fail2ban/jail.local
[recidive] enabled = true bantime = 1w findtime = 1d maxretry = 5

Tipy

  • Nejdřív si ověř přihlášení klíčem a teprve pak spoléhej na fail2ban. Chrání službu, nenahradí SSH klíče.
  • Sleduj fail2ban-client status sshd po nasazení. Uvidíš, kolik útoků reálně chytáš.
  • Nezvyšuj maxretry zbytečně. Tři pokusy stačí, ty se přihlásíš napoprvé.

Poznámka

Fail2ban dává smysl jen na VPS, kam máš přístup do systému. Na herním hostingu se o zabezpečení SSH stará BlazeHost.

Související články