📒  Zaufanie i bezpieczeństwo

Jak zainstalować i skonfigurować fail2ban na serwerach Linux?

Jakzainstalować fail2ban i skonfigurować go w serwerach Linux (ubuntu / debian) za pomocą fail2ban conf i konfigurując go na ubuntu i instalując fail2ban na swoim serwerze.
Fail2ban może naprawdę chronić i pomagać w bezpieczeństwie serwerów Linux poprzez monitorowanie złośliwej i podejrzanej aktywności, a jednocześnie może banować i blokować adresy IP.
Ważne jest, aby wiedzieć, jak zainstalować fail2ban lub skonfigurować fail2ban poprawnie, aby działał płynnie i bez żadnych problemów na serwerze.

Wymagania:
Debian / Ubuntu
Inne systemy Linux (polecenia konfiguracyjne będą się różnić)

UWAGA: Nie możesz używać fail2ban w hostingu współdzielonym, będziesz musiał korzystać z naszego hostingu VPS lub serwerów dedykowanych od Alexhost, które są najlepszymi usługami do korzystania z niego.

Czym jest Fail2ban?

configure fail2ban

Fail2Ban to aplikacja analizująca logi, która zwiększa bezpieczeństwo serwerów Linux poprzez monitorowanie plików logów pod kątem złośliwej aktywności i automatyczne podejmowanie działań w celu zablokowania adresów IP powiązanych z podejrzanym zachowaniem. Jego głównym celem jest ochrona serwerów przed różnymi rodzajami ataków, zwłaszcza tymi obejmującymi próby uzyskania nieautoryzowanego dostępu metodą brute-force. Ważne jest, aby wiedzieć, jak poprawnie zainstalować fail2ban na swoim serwerze.

Oto jak ogólnie działa Fail2Ban:

  1. Monitorowanie plików dziennika: Fail2Ban stale monitoruje określone pliki dziennika pod kątem wzorców wskazujących na potencjalne zagrożenia bezpieczeństwa. Te pliki dziennika obejmują te związane z próbami uwierzytelnienia, takie jak /var/log/auth.log dla SSH lub /var/log/apache2/error.log dla Apache.
  2. Reguły filtrowania: Fail2Ban wykorzystuje predefiniowane lub skonfigurowane przez użytkownika reguły filtrowania do identyfikacji określonych wzorców we wpisach dziennika. Wzorce te zazwyczaj wskazują na nieudane próby logowania, zgadywanie haseł lub inne podejrzane działania.
  3. Dopasowywanie wzorców: Gdy wpis dziennika pasuje do predefiniowanego wzorca, Fail2Ban liczy go jako “niepowodzenie” lub “dopasowanie” Filtry są zaprojektowane do rozpoznawania typowych wzorców ataków, takich jak powtarzające się nieudane próby logowania z tego samego adresu IP.
  4. Działania zakazujące: Po określonej liczbie pasujących wpisów (skonfigurowanej przez ustawienie maxretry), Fail2Ban podejmuje działania w celu zablokowania obraźliwego adresu IP. Czas trwania bana jest określony przez ustawienie bantime. Ten tymczasowy zakaz pomaga udaremnić zautomatyzowane ataki, utrudniając atakującym uzyskanie dostępu.
  5. Więzienia: Fail2Ban organizuje swoje konfiguracje monitorowania i banowania w jednostki zwane “więzieniami” Każde więzienie odpowiada określonej usłudze lub zestawowi usług. Na przykład może istnieć więzienie dla SSH, inne dla Apache i tak dalej. Konfiguracja każdego więzienia, w tym filtry i ustawienia zakazów, jest zdefiniowana w plikach konfiguracyjnych Fail2Ban.
  6. Status i interakcja: Administratorzy systemu mogą sprawdzać status Fail2Ban, przeglądać zbanowane adresy IP i w razie potrzeby ręcznie odblokowywać adresy. Fail2Ban rejestruje również swoje działania, zapewniając administratorom historię zbanowanych adresów IP i odpowiednich zdarzeń.

Poprzez automatyczne blokowanie adresów IP, które wykazują złośliwe zachowanie, Fail2Ban pomaga chronić serwery przed atakami typu brute-force, zgadywaniem haseł i innymi zagrożeniami bezpieczeństwa. Jest to cenne narzędzie do poprawy ogólnego stanu bezpieczeństwa serwera Linux. Niezbędne jest jednak odpowiednie skonfigurowanie Fail2Ban dla konkretnego środowiska i regularne przeglądanie jego dzienników, aby zapewnić prawidłowe działanie.

### Krok 1: Jak zainstalować Fail2Ban

Otwórz terminal na serwerze Ubuntu lub Debian i uruchom następujące polecenia:

sudo apt update

sudo apt install fail2ban

### Krok 2: Konfiguracja Fail2Ban

  1. Utwórz kopię domyślnego pliku konfiguracyjnego:

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

  1. Otwórz plik `jail.local` w edytorze tekstu. Możesz użyć `nano` lub `vim`:

sudo nano /etc/fail2ban/jail.local

  1. Skonfiguruj podstawowe ustawienia w pliku `jail.local`. Oto kilka typowych opcji:

bantime: Czas (w sekundach), przez jaki IP będzie zbanowane. Domyślnie jest to 10 minut (600 sekund).

findtime: Okno czasowe (w sekundach), w którym musi wystąpić określona liczba niepowodzeń w celu zbanowania.

maxretry: Liczba niepowodzeń dozwolona przed zbanowaniem.

Przykład:

[DEFAULT]

bantime = 600

findtime = 600

maxretry = 3

4. Skonfiguruj filtry dla konkretnych usług, które mają być monitorowane przez Fail2Ban. Filtry są definiowane w pliku `jail.local` w sekcji `[]`. Typowe usługi obejmują SSH (`sshd`), Apache (`apache`) i Nginx (`nginx`).

Przykład dla SSH:

[sshd]

enabled = true

port = ssh

filter = sshd

logpath = /var/log/auth.log

maxretry = 5

Uwaga: Upewnij się, że `port` i `logpath` pasują do konkretnej konfiguracji.

  1. Zapisz plik `jail.local` i zamknij edytor tekstu.

### Krok 3: Restart Fail2Ban

Po wprowadzeniu zmian w konfiguracji, uruchom ponownie Fail2Ban, aby zastosować nowe ustawienia:

sudo systemctl restart fail2ban

### Krok 4: Sprawdź status Fail2Ban

Możesz sprawdzić status Fail2Ban za pomocą:

sudo fail2ban-client status

Powinno to wyświetlić informacje o więzieniach i ich statusie.

### Krok 5: Przetestuj Fail2Ban

Aby sprawdzić, czy Fail2Ban działa, celowo wygeneruj kilka nieudanych prób logowania do monitorowanej usługi (np. SSH). Po osiągnięciu określonej wartości `maxretry`, Fail2Ban powinien zablokować odpowiedni adres IP.

Pamiętaj, aby dostosować te instrukcje w oparciu o konkretny system Ubuntu lub Debian i konfiguracje usług. Zawsze należy brać pod uwagę wpływ ustawień na bezpieczeństwo i regularnie przeglądać dzienniki pod kątem nieoczekiwanych zachowań.

Uwaga: Podczas konfigurowania fail2ban na serwerze nie blokuj portu 22, chyba że jesteś pewien, co robisz, w takim przypadku zablokujesz domyślny port SSH.

Ostrzeżenie: Fail2ban jest doskonałym narzędziem do ochrony serwerów linuksowych, ale musi być skonfigurowany ostrożnie. Aby uniknąć zbanowania, umieść swój adres IP na białej liście i inne adresy IP, które możesz uznać za ważne. Używanie fail2ban i jego niepoprawna konfiguracja może spowodować utratę połączenia z serwerem, dlatego ważne jest, aby wiedzieć, jak zainstalować fail2ban na swoim serwerze (Ubuntu, Debian, CentOS itp.).