Rozdział 3 · 3.5
fail2ban przeciwko próbom odgadnięcia hasła
fail2ban odczytuje Państwa dziennik i na pewien czas blokuje adresy IP, z których wciąż następują nieudane logowania. Przy logowaniu wyłącznie kluczami (zob. Wyłączanie logowania hasłem i jako root) próby odgadnięcia hasła i tak nie mogą się powieść. fail2ban utrzymuje wtedy przede wszystkim porządek w dzienniku i spowalnia atakujących.
Instalacja
anna@web1:~$ sudo apt install fail2ban
W Debian 13 i Ubuntu ochrona SSH (jail sshd) działa od razu po instalacji. W Debian 12 potrzebny jest jeden dodatkowy wiersz, zob. poniżej.
W AlmaLinux i Rocky Linux: sudo dnf install epel-release, sudo dnf install fail2ban i sudo systemctl enable --now fail2ban.
Własne ustawienia
Prosimy nie zmieniać pliku jail.conf: aktualizacja go nadpisze. Własne ustawienia prosimy zapisać w /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
maxretrynieudanych prób w ciągufindtimepowoduje blokadę nabantime.bantime.increment: kto wraca, jest blokowany coraz dłużej.ignoreip: adresy, które nigdy nie są blokowane, na przykład stały adres IP Państwa biura. Adres 198.51.100.7 prosimy zastąpić własnym adresem lub usunąć.- W Debian 12 należy w sekcji
[sshd]dodać równieżbackend = systemdi zainstalować pakietpython3-systemd. Wtedy fail2ban odczytuje journal zamiast brakującego plikuauth.log. Debian 13 robi to już automatycznie.
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
Odblokowanie własnego adresu
Czy zablokowali Państwo samych siebie, na przykład po kilku próbach z niewłaściwym kluczem? Prosimy poczekać, aż blokada wygaśnie, albo zalogować się przez konsolę lub z innego adresu i wpisać:
anna@web1:~$ sudo fail2ban-client set sshd unbanip 198.51.100.7