Fail2ban jest programem pomagającym zabezpieczyć serwer z zainstalowanym systemem Linux przed atakami oraz wykrywającym błędne logowania do systemu i natychmiast na nie reagując.

Fail2ban jest dostępny w repozytoriach między innymi Debiana oraz Ubuntu, zatem aby go zainstalować należy wydać polecenie:

# apt-get install fail2ban

Następnie należy przejść do jego konfiguracji. Domyślnie Fail2ban w swojej konfiguracji włączony jest do autoryzacji poprzez ssh.

Aby zacząć konfigurację Fail2ban’a niezbędnym jest skopiowanie domyślnego pliku /etc/fail2ban/jail.conf zawierającego standardową konfigurację do pliku /etc/fail2ban/jail.local, gdyż domyślny plik może zostać nadpisany podczas aktualizacji:

# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Edycja pliku możliwa jest przy użyciu edytora tekstu vi lub nano.

# nano /etc/fail2ban/jail.local

Podczas edycji pliku /etc/fail2ban/jail.local można zmodyfikować parametry takie jak:

  • ignoreip: w tym parametrze znajduje się lista adresów IP, które powinny być wyłączone z zasad fail2ban. Można dodać swój adres IP.
  • bantime: ten parametr określa jak długo (w sekundach) ban będzie aktywny (domyślnie jest 10 minut).
  • maxretry: ten parametr określa domyślną ilość prób połączenia zanim ban zostanie nałożony na adres IP (domyślnie jest 3).
  • destemail: ta opcja pozwala ustawić adres e-mail, na który będą przychodzić powiadomienia zdarzeń.
  • logpath: ważne, aby sprawdzić czy ścieżka do pliku logów podana w parametrze logpath jest prawidłowa.

Zmiana parametrów danej usługi następuje poprzez modyfikację jej sekcji. I tak na przykład dla SSH:

[ssh] -> nazwa sekcji
enabled = true -> czy sekcja jest włączona (jeśli wyłączona to enabled = false)
port = 9988 -> port usługi
filter  = sshd -> pierwszy człon nazwy filtra logów: /etc/fail2ban/filter.d/sshd.conf
logpath  = /var/log/auth.log -> ścieżka do pliku monitorowanych logów
maxretry = 15 -> maksymalna ilość nieudanych prób autoryzacji

Po zakończonej konfiguracji niezbędne jest zrestartowanie usługi Fail2ban. Można w tym celu wydać polecenie:

# /etc/init.d/fail2ban restart