Jak zainstalować i używać Fail2ban dla bezpieczeństwa serwera Linux

We wszystkich typach organizacji, niezależnie od rodzaju wykorzystywanych informacji lub liczby użytkowników, którzy do nich należą, zawsze jako personel w systemach lub obszarze IT musimy zapewnić, że bezpieczeństwo jest w nim podstawowym czynnikiem, ale gdy zarządza się jednym lub kilkoma więcej serwerów.

Kiedy mówimy o serwerach z dystrybucjami Linuksa, wiele razy myślimy, że są one zwolnione z ataków, ale w często zmieniającym się świecie online nie ma już bezpiecznego systemu i każda dystrybucja jest narażona na ataki złośliwego oprogramowania, wirusów, ataków DDOS i wielu jeszcze. Jako administratorzy lub użytkownicy mający dostęp do zdarzeń i dzienników serwera, normalne jest wykrywanie prób logowania metodą brute force, zalania sieci Web, wyszukiwania exploitów i innych zagrożeń, które w taki czy inny sposób mogą zagrażać integralności i dostępności informacji.

Dlatego konieczne jest korzystanie z narzędzi, które zapewniają nam najlepsze opcje bezpieczeństwa i alternatywy; Zastanawiając się nad tym Solvetic wyjaśni, jak używać Fail2ban do wykrywania i zabezpieczania naszych systemów operacyjnych Linux.

Co to jest Fail2ban?Fail2ban został opracowany jako oprogramowanie zapobiegające włamaniom, które analizuje pliki dzienników serwera, takie jak / var / log / apache / error_log, a tym samym zabrania adresów IP zawierających złośliwe znaki, biorąc pod uwagę takie aspekty, jak zbyt wiele błędów w hasłach, wyszukiwanie luk w zabezpieczeniach itp. .

Z reguły Fail2Ban służy do aktualizowania reguł zapory tak, aby odrzucały adresy IP w określonym czasie, ale można również skonfigurować inną regułę, która może zagrozić bezpieczeństwu systemu. Chociaż Fail2Ban może zmniejszyć liczbę nieudanych prób uwierzytelnienia w systemie, idealnie jest, aby metody uwierzytelnienia nie były słabe. W tym celu możemy skonfigurować usługi tak, aby używały tylko dwóch czynników lub publicznych/prywatnych mechanizmów uwierzytelniania w celu ochrony usług w systemie Linux.

Wymagania dotyczące korzystania z Fail2ban
Jedyną zależnością, jakiej będziemy potrzebować do korzystania z Fail2ban, będzie Python, w zależności od pożądanej wersji będzie to:

  • Gałąź Fail2ban 0.9.x: Python> = 2.6 lub Python> = 3.2
  • Gałąź Fail2ban 0.8.x: Python> = 2,4
Opcjonalnie Fail2ban może wymagać następujących elementów:
  • Netfilter / Iptables
  • Brzeg
  • Opakowanie TCP
  • Skrypt pocztowy
  • Ipset

Funkcje Fail2ban
Obecna wersja Fail2ban to 0.9.x, która oferuje nam takie funkcje jak:

  • Akcje oparte na Pythonie.
  • Obsługa baz danych.
  • Analiza wieloliniowa w filtrach.
  • Niestandardowa obsługa dat i godzin dla filtrów.
  • Rozpoznawanie strefy czasowej domyślnie.
  • Limit czasu w poleceniach zakazu.
  • Zestaw znaków rozpoznawania w plikach dziennika.
  • Obsługa Pythona3 +
  • Architektura klient/serwer.
  • Wielowątkowy.
  • Wysoce konfigurowalny dzięki zastosowaniu dzielonych plików konfiguracyjnych.
  • Domyślnie używa Netfilter / Iptables, ale będzie również możliwe użycie TCP Wrapper i wielu innych dostępnych zapór sieciowych.
  • Pozwala na obsługę wielu usług w tym samym czasie, takich jak sshd, apache, vsftp i inne.
  • Uruchom polecenia, gdy wzorzec zostanie wykryty dla tego samego adresu IP więcej niż X razy, aby zablokować ten adres.

1. Jak zainstalować Fail2ban w systemie Linux

NotatkaW tym przypadku użyjemy CentOS 7

Krok 1
Aby zainstalować Fail2ban, wykonamy następujące polecenia w ich kolejności:

Zaktualizuj system

 mniam aktualizacja

Zainstaluj repozytoria EPEL
 mniam zainstaluj epel-release

Wpisujemy literę y, aby potwierdzić pobranie i instalację repozytorium EPEL.

Krok 2
Następnie instalujemy Fail2ban wykonując:

 mniam zainstaluj fail2ban 

Krok 3
Po tej analizie zobaczymy, że wszystkie zależności Fail2ban zostaną zainstalowane. Akceptujemy pobranie i instalację Fail2ban.

Krok 4
W przypadku korzystania z Debiana lub Ubuntu musimy wykonać następujące czynności:

 apt-get update && apt-get upgrade -y apt-get install fail2ban
Opcjonalnie możemy włączyć obsługę poczty, dla powiadomień o poczcie, instalując sendmail w następujący sposób:

CentOS / RHEL

 mniam zainstaluj sendmail

Debian/Ubuntu

 apt-get install sendmail-bin sendmail

Krok 5
Następnie włączymy Fail2ban i Sendmail za pomocą następujących poleceń:

 systemctl start fail2ban systemctl enable fail2ban systemctl start sendmail systemctl enable sendmail

2. Jak skonfigurować Fail2ban w systemie Linux


Domyślnie Fail2ban używa plików .conf znajdujących się w katalogu /etc/fail2ban/; do którego uzyskujesz dostęp jako pierwszy, ale można je zastąpić plikami .local znajdującymi się w tym samym katalogu.

Tak więc plik .local nie musi zawierać wszystkich ustawień z pliku .conf, a jedynie te, które chcemy zaimplementować dla bezpieczeństwa systemu. Każda zmiana musi być dokonana w plikach .local, których nie ma w .conf, aby uniknąć nadpisania zmian podczas aktualizacji pakietu fail2ban.

Krok 1
W tym celu skopiujemy istniejący plik fail2ban.conf w fail2ban.local w następujący sposób:

 cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

Krok 2
Teraz będzie można dokonać zmian w pliku .local utworzonym za pomocą edytora tekstu, wartości, które możemy edytować to:

poziom loguJest to poziom, na którym przechowywane są rekordy. Do dyspozycji mamy takie opcje jak:

  • KRYTYCZNY
  • BŁĄD
  • OSTRZEŻENIE
  • ZAWIADOMIENIE
  • INFORMACJE
  • ODPLUSKWIĆ

cel dziennikaTam akcje są zapisywane w określonym pliku, domyślną wartością jest /var/log/fail2ban.log, a opcje do użycia to:

  • STDOUT: Wyjście dowolnych danych.
  • STDERR: Generuje dowolny błąd.
  • SYSLOG: Dziennik oparty na komunikatach.
  • Plik: Wyjście do pliku

gniazdo elektryczneJest to katalog, w którym będzie znajdować się plik typu socket.

PidfileJest to lokalizacja pliku pid.

3. Jak skonfigurować Fail2ban jail.local w systemie Linux?


W Fail2ban jednym z najważniejszych plików jest jail.conf, który definiuje więzienia lub środki ochrony. Tam musisz zdefiniować usługi, dla których musi być włączony Fail2ban.

Krok 1
Zamierzamy utworzyć plik jail.local, aby móc zastosować modyfikacje, w tym celu wykonujemy:

 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Dostęp do tego pliku lokalnego uzyskujemy za pomocą następującej składni:
 nano /etc/fail2ban/jail.local
Tam znajdujemy linię backendu i edytujemy domyślną wartość Auto na systemd:

NotatkaW przypadku Ubuntu czy Debiana ta modyfikacja nie będzie konieczna.

Krok 2
Plik jail.local domyślnie włączy SSH w Debianie i Ubuntu, ale nie w CentOS, więc jeśli chcemy włączyć SSH, dodamy wiersz enabled = true w [sshd]:

4. Jak skonfigurować czasy banów i ponownych prób w systemie Fail2ban Linux?


Dzięki Fail2ban możemy skonfigurować sposób blokowania adresu IP. W tym celu; W tym celu Fail2ban wykorzystuje bantime, findtime i maxretry.

bantimeWskazuje liczbę sekund, w których adres IP pozostanie zablokowany (domyślnie 10 minut).

Znaleźć czasJest to czas między próbami logowania, zanim host zostanie usunięty. (domyślnie 10 min)

maxretryOdnosi się do liczby prób, które należy wykonać przed nałożeniem bana. (domyślnie 3 próby).

5. Jak skonfigurować adresy IP z białej listy w systemie Fail2ban Linux?


Możliwe jest dodanie adresów IP do białej listy Fail2ban (dozwolone). Aby to zrobić, w pliku jail.local musimy odkomentować następujący wiersz:
 ignorowanieip = 127.0.0.1/8 :: 1
Tam możemy wpisać adresy IP, które należy zignorować. Adresy IP muszą być oddzielone spacjami lub przecinkami.

6. Jak tworzyć powiadomienia e-mail w systemie Fail2ban Linux


Ta opcja jest idealna, jeśli chcemy otrzymywać powiadomienia o wszelkich zmianach lub nowościach w ewidencji. Aby to zrobić musimy edytować plik /etc/fail2ban/jail.local, opcje to:

destemailJest to adres e-mail, na który otrzymamy powiadomienie.

Imię nadawcyTo nadawca, którego zobaczymy po odebraniu wiadomości.

NadawcaWskazuje adres e-mail, z którego Fail2ban będzie wysyłać wiadomości e-mail.

Domyślny mta (agent przesyłania poczty) jest skonfigurowany z sendmailem.

Aby otrzymać powiadomienie pocztą, konieczna będzie również zmiana ustawienia „Akcja” w następującym wierszu:

 Akcja =% (działanie_) s
Według następującej konfiguracji:
 akcja =% (action_mw) s akcja =% (action_mwl) s
Zablokuj hosta i wyślij pocztę z raportem whois
 % (działanie_mw) s

Zablokuje hosta, wygeneruje informacje whois i wszystkie istotne informacje z pliku dziennika

 % (action_mwl) s

7. Dodatkowe konfiguracje Fail2ban Linux


Jeśli chcesz skonfigurować więzienie, musisz je włączyć w pliku jail.local. Składnia jest następująca:
 [więzienie]… włączone = prawda
Możemy zobaczyć strukturę więzienia dla SSHD. Fail2ban automatycznie dodaje dodatkowe parametry.

Możliwe będzie również włączenie filtru, dzięki któremu można zidentyfikować, czy linia w rejestrze jest błędem. Wartość filtra to odwołanie do pliku z nazwą usługi, po której następuje .conf. Na przykład możemy użyć

 /etc/fail2ban/filter.d/sshd.conf.
Składnia do użycia to:
 filtr = usługa
Gdy dodajemy więzienia, możemy użyć klienta Fail2ban, aby zobaczyć, które z nich są aktywne na serwerze, w tym celu wykonujemy następujące czynności:
 status klienta fail2ban
Tam zostaną wdrożone, gdy stworzymy te ograniczenia.

Możemy zobaczyć, jak Fail2ban jest praktycznym narzędziem do zwiększania bezpieczeństwa w dystrybucjach Linuksa, unikając nieautoryzowanego dostępu i wszystkiego, co wiąże się ze złymi praktykami, które są wykonywane w organizacji.

wave wave wave wave wave