Instalacja Fail2ban w Ubuntu 22.04
Fail2Ban jest aplikacją, która powinna być zainstalowana w zasadzie na każdej maszynie działającej pod kontrolą Unix / Linux / BSD, wystawioną na świat (zewnętrzne IP). Głównym zadaniem Fail2Ban jest blokada podejrzanych, zakończonych niepowodzeniem prób logowania się do usług świadczonych przez nasz serwer. Podsumowując zabezpiecza przed atakami typu brute force.
Działanie programu Fail2Ban opiera się na analizie logów i wychwytywaniu nieautoryzowanych prób logowania się do różnego rodzaju usług (np. ssh, smtp, pop3, imap…), po czym blokuje adres IP atakującego za pomocą reguł iptables lub dodając wpis do pliku /etc/hosts.deny
Aby dokonać instalacji na początek uruchamiamy terminal i aktualizujemy repozytorium systemu.
Wydajemy polecenie:
1 | sudo apt update |
Kolejny krok to instalacja:
1 | sudo apt install fail2ban -y |
Uruchamiamy Fail2ban w systemie:
1 | sudo systemctl enable fail2ban |
1 | sudo systemctl start fail2ban |
Dokonujemy wstępnej konfiguracji.
Przenosimy plik konfiguracyjny:
1 | sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local |
Edytujemy plik konfiguracyjny:
1 | sudo nano /etc/fail2ban/jail.local |
Najpierw od komentuj opcję ignoreip i dodaj swój adres IP. Wszystkie adresy IP w opcji ignoreip nie będą blokowane przez Fail2ban.
1 | ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20 |
Ustawienia dotyczące długości blokady ustawiamy w tej sekcji:
1 2 3 | bantime = 1d findtime = 10m maxretry = 5 |
Jeśli chcemy dostawać powiadomienia na e-mail o blokadach konfigurujemy tą sekcję:
1 2 3 | action = %(action_mw)s destemail = admin@domena.pl sender = root@domena.pl |
adres e-mail zastępujemy swoim adresem.
Poniżej pierwsza regułka do blokady błędnych logowań do ssh
1 2 3 4 5 6 7 8 9 | [sshd] enabled = true maxretry = 3 findtime = 1d bantime = 1w port = ssh logpath = %(sshd_log)s backend = %(sshd_backend)s |
Restartujemy usługę:
1 | sudo systemctl restart fail2ban |