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