Wyszukiwanie w witrynie

Jak zainstalować Fail2Ban, aby chronić SSH na CentOS/RHEL 8


Fail2ban to bezpłatne, szeroko stosowane narzędzie do zapobiegania włamaniom o otwartym kodzie źródłowym, które skanuje pliki dziennika w poszukiwaniu adresów IP, które wykazują złośliwe oznaki, takie jak zbyt wiele niepowodzeń haseł i wiele innych, a także blokuje je (aktualizuje zaporę sieciową zasady odrzucania adresów IP). Domyślnie jest dostarczany z filtrami dla różnych usług, w tym sshd.

Przeczytaj także: Wstępna konfiguracja serwera z CentOS/RHEL 8

W tym artykule wyjaśnimy, jak zainstalować i skonfigurować fail2ban, aby chronić SSH i poprawić bezpieczeństwo serwera SSH przed atakami brute-force na CentOS/RHEL 8.

Instalowanie Fail2ban na CentOS/RHEL 8

Pakiet fail2ban nie znajduje się w oficjalnych repozytoriach, ale jest dostępny w repozytorium EPEL. Po zalogowaniu się do systemu uzyskaj dostęp do interfejsu wiersza poleceń, a następnie włącz repozytorium EPEL w swoim systemie, jak pokazano.

dnf install epel-release
OR
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Następnie zainstaluj pakiet Fail2ban, uruchamiając następujące polecenie.

dnf install fail2ban

Konfigurowanie Fail2ban do ochrony SSH

Pliki konfiguracyjne fail2ban znajdują się w katalogu /etc/fail2ban/, a filtry są przechowywane w katalogu /etc/fail2ban/filter.d/ katalog (plik filtra dla sshd to /etc/fail2ban/filter.d/sshd.conf).

Globalny plik konfiguracyjny dla serwera Fail2ban to /etc/fail2ban/jail.conf, jednak nie zaleca się bezpośredniej modyfikacji tego pliku, gdyż prawdopodobnie zostanie on nadpisany lub poprawiony w przypadku pakietu uaktualnić w przyszłości.

Alternatywnie zaleca się utworzenie i dodanie konfiguracji w pliku jail.local lub oddzielnych plikach .conf w katalogu /etc/fail2ban/jail. d/ katalog. Pamiętaj, że parametry konfiguracyjne ustawione w jail.local zastąpią wszystko, co jest zdefiniowane w jail.conf.

Na potrzeby tego artykułu utworzymy osobny plik o nazwie jail.local w katalogu /etc/fail2ban/, jak pokazano.

vi /etc/fail2ban/jail.local

Po otwarciu pliku skopiuj i wklej w nim poniższą konfigurację. Sekcja [DEFAULT] zawiera opcje globalne, a sekcja [sshd] zawiera parametry więzienia sshd.


[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

Wyjaśnijmy pokrótce opcje w powyższej konfiguracji:

  • ignoreip: określa listę adresów IP lub nazw hostów, które nie mają być blokowane.
  • bantime: określ liczbę sekund, na jaką host jest blokowany (tj. efektywny czas trwania bana).
  • maxretry: określa liczbę błędów, po których host zostanie zbanowany.
  • findtime: fall2ban zbanuje hosta, jeśli wygenerował „maxretry” w ciągu ostatnich sekund „findtime”.
  • banacja: blokowanie akcji.
  • backend: określa backend używany do pobierania modyfikacji pliku dziennika.

Powyższa konfiguracja oznacza zatem, że jeśli adres IP zawiódł 3 razy w ciągu ostatnich 5 minut, należy go zablokować na 6 godzin i zignorować Adres IP 192.168.56.2.

Następnie uruchom i włącz na razie usługę fail2ban i sprawdź, czy działa, używając następującego polecenia systemctl.

systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban

Monitorowanie nieudanego i zablokowanego adresu IP przy użyciu klienta Fail2ban

Po skonfigurowaniu fail2ban w celu zabezpieczenia sshd, możesz monitorować uszkodzone i zbanowane adresy IP za pomocą klienta Fail2ban. Aby wyświetlić bieżący status serwera Fail2ban, uruchom następującą komendę.

fail2ban-client status

Aby monitorować więzienie sshd, uruchom.

fail2ban-client status sshd

Aby odblokować adres IP w Fail2ban (we wszystkich więzieniach i bazach danych), uruchom następującą komendę.

fail2ban-client unban 192.168.56.1

Aby uzyskać więcej informacji na temat Fail2ban, przeczytaj następujące strony podręcznika.

man jail.conf
man fail2ban-client

To podsumowuje ten przewodnik! Jeśli masz jakieś pytania lub przemyślenia, którymi chcesz się podzielić na ten temat, nie wahaj się z nami skontaktować za pośrednictwem poniższego formularza opinii.