Kapitola 3 · 3.5
fail2ban proti pokusům o uhodnutí hesla
fail2ban čte Váš systémový protokol a na nějakou dobu zablokuje IP adresy, ze kterých se někdo opakovaně neúspěšně přihlašuje. Pokud používáte pouze klíče (viz Vypnutí přihlašování heslem a jako root), pokusy o uhodnutí hesla už nemohou uspět. fail2ban pak hlavně udržuje Váš protokol v klidu a zpomaluje útočníky.
Instalace
anna@web1:~$ sudo apt install fail2ban
Na Debianu 13 a Ubuntu pak hlídání SSH (jail sshd) funguje okamžitě. Na Debianu 12 je potřeba jeden řádek navíc, viz níže.
Na AlmaLinuxu a Rocky Linuxu: sudo dnf install epel-release, sudo dnf install fail2ban a sudo systemctl enable --now fail2ban.
Vlastní nastavení
Soubor jail.conf neupravujte: aktualizace ho přepíše. Vlastní nastavení uložte do /etc/fail2ban/jail.local:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
bantime.increment = true
ignoreip = 127.0.0.1/8 ::1 198.51.100.7
[sshd]
enabled = true
maxretryneúspěšných pokusů běhemfindtimevede k zablokování nabantime.bantime.increment: kdo se vrací, je blokován stále déle.ignoreip: adresy, které nebudou nikdy zablokovány, například pevná IP adresa Vaší kanceláře. Adresu 198.51.100.7 nahraďte svou vlastní adresou, nebo ji vynechte.- Na Debianu 12 přidejte pod
[sshd]takébackend = systemda nainstalujte balíčekpython3-systemd. fail2ban pak čte journal místo chybějícího souboruauth.log. Debian 13 to dělá automaticky.
anna@web1:~$ sudo systemctl restart fail2ban
anna@web1:~$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 2
| |- Total failed: 41
| `- Journal matches: _SYSTEMD_UNIT=ssh.service + _COMM=sshd
`- Actions
|- Currently banned: 3
|- Total banned: 7
`- Banned IP list: 192.0.2.44 198.51.100.23 203.0.113.99
Jak sami sebe znovu odblokovat
Zablokovali jste sami sebe, například po několika pokusech se špatným klíčem? Počkejte, až blokace vyprší, nebo se přihlaste přes konzoli či z jiné adresy a zadejte:
anna@web1:~$ sudo fail2ban-client set sshd unbanip 198.51.100.7