Bezpieczeństwo

Jak skonfigurować IPS (Fail2ban), aby chronić się przed różnymi atakami?

Jak skonfigurować IPS (Fail2ban), aby chronić się przed różnymi atakami?

IPS lub system zapobiegania włamaniom to technologia wykorzystywana w bezpieczeństwie sieci do badania ruchu sieciowego i zapobiegania różnym atakom poprzez wykrywanie złośliwych danych wejściowych. Oprócz wykrywania złośliwych danych wejściowych, tak jak robi to system wykrywania włamań, zapobiega również złośliwym atakom w sieci. Może chronić sieć przed atakami typu brute-force, DoS (odmowa usługi), DDoS (rozproszona odmowa usługi), exploitami, robakami, wirusami i innymi typowymi atakami. IPS są umieszczone tuż za zaporą sieciową i mogą wysyłać alarmy, odrzucać złośliwe pakiety i blokować obraźliwe adresy IP. W tym samouczku użyjemy Fail2ban, który jest pakietem oprogramowania do zapobiegania włamaniom, aby dodać warstwę bezpieczeństwa przed różnymi atakami typu brute force.

Jak działa Fail2ban

Fail2ban odczytuje pliki dziennika (e.sol. /var/log/apache/error_log) i pobiera niewłaściwe adresy IP, które próbują zbyt wielu nieudanych haseł lub szukają exploitów. Zasadniczo Fail2ban aktualizuje reguły zapory, aby blokować różne adresy IP na serwerze. Fail2ban zapewnia również filtry, za pomocą których możemy użyć dla określonej usługi (e.sol., Apache, ssh itp.).

Instalowanie Fail2ban

Fail2ban nie jest preinstalowany na Ubuntu, więc zanim go użyjemy, musimy go zainstalować.

[ochrona poczty e-mail]:~$ sudo apt-get update -y
[ochrona poczty e-mail]:~$ sudo apt-get install fail2ban

Po zainstalowaniu Fail2ban uruchom i włącz usługę Fail2ban za pomocą wiersza poleceń.

[ochrona poczty e-mail]:~$ sudo systemctl start fail2ban
[ochrona poczty e-mail]:~$ sudo systemctl enable fail2ban


Teraz sprawdź status usługi fail2ban, aby potwierdzić, czy została uruchomiona, czy nie.

[ochrona poczty e-mail]:~$ sudo systemctl status fail2ban

Konfiguracja Fail2ban dla SSH

Możemy skonfigurować Fail2ban modyfikując /etc/fail2ban/jail.plik konfiguracyjny. Przed modyfikacją zrób kopię zapasową tego pliku.

[ochrona poczty e-mail]:~$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.lokalny

Teraz skonfigurujemy Fail2ban, aby uniemożliwić usłudze sshd złośliwe dane wejściowe. Otwórz /etc/fail2ban/jail.lokalny plik w twoim ulubionym edytorze.

[ochrona poczty e-mail]:~$ sudo nano /etc/fail2ban/jail.lokalny

Przejdź do [domyślna] i wprowadź parametry konfiguracyjne w sekcji [domyślna] Sekcja.

[DOMYŚLNA]
ignorowanie ip = 127.0.0.1/8 192.168.18.10/32
czas bani = 300
maksymalna ponowna próba = 2
czas znalezienia = 600

ignorować to lista masek cidr, adresu IP lub hosta DNS oddzielona spacją. Dodaj swoje zaufane adresy IP do tej listy, a te adresy IP zostaną umieszczone na białej liście i nie będą blokowane przez funkcję fail2ban, nawet jeśli wykonają atak brute force na serwer.

bantime to czas, w którym adres IP zostanie zablokowany po wykonaniu określonej liczby nieudanych prób połączenia z serwerem.

maxretry to liczba maksymalnych nieudanych prób, po których adres IP jest blokowany przez fail2ban na określony czas.

znaleźć czas to czas, w którym gospodarz robi maxretry nieudane próby, zostanie zablokowany.

Po skonfigurowaniu powyższych parametrów, teraz skonfigurujemy usługę, na której będą obowiązywać powyższe zasady. Fail2ban domyślnie posiada predefiniowane filtry dla różnych usług, więc nie musimy wprowadzać żadnych konkretnych wpisów dla usług. W pliku konfiguracyjnym włączamy lub wyłączamy tylko różne usługi. Otwórz /etc/fail2ban/jail.lokalny plik w twoim ulubionym edytorze.

[ochrona poczty e-mail]:~$ sudo nano /etc/fail2ban/jail.lokalny

Znaleźć [sshd] w pliku i wprowadź następujące parametry w sekcji.

[sshd]
włącz = prawda
port = ssh
filtr = sshd
logpath = /var/log/auth.log
maksymalna ponowna próba = 3

włączone określa, czy ta usługa jest chroniona przez fail2ban, czy nie. Jeśli włączone ma wartość true, usługa jest chroniona; w przeciwnym razie nie jest chroniony.

Port definiuje port serwisowy.

filtr odnosi się do pliku konfiguracyjnego, którego użyje fail2ban. Domyślnie użyje /etc/fail2ban/filter.d/sshd.plik konfiguracyjny dla usługi ssh.

logpath definiuje ścieżkę do logów, fail2ban będzie monitorował, aby chronić usługę przed różnymi atakami. W przypadku usługi ssh dzienniki uwierzytelniania można znaleźć w /var/log/auth.log, więc fail2ban będzie monitorował ten plik dziennika i aktualizował zaporę sieciową, wykrywając nieudane próby logowania.

maxretry określa liczbę nieudanych prób logowania przed zablokowaniem przez fail2ban.

Po zastosowaniu powyższej konfiguracji dla fail2ban uruchom ponownie usługę, aby zapisać zmiany.

[ochrona poczty e-mail]:~$ sudo systemctl restart fail2ban.usługa
[ochrona poczty e-mail]:~$ sudo systemctl status fail2ban.usługa

Testowanie Fail2ban

Skonfigurowaliśmy fail2ban, aby chronić nasz system przed atakami typu brute force na usługę ssh. Teraz wykonamy nieudane próby logowania do naszego systemu z innego systemu, aby sprawdzić, czy fail2ban działa, czy nie. Po wykonaniu kilku nieudanych prób logowania, sprawdzimy logi fail2ban.

[ochrona poczty e-mail]:~$ cat /var/log/fail2ban.log

Widzimy, że po nieudanych próbach logowania adres IP został zablokowany przez fail2ban.

Listę wszystkich usług, dla których włączony jest tryb fail2ban, możemy uzyskać za pomocą następującego polecenia:.

[email protected]:~$ sudo fail2ban-client status


Powyższy rysunek pokazuje, że włączyliśmy fail2ban tylko dla usługi sshd. Możemy uzyskać dalsze informacje o usłudze sshd, podając nazwę usługi w powyższym poleceniu.

[ochrona poczty e-mail]:~$ sudo fail2ban-client status sshd

Fail2ban automatycznie odbanuje zbanowany adres IP po bantime, ale możemy odblokować dowolny adres IP w dowolnym momencie za pomocą wiersza poleceń. Zapewni to większą kontrolę nad fail2ban. Użyj następującego polecenia, aby odblokować adres IP.

[ochrona poczty e-mail]:~$ sudo fail2ban-client set sshd unbanip 192.168.43.35

Jeśli spróbujesz odblokować adres IP, który nie jest zablokowany przez fail2ban, po prostu powie ci, że adres IP nie jest zablokowany.

[ochrona poczty e-mail]:~$ sudo fail2ban-client set sshd unbanip 192.168.43.35

Wniosek

Dla administratora systemu lub inżyniera bezpieczeństwa dużym wyzwaniem jest utrzymanie bezpieczeństwa serwerów. Jeśli serwer jest chroniony hasłem, a nie parą kluczy publicznego i prywatnego, serwer jest bardziej podatny na ataki typu brute force. Mogą dostać się do Twojego systemu, stosując różne kombinacje haseł. Fail2ban to narzędzie, które może ograniczyć atakującym do przeprowadzania różnego rodzaju ataków, w tym ataków brute force i ataków DDoS na Twój serwer. W tym samouczku omówiliśmy, w jaki sposób możemy wykorzystać Fail2ban do ochrony naszego serwera przed różnymi atakami. Możemy również użyć Fail2ban do ochrony innych usług, takich jak Apache, Nginx itp.

Gry Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Artykuł zawiera przewodnik dotyczący korzystania z silnika oszukującego GameConqueror w systemie Linux. Wielu użytkowników, którzy grają w gry w syste...
Gry Najlepsze emulatory konsoli do gier dla systemu Linux
Najlepsze emulatory konsoli do gier dla systemu Linux
W tym artykule wymienimy popularne oprogramowanie do emulacji konsoli do gier dostępne dla systemu Linux. Emulacja to warstwa kompatybilności oprogram...
Gry Najlepsze dystrybucje Linuksa do gier w 2021 r
Najlepsze dystrybucje Linuksa do gier w 2021 r
System operacyjny Linux przeszedł długą drogę od pierwotnego, prostego, serwerowego wyglądu. Ten system operacyjny znacznie się poprawił w ostatnich l...