Jak chronić SSH za pomocą Fail2Ban w Rocky Linux 9

Photo of author

By maciekx

Fail2Ban to bezpłatne oprogramowanie typu open source, które służy do monitorowania i blokowania podejrzanych prób uwierzytelniania. Zapewnia istotną ochronę przed atakami siłowymi i innymi zagrożeniami. Ten przewodnik krok po kroku pokaże, jak zainstalować i skonfigurować Fail2Ban w systemie Rocky Linux 9, aby zabezpieczyć dostęp do serwera przez SSH.

Wprowadzenie do Fail2Ban

Mechanizm działania Fail2Ban polega na analizie logów systemowych w poszukiwaniu podejrzanych wzorców aktywności. W momencie wykrycia określonej liczby nieudanych prób logowania lub innych nieprawidłowości, automatycznie blokuje adres IP sprawcy na zdefiniowany czas. Taka strategia skutecznie utrudnia hakerom wykorzystanie serwera jako celu ataków.

Proces Instalacji Fail2Ban

Rozpocznij od odświeżenia listy pakietów w systemie:

dnf update

Następnie zainstaluj Fail2Ban, używając następującej komendy:

dnf install fail2ban

Po pomyślnej instalacji, aktywuj i uruchom usługę Fail2Ban:

systemctl enable fail2ban
systemctl start fail2ban

Konfiguracja Fail2Ban

Ustawienia Fail2Ban znajdują się w pliku /etc/fail2ban/jail.conf. Otwórz go w preferowanym edytorze tekstu:

nano /etc/fail2ban/jail.conf

Odszukaj sekcję [DEFAULT] i zmodyfikuj poniższe parametry:

  • ignoreip: Dodaj adresy IP, które mają być wyłączone z monitorowania. W szczególności dodaj swój adres IP oraz adresy zaufanych komputerów.
  • bantime: Ustal okres blokady adresu IP, który domyślnie wynosi 10 minut.
  • findtime: Zdefiniuj czas, w którym Fail2Ban analizuje logi w poszukiwaniu podejrzanych aktywności przed zablokowaniem adresu IP (domyślnie 10 minut).
  • maxretry: Ustal maksymalną liczbę nieudanych prób logowania przed blokadą adresu IP (domyślnie 5).

Przejdź do sekcji [ssh] i wprowadź zmiany w poniższych ustawieniach:

  • enabled: Ustaw na true, aby włączyć ochronę SSH.
  • port: Wpisz port używany przez serwer SSH (domyślnie 22).
  • logpath: Podaj ścieżkę do pliku z logami SSH (domyślnie /var/log/secure).

Personalizacja Zasad Blokowania

Fail2Ban domyślnie posiada reguły blokowania dla SSH, które można dostosować do indywidualnych potrzeb. Możesz na przykład modyfikować progi nieudanych prób logowania, które powodują blokadę, a także dodawać inne klauzule.

Aby zmodyfikować reguły blokowania, otwórz plik /etc/fail2ban/filter.d/ssh.conf w edytorze:

nano /etc/fail2ban/filter.d/ssh.conf

W tym pliku znajdują się wzorce blokowania dla SSH. Możesz je swobodnie zmieniać, dodawać lub usuwać.

Dodatkowe Opcje Konfiguracji

Konfigurację Fail2Ban można dodatkowo dostroić poprzez edycję pliku /etc/fail2ban/fail2ban.conf. Niektóre z istotnych opcji to:

  • action: Określa akcję wykonywaną po zablokowaniu adresu IP, np. iptables-multiport.
  • banaction: Określa akcję, która jest wykonywana w momencie zablokowania adresu IP, np. iptables-multiport-all.
  • email: Ustawia adres e-mail, na który wysyłane są powiadomienia o zablokowanych adresach IP (domyślnie nie ustawiony).

Szczegółowe informacje o opcjach konfiguracyjnych znajdziesz w pliku /etc/fail2ban/fail2ban.conf.

Restartowanie Usługi Fail2Ban

Po wprowadzeniu zmian w konfiguracji, należy ponownie uruchomić usługę Fail2Ban, aby zmiany zostały zastosowane:

systemctl restart fail2ban

Weryfikacja Blokad

Aby sprawdzić, czy Fail2Ban poprawnie blokuje adresy IP, użyj polecenia fail2ban-client:

fail2ban-client status ssh

W odpowiedzi powinna pojawić się lista zablokowanych adresów IP.

Podsumowanie

Zastosowanie Fail2Ban do ochrony SSH na Rocky Linux 9 jest prostym i skutecznym sposobem na zwiększenie poziomu bezpieczeństwa serwera. Program automatycznie monitoruje podejrzaną aktywność i odcina dostęp adresom IP, z których podejmowane są próby nieautoryzowanego dostępu. Dodatkowe ustawienia umożliwiają dostosowanie działania Fail2Ban do konkretnych potrzeb.

Najczęściej Zadawane Pytania

1. Czy Fail2Ban chroni również inne usługi niż SSH?

Tak, Fail2Ban jest elastyczny i może być skonfigurowany do ochrony różnych usług, w tym FTP, SMTP, serwerów HTTP (np. Apache) i wielu innych.

2. Co oznacza akcja „iptables-multiport”?

Akcja „iptables-multiport” wykorzystuje program iptables do blokowania adresu IP na wszystkich portach.

3. Jak skonfigurować powiadomienia e-mail o zablokowanych adresach IP?

Aby skonfigurować powiadomienia e-mail, otwórz plik /etc/fail2ban/fail2ban.conf i ustaw wartość parametru „email” na adres, na który chcesz otrzymywać powiadomienia.

4. Jak długo adresy IP pozostają zablokowane przez Fail2Ban?

Standardowo adres IP jest blokowany na 10 minut, ale ten czas można modyfikować, zmieniając wartość parametru „bantime” w pliku /etc/fail2ban/jail.conf.

5. Czy można blokować próby logowania z określonych krajów za pomocą Fail2Ban?

Tak, można zablokować próby logowania z określonych krajów poprzez wykorzystanie opcji „geoip” w pliku /etc/fail2ban/jail.conf.

6. Jak wyłączyć działanie Fail2Ban?

Aby wyłączyć Fail2Ban, wykonaj komendy systemctl disable fail2ban oraz systemctl stop fail2ban.

7. Czy Fail2Ban może blokować prawidłowy dostęp?

Niestety tak, Fail2Ban może czasami blokować legalnych użytkowników, szczególnie jeśli korzystają oni z dynamicznych adresów IP. Możesz temu zapobiec, dodając adresy IP tych użytkowników do listy ignorowanych adresów w pliku /etc/fail2ban/jail.conf.

8. Jak zaktualizować bazy danych IP w Fail2Ban?

Fail2Ban aktualizuje bazy danych IP automatycznie. Możesz też ręcznie zainicjować aktualizację, wpisując komendę fail2ban-client -v.

9. Gdzie można zgłaszać błędy związane z Fail2Ban?

Błędy w działaniu Fail2Ban możesz zgłaszać bezpośrednio na stronie projektu w serwisie GitHub: https://github.com/fail2ban/fail2ban/

10. Gdzie znajdę więcej informacji o Fail2Ban?

Więcej informacji o Fail2Ban znajdziesz na oficjalnej stronie dokumentacji projektu: https://www.fail2ban.org/wiki/index.php/Main_Page


newsblog.pl