Linux

Ochrona SSH za pomocą Fail2ban

Automatyczne blokowanie adresów IP, które raz po raz podają błędne hasło. Konfiguracja, która działa w Ubuntu, Debianie 12 i Rocky.

1 min czytaniaZaktualizowano 19 października 2026

Fail2ban monitoruje próby logowania i gdy z danego adresu IP przychodzi zbyt wiele nieudanych prób, blokuje go na jakiś czas w zaporze. Jest bardzo skuteczny przeciwko botom, które zgadują hasła, i prawie nie zużywa zasobów.

Instalacja

# Ubuntu / Debian
apt install -y fail2ban python3-systemd

# Rocky Linux
dnf install -y epel-release && dnf install -y fail2ban

Konfiguracja

Utwórz plik /etc/fail2ban/jail.local (nie edytuj jail.conf: jest nadpisywany przy aktualizacji):

[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 5
# Dopisz tu swój domowy adres IP, aby nigdy nie zablokować sobie dostępu
ignoreip = 127.0.0.1/8 ::1

[sshd]
enabled = true
backend = systemd

Dzięki temu adres IP, który w ciągu 10 minut 5 razy poda błędne dane, zostaje zablokowany na godzinę. Linia backend = systemd sprawia, że działa to także w Debianie 12, który nie zapisuje już klasycznego pliku auth.log.

systemctl enable --now fail2ban
systemctl restart fail2ban

Podgląd działania

fail2ban-client status sshd

Polecenie pokazuje, ile prób wykrył Fail2ban i które adresy IP są w tej chwili zablokowane.

Jeśli zablokujesz sobie dostęp

Poczekaj, aż minie czas blokady, albo zaloguj się przez konsolę VNC i odblokuj swój adres:

fail2ban-client set sshd unbanip 198.51.100.7

Fail2ban to dobra dodatkowa warstwa ochrony, ale prawdziwym zabezpieczeniem jest brak haseł, które można odgadnąć: loguj się kluczem SSH i wyłącz hasła.

Powiązane artykuły

Wróć do centrum pomocy

Nie możesz znaleźć tego, czego szukasz?

Otwórz zgłoszenie w panelu, a odpowiemy w mniej niż 5 minut.