Jak skonfigurować zaporę ogniową za pomocą firewalld w Rocky Linux 9

FirewallD, oparty na usłudze demon, to zaawansowane narzędzie do dynamicznego zarządzania regułami bezpieczeństwa w środowiskach Linux. W systemie Rocky Linux 9 pełni rolę domyślnej zapory, oferując szeroki zakres opcji dostosowywania, które zaspokoją różnorodne potrzeby w zakresie ochrony. Niniejszy artykuł krok po kroku przeprowadzi Cię przez proces konfiguracji FirewallD na Twoim Rocky Linux 9, dostarczając wyczerpujących instrukcji i praktycznych wskazówek.

1. Weryfikacja statusu zapory

Zanim rozpoczniesz dostosowywanie konfiguracji FirewallD, warto upewnić się, czy zapora działa prawidłowo. Sprawdź jej aktualny status, korzystając z poniższego polecenia w terminalu:

sudo systemctl status firewalld

Oczekiwany rezultat powinien dostarczyć informacji o bieżącym stanie usługi. Na przykład:


● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since śr 2023-03-08 13:02:00 CET; 1h 4min ago

Jeśli usługa nie jest włączona, możesz ją aktywować za pomocą poniższego polecenia:

sudo systemctl start firewalld

2. Wycofywanie zmian i aktualizacja reguł

Jeżeli chcesz przywrócić domyślną konfigurację zapory, użyj komendy:

sudo firewall-cmd --reload

W celu zaaplikowania nowych reguł w systemach opartych na systemd, takich jak Rocky Linux 9, skorzystaj z polecenia:

sudo systemctl reload firewalld

3. Zarządzanie strefami bezpieczeństwa

Strefy w FirewallD reprezentują różne poziomy zaufania sieciowego i służą do porządkowania reguł. Domyślnie dostępne są trzy strefy:

  • public – przeznaczona dla sieci publicznych, takich jak Internet
  • internal – stosowana w sieciach wewnętrznych, na przykład LAN lub intranet
  • dmz – strefa zdemilitaryzowana, pośrednicząca między siecią publiczną i wewnętrzną

Aby przejrzeć listę zdefiniowanych stref, użyj:

sudo firewall-cmd --get-zones

Dodanie nowej strefy odbywa się za pomocą komendy:

sudo firewall-cmd --new-zone="nazwa_strefy"

Usuwanie strefy:

sudo firewall-cmd --delete-zone="nazwa_strefy"

3.1. Przypisywanie interfejsów sieciowych do stref

W celu zastosowania reguł zapory do interfejsów sieciowych, musisz przypisać je do odpowiednich stref. Dokonasz tego następującą komendą:

sudo firewall-cmd --zone="nazwa_strefy" --add-interface="nazwa_interfejsu"

Aby usunąć interfejs ze strefy, wpisz:

sudo firewall-cmd --zone="nazwa_strefy" --remove-interface="nazwa_interfejsu"

4. Konfigurowanie reguł zapory

Reguły definiują, które połączenia są dozwolone, a które blokowane. Przykładowa reguła dopuszczająca ruch TCP na porcie 80:

sudo firewall-cmd --zone="nazwa_strefy" --add-port=80/tcp

Usuwanie reguły:

sudo firewall-cmd --zone="nazwa_strefy" --remove-port=80/tcp

4.1. Zaawansowane opcje reguł

FirewallD oferuje zaawansowane opcje w tworzeniu reguł, w tym:

  • --source – specyfikacja adresu IP lub zakresu adresów źródłowych
  • --destination – specyfikacja adresu IP lub zakresu adresów docelowych
  • --protocol – określenie protokołu, np. tcp, udp
  • --icmp-block – blokowanie określonych typów komunikatów ICMP, np. echo-request

4.2. Przykłady konfiguracji reguł

Kilka przykładów praktycznych reguł:

  • Dopuszczenie ruchu HTTP (port 80):
  • sudo firewall-cmd --zone="nazwa_strefy" --add-service=http

  • Dopuszczenie ruchu SSH (port 22) z określonego adresu IP:
  • sudo firewall-cmd --zone="nazwa_strefy" --add-port=22/tcp --source=192.168.1.100

  • Blokada zapytań ICMP echo-request:
  • sudo firewall-cmd --zone="nazwa_strefy" --add-icmp-block=echo-request

5. Konfiguracja NAT (MASQUERADING)

MASQUERADING to technika, która ukrywa adresy IP urządzeń w sieci lokalnej, zastępując je pojedynczym adresem. Jest to kluczowe dla zapewnienia dostępu do Internetu w przypadku korzystania z NAT.

Włączenie MASQUERADING dla wybranego interfejsu:

sudo firewall-cmd --zone="nazwa_strefy" --add-masquerade

Wyłączenie MASQUERADING:

sudo firewall-cmd --zone="nazwa_strefy" --remove-masquerade

6. Zarządzanie usługami

Usługi w FirewallD są związane z określonymi portami i umożliwiają ich łatwe włączanie i wyłączanie.

Włączenie usługi HTTP:

sudo firewall-cmd --permanent --add-service=http

Wyłączenie usługi HTTP:

sudo firewall-cmd --permanent --remove-service=http

6.1. Popularne usługi

Przykłady usług i ich domyślnych portów:

HTTP Port 80
HTTPS Port 443
SSH Port 22
FTP Port 21

7. Zapisywanie i przywracanie konfiguracji

Aby trwale zapisać aktualne ustawienia zapory:

sudo firewall-cmd --runtime-to-permanent

Aby przywrócić zapisaną konfigurację:

sudo firewall-cmd --reload

8. Konfiguracja graficzna

Oprócz linii komend, FirewallD można konfigurować za pomocą interfejsów graficznych takich jak Cockpit lub Webmin.

8.1. Użycie Cockpit

Aby skonfigurować FirewallD za pomocą Cockpit:

  1. Otwórz przeglądarkę i przejdź do: https://your-server-ip:9090
  2. Zaloguj się, używając danych konta z uprawnieniami sudo.
  3. W menu nawigacyjnym wybierz „Zapora”.
  4. Dostosuj ustawienia zapory.

8.2. Użycie Webmin

Aby skonfigurować FirewallD za pomocą Webmin:

  1. Otwórz przeglądarkę i przejdź do: https://your-server-ip:10000
  2. Zaloguj się, używając danych konta z uprawnieniami sudo.
  3. W menu „System” wybierz „Zapora”.
  4. Dostosuj ustawienia zapory.

Podsumowanie

FirewallD to wszechstronne i konfigurowalne narzędzie do ochrony systemów Rocky Linux 9. W tym artykule przedstawiliśmy szczegółowe instrukcje, które pozwolą Ci efektywnie zarządzać zaporą, począwszy od zarządzania strefami i regułami, a skończywszy na zaawansowanych opcjach konfiguracji.