Jak zainstalować Fail2ban na Rocky Linux i Almalinux

Jak zainstalować Fail2ban na Rocky Linux i Almalinux

Napisane w Pyton, Fail2ban to darmowe i open source System ochrony przed włamywaczami (IPS), który chroni serwer przed atakami siły brutalnej.

Po określonej liczbie niepoprawnych prób haseł, adres IP klienta jest zakazany dostępu do systemu przez określony okres lub do momentu, gdy administrator systemu go odblokuje. W ten sposób system jest zabezpieczony przed powtarzającymi się atakami brutalnej siły od jednego gospodarza.

[Możesz także polubił: Jak zabezpieczyć i utwardzić serwer OpenSsh]

Fail2ban jest bardzo konfigurowalny i można go skonfigurować, aby zabezpieczyć niezliczone usługi, takie jak Ssh, VSFTPD, Apache, I Webmin.

W tym przewodniku skupiamy się na tym, jak możesz zainstalować i skonfigurować Fail2ban NA Rocky Linux I Almalinux.

Krok 1: Upewnij się, że Firewalld działa

Domyślnie, Skalisty jest wyposażony w bieganie zapory. Jeśli jednak tak nie jest w twoim systemie, zacznij Firewalld Wykonując:

$ sudo systemctl start firewalld 

Następnie włącz go od czasu rozruchu:

$ sudo systemCtl włącz zaporę ogniową 

Następnie zweryfikuj status zapory ogniowej

$ sudo systemctl status firewalld 
Sprawdź status zapory ogniowej

Ponadto możesz potwierdzić wszystkie Firewalld Reguły są obecnie egzekwowane za pomocą polecenia:

$ sudo firewall-cmd-lista-all 
Wymień zasady zapory ogniowej

Krok 2: Zainstaluj EPEL w Rocky Linux

Jako wymóg instalacji Fail2ban i inne wymagane pakiety, musisz zainstalować Epel Repozytorium, które zapewnia dodatkowe pakiety wysokiej jakości dla dystrybucji opartych na RHEL.

$ sudo dnf instaluj epel-uwalnianie 
Zainstaluj EPEL w Rocky Linux

Krok 3: Zainstaluj Fail2ban w Rocky Linux

Z Epel zainstalowane, postępuj i zainstaluj Fail2ban i Fail2ban-Firewalld pakiet.

$ sudo dnf instaluj awarie2ban fail2ban-firewalld 

To instaluje serwer Fail2ban i komponent zapory ogniowej wraz z innymi zależnościami.

Zainstaluj Fail2ban w Rocky Linux

Dzięki instalacji Fail2ban ukończ usługę Upad2ban Service.

$ sudo systemCtl start fail2ban 

I umożliwić, aby zacząć od czasu rozruchu.

$ sudo systemCtl włącza fail2ban 

Możesz zweryfikować status usługi Fail2ban, uruchamiając polecenie:

$ sudo SystemCtl Status Fail2ban 

Wyjście jest potwierdzeniem, że Fail2ban działa, jak byśmy się spodziewali.

Sprawdź status awarii2ban

Krok 4: Konfigurowanie awarii2ban w Rocky Linux

Idąc dalej, musimy skonfigurować Fail2ban, aby działał zgodnie z przeznaczeniem. Idealnie byłoby edytować główny plik konfiguracyjny - /etc/fail2ban/więzienie.conf. Jest to jednak zniechęcone. Jako obejście zapozna się z zawartością więzienia.plik konfiguracyjny conf to więzienie.lokalny plik.

$ sudo cp/etc/fail2ban/więzienie.conf/etc/fail2ban/więzienie.lokalny 

Teraz otwórz więzienie.lokalny Plik za pomocą preferowanego edytora.

$ sudo vim/etc/fail2ban/więzienie.lokalny 

Pod [DOMYŚLNY] sekcja, upewnij się, że masz następujące ustawienia, gdy się pojawiają.

Bantime = 1h FindTime = 1h Maxretry = 5 

Zdefiniujmy atrybuty:

  • Bantime dyrektywa określa czas, w którym klient zostanie zakazany po nieudanych próbach uwierzytelniania.
  • znaleźć czas Dyrektywa to czas trwania lub okres, w którym Fail2ban rozważy przy rozważaniu powtarzających się nieprawidłowych prób haseł.
  • Maxretry Parametr to maksymalna liczba nieprawidłowych prób haseł, zanim zdalny klient zostanie zablokowany dostęp do serwera. Tutaj klient zostanie zablokowany po 5 awariach uwierzytelniania.

Domyślnie Fail2ban współpracuje z IPTables. Zostało to jednak przestarzałe na korzyść zapory. Musimy skonfigurować Fail2ban do pracy wraz z Firewalld zamiast IPTables.

Więc uruchom z poleceniem:

$ sudo mv/etc/fail2ban/więzienie.D/00-Firewalld.conf/etc/fail2ban/więzienie.D/00-Firewalld.lokalny 

Aby zastosować zmiany, ponownie uruchom ponownie 2ban:

$ sudo systemCtl restart fail2ban 

Krok 5: Zabezpieczenie usługi SSH z Fail2ban

Domyślnie Fail2ban nie blokuje żadnego zdalnego hosta, dopóki nie włączysz konfiguracji więzienia dla usługi, którą chcesz zabezpieczyć. Konfiguracja więzienia jest określona w /etc/fail2ban/więzienie.D ścieżka i zastąpi konfigurację określoną w więzieniu.Plik lokalny.

W tym przykładzie utworzymy plik konfiguracyjny więzienia w celu ochrony usługi SSH. Dlatego utwórz plik więzienia SSH.

$ sudo vim/etc/fail2ban/więzienie.D/sshd.lokalny 

Następnie wklej następujące wiersze:

[sshd] enabled = true # Zastąpienie domyślnej konfiguracji globalnej # dla konkretnego więzienia sshd bantime = 1d maxretry = 3 

W powyższej konfiguracji zdalny host zostanie zakazany dostępu do systemu przez 1 dzień po 3 nieudanych próbach logowania SSH. Zapisz zmiany i uruchom ponownie usługi Fail2ban.

$ sudo systemCtl restart fail2ban 

Następnie sprawdź status konfiguracji więzienia za pomocą Fail2ban-Client narzędzie wiersza poleceń.

$ sudo fail2ban-client status 

Ze wyjścia widzimy, że mamy skonfigurowane 1 więzienie dla usługi o nazwie 'Sshd'.

Sprawdź status więzienia awarii2ban

Ponadto możesz potwierdzić Maxretry Wartość więzienia SSHD za pomocą opcji GET.

$ sudo fail2ban-client get sshd maxretry 3 

Wydrukowana wartość 3 powinien pasować do tego, co określiłeś w Sshd.lokalny plik.

Krok 6: Testowanie konfiguracji awarii2ban

Po skonfigurowaniu Fail2ban i utworzeniu pliku konfiguracyjnego więzienia dla usługi SSH, wykonamy test testowy i zasymulować 3 nieudane loginy, określając nieprawidłowe hasło dla każdego wiersza hasła.

Więc przejdź do zdalnego systemu Linux i spróbuj zalogować się za pomocą niewłaściwego hasła. Po 3 nieudanych próbach połączenie zostanie porzucone, a każda kolejna próba ponownego połączenia zostanie zablokowana do momentu upływu czasu zakazu.

Testowanie Fail2ban in Linux

Aby zebrać wgląd w systemy klientów zablokowane, sprawdź status więzienia.

$ sudo fail2ban-client status sshd 
Sprawdź status bloków awarii2ban

Aby unban lub usunąć klienta z więzienia, wykonaj polecenie:

$ sudo fail2ban-client unban 192.168.2.102 

Jeszcze raz sprawdź status więzienia, aby upewnić się, że klient nie jest uwzględniony na zakazanej liście IP.

$ sudo fail2ban-client status sshd 
Sprawdź listę bloków awarii2ban

Jak widzieliśmy, Fail2ban jest bardzo przydatnym narzędziem w odciąganiu intruzów, którzy chcą naruszyć system Linux. Działa w połączeniu z Firewalld w celu zakazania systemów klienta przez określony czas trwania po określonej liczbie nieudanych prób logowania. W ten sposób zapewnia dodatkową warstwę ochrony dla serwera Linux.