Kapitola 3 · 3.5
fail2ban proti pokusom o uhádnutie hesla
fail2ban číta váš systémový záznam a na istý čas zablokuje IP adresy, z ktorých sa niekto opakovane neúspešne prihlasuje. Ak používate len kľúče (pozrite Vypnutie prihlasovania heslom a ako root), pokusy o uhádnutie hesla už nemôžu uspieť. fail2ban potom hlavne udržiava váš záznam prehľadný a spomaľuje útočníkov.
Inštalácia
anna@web1:~$ sudo apt install fail2ban
Na Debian 13 a Ubuntu potom stráženie SSH (jail sshd) funguje okamžite. Na Debian 12 je potrebný jeden riadok navyše, pozrite nižšie.
Na AlmaLinux a Rocky Linux: sudo dnf install epel-release, sudo dnf install fail2ban a sudo systemctl enable --now fail2ban.
Vlastné nastavenia
Súbor jail.conf neupravujte: aktualizácia ho prepíše. Vlastné nastavenia 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úspešných pokusov v rámcifindtimevedie k zablokovaniu nabantime.bantime.increment: kto sa vráti, bude zablokovaný stále dlhšie.ignoreip: adresy, ktoré sa nikdy nezablokujú, napríklad pevná IP adresa vašej kancelárie. Adresu 198.51.100.7 nahraďte vlastnou adresou alebo ju vynechajte.- Na Debian 12 pridajte pod
[sshd]ajbackend = systemda nainštalujte balíkpython3-systemd. fail2ban potom číta journal namiesto chýbajúceho súboruauth.log. Debian 13 to robí 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
Odblokovanie vlastnej adresy
Zablokovali ste sa sami, napríklad po niekoľkých pokusoch s nesprávnym kľúčom? Počkajte, kým blokovanie vyprší, alebo sa prihláste cez konzolu či z inej adresy a zadajte:
anna@web1:~$ sudo fail2ban-client set sshd unbanip 198.51.100.7