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):
- Dopuszczenie ruchu SSH (port 22) z określonego adresu IP:
- Blokada zapytań ICMP echo-request:
sudo firewall-cmd --zone="nazwa_strefy" --add-service=http
sudo firewall-cmd --zone="nazwa_strefy" --add-port=22/tcp --source=192.168.1.100
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:
- Otwórz przeglądarkę i przejdź do: https://your-server-ip:9090
- Zaloguj się, używając danych konta z uprawnieniami sudo.
- W menu nawigacyjnym wybierz „Zapora”.
- Dostosuj ustawienia zapory.
8.2. Użycie Webmin
Aby skonfigurować FirewallD za pomocą Webmin:
- Otwórz przeglądarkę i przejdź do: https://your-server-ip:10000
- Zaloguj się, używając danych konta z uprawnieniami sudo.
- W menu „System” wybierz „Zapora”.
- 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.