OKWszystkie usługi działają prawidłowo
InfrawireLogo InfrawireDokumentacja

Konfiguracja Fail2ban na VPS Linux

Fail2ban analizuje logi usług i tymczasowo blokuje adresy IP przy nadużyciach (wielokrotne błędy SSH, skanowanie HTTP itd.). Uzupełnia UFW i twardy SSH.

Wymagania

  • Ubuntu/Debian (lub pochodna) z sudo
  • Chroniona usługa już działa (np. sshd, nginx)

Instalacja

Bash
sudo apt update && sudo apt install -y fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban

Podstawowa konfiguracja

Własne pliki umieść w /etc/fail2ban/jail.d/, żeby aktualizacje ich nie nadpisywały.

Utwórz /etc/fail2ban/jail.d/local.conf:

INI
1[DEFAULT] 2bantime = 1h 3findtime = 10m 4maxretry = 5 5ignoreip = 127.0.0.1/8 ::1 6 7[sshd] 8enabled = true 9port = ssh 10logpath = %(sshd_log)s 11backend = %(sshd_backend)s

Jeśli zmieniłeś port SSH, ustaw np. port = 2222 zamiast ssh.

Przeładuj Fail2ban:

Bash
sudo systemctl restart fail2ban sudo fail2ban-client status sudo fail2ban-client status sshd

Nginx (agresywne żądania HTTP)

Przykład:

INI
[nginx-http-auth] enabled = true port = http,https logpath = /var/log/nginx/error.log

Dostosuj ścieżki logów do swojej konfiguracji.

Dobre praktyki

  • Dodaj stałe IP do ignoreip podczas testów.
  • Sprawdzaj sudo fail2ban-client status sshd po wdrożeniu.
  • Bany są czasowe (bantime); dostosuj do tolerancji.

Ręczne odblokowanie IP

Bash
sudo fail2ban-client set sshd unbanip 198.51.100.10

Rozwiązywanie problemów

  • Brak banów: sprawdź enabled = true, poprawny logpath oraz czy usługa loguje niepowodzenia.
  • Wykluczenie z serwera: użyj konsoli dostawcy / IPMI lub innego IP, potem popraw ignoreip lub odblokuj IP.