Jak skonfigurować zaporę ogniową w dystrybucjach opartych na RHEL

Jak skonfigurować zaporę ogniową w dystrybucjach opartych na RHEL

Filtr Net Jak wszyscy wiemy, to zapora ogniowa w Linux. Firewalld to dynamiczny demon do zarządzania zaporami ogniowymi z obsługą stref sieciowych. We wcześniejszej wersji, Rhel I Centos Używamy iptables jako demona do frameworku filtrowania pakietów.

W nowszych wersjach dystrybucji opartych na RHEL, takich jak Fedora, Rocky Linux, Centos Stream, Almalinux, I OpenSuse - iptables interfejs jest zastępowany przez Firewalld.

[Może się również polubił: 10 przydatnych zaporników bezpieczeństwa open source dla systemów Linux]

Zaleca się zacząć używać Firewalld zamiast iptables ponieważ może to przerwać w przyszłości. Jednakże, iptables są nadal obsługiwane i można je zainstalować za pomocą polecenia Yum. Nie możemy zatrzymać Firewalld I iptables oba w tym samym systemie, który może prowadzić do konfliktu.

W iptables, Kiedyś konfigurowaliśmy jako WEJŚCIE, WYJŚCIE I Łańcuchy do przodu Ale tutaj Firewalld, Koncepcja używa Strefy. Domyślnie dostępne są różne strefy Firewalld, które zostaną omówione w tym artykule.

Strefa podstawowa które są jak strefa publiczna I strefa prywatna. Aby wszystko zadziałało z tymi strefami, musimy dodać interfejs z określoną obsługą strefy, a następnie możemy dodać usługi do Firewalld.

Domyślnie dostępnych jest wiele usług, jedna z najlepszych funkcji Firewalld IS, jest wyposażony w wcześniej określone usługi i możemy uznać te usługi jako przykład, aby dodać nasze usługi, po prostu ich kopiując.

Firewalld Działa świetnie z IPv4, IPv6, I Mosty Ethernet zbyt. Możemy mieć osobną konfigurację czasu wykonywania i stałą w Firewalld.

Zacznijmy od pracy ze strefami i tworzyć własne usługi i znacznie bardziej ekscytujące użycie Firewalld w Linux.

Nasze środowisko testowe

System operacyjny : Red Hat Enterprise Linux Wydanie 9.0 (pług) Adres IP : 192.168.0.159 Nazwa hosta : Tecmint-Rhel9 
System testowy RHEL 9

Krok 1: Instalowanie zapory w systemach opartych na RHEL

1. Firewalld pakiet jest domyślnie zainstalowany w Rhel, Fedora, Rocky Linux, Centos Stream, Almalinux, I OpenSuse. Jeśli nie, możesz go zainstalować za pomocą następujące polecenie Yum.

# mniam instaluj zaporę ogniową -y 
Zainstaluj zaporę ogniową w Linux

2. Po Firewalld Pakiet został zainstalowany, czas sprawdzić, czy iptables Usługa działa, czy nie, jeśli działa, musisz zatrzymać i maskować (już nie używać) iptables Usługa z poniższymi poleceniami.

# SystemCtl Status IPTABLES # Systemctl Stop IPTABABLE # Systemctl Mask IPTABLES 
Wyłącz iptables w Linux

Krok 2: Zrozumienie komponentów zapory ogniowej (strefy i zasady)

3. Przed udaniem się Firewalld konfiguracja chciałbym omówić każde strefy. Domyślnie dostępne są niektóre strefy. Musimy przypisać interfejs do strefy. Strefa definiuje strefę, której zaufano lub odmówiono poziomu interfejsu, aby uzyskać połączenie. Strefa może zawierać usługi i porty.

Tutaj opiszemy każde strefy dostępne w Firewalld.

  • Strefa zrzutu: Wszelkie pakiety przychodzące są upuszczane, jeśli użyjemy strefy upuszczenia. To jest to samo, co używamy do dodania IPTABLES -J DROP. Jeśli użyjemy reguły upuszczenia, oznacza to, że nie ma odpowiedzi, dostępne będą tylko połączenia sieciowe wychodzące.
  • Strefa blokująca: Strefa blokowa zaprzeczy, że przychodzące połączenia sieciowe są odrzucane za pomocą produkowanego ICMP-Host. Dozwolone będą tylko ustalone połączenia na serwerze.
  • Strefa publiczna: Aby zaakceptować wybrane połączenia, możemy zdefiniować zasady w strefie publicznej. Umożliwi to tylko otwarcie określonego portu na naszym serwerze Inne połączenia zostaną upuszczone.
  • Strefa zewnętrzna: Ta strefa będzie działać jako opcje routera z masqueradingiem, które można włączyć, inne połączenia zostaną upuszczone i nie będą akceptować, a tylko określone połączenia będą dozwolone.
  • Strefa DMZ: Jeśli musimy umożliwić dostęp do niektórych usług dla publiczności, możesz zdefiniować to w strefie DMZ. To także ma funkcję akceptowanych tylko wybranych połączeń przychodzących.
  • Strefa pracy: W tej strefie możemy zdefiniować tylko sieci wewnętrzne I.mi. Dozwolony jest ruch sieci prywatnych.
  • Strefa domu: Ta strefa jest specjalnie używana w obszarach domowych, możemy użyć tej strefy, aby zaufać innym komputerom w sieciach, aby nie zaszkodzić komputera, jak w każdej strefie. To także pozwala tylko na wybrane połączenia przychodzące.
  • Strefa wewnętrzna: Ten jest podobny do strefy pracy z wybranymi dozwolonymi połączeniami.
  • Zaufana strefa: Jeśli ustawimy strefę zaufaną, cały ruch jest akceptowany.

Teraz masz lepszy pomysł na temat stref, teraz znajdźmy dostępne strefy i strefy domyślne i wymieńmy wszystkie strefy za pomocą następujących poleceń.

Wymień strefy zapory ogniowej

# Firewall-CMD-Get-Streny 
Lista dostępnych stref zapory ogniowej

Lista strefy domyślnej Firewalld

# Firewall-CMD-Get-Default-Zone 
Lista strefy domyślnej Firewalld

Wymień wszystkie strefy zapory ogniowej

# Firewall-CMD-List-All-Streny 
Wymień strefy zapory ogniowej

Notatka: Wyjście powyższego polecenia nie zmieści się na jednej stronie, ponieważ będzie to wymienione każde strefy, takie jak Block, DMZ, Drop, zewnętrzne, dom, wewnętrzne, publiczne, zaufane i praca. Jeśli strefy mają jakieś bogate zasady, włączone usługi lub porty będą również wymienione z odpowiednimi informacjami o strefie.

Krok 3: Ustawienie domyślnej strefy zapory ogniowej

4. Jeśli chcesz ustawić strefę domyślną jako wewnętrzną, zewnętrzną, upuszczoną, pracą lub jakąkolwiek inną strefą, możesz użyć poniższej komendy, aby ustawić strefę domyślną. Tutaj używamy „wewnętrzny„Strefa jako domyślna.

# Firewall-CMD-SET-Default-Zone = wewnętrzny 

5. Po ustawieniu strefy zweryfikuj strefę domyślną za pomocą poniższego polecenia.

# Firewall-CMD-Get-Default-Zone 
Ustaw domyślną strefę zapory ogniowej

6. Tutaj nasz interfejs to ENP0S3, Jeśli musimy sprawdzić strefę, w której ograniczony jest interfejs, możemy użyć poniższego polecenia.

# Firewall-CMD-GEGE-Zone-of-Offace = ENP0S3 
Sprawdź strefa zapory sieciowej interfejsu sieciowego

7. Kolejną interesującą cechą Firewalld jest 'icmptype„jest jednym z typów ICMP obsługiwanych przez zaporę ogniową. Aby uzyskać listę obsługiwanych typów ICMP, możemy użyć poniższego polecenia.

# Firewall-Cmd-Get-icmppes 
Lista typów ICMP Firewalld

Krok 4: Tworzenie własnych usług w Firewalld

8. Usługi to zestaw reguł z portów i opcji, które są używane przez Firewalld. Usługi, które są włączone, zostaną automatycznie załadowane, gdy Firewalld Usługa jest uruchomiona.

Domyślnie dostępnych jest wiele usług, aby uzyskać listę wszystkich dostępnych usług, użyj następującego polecenia.

# Firewall-CMD-Get-Services 
Wymień usługi zapory ogniowej

9. Aby uzyskać listę wszystkich dostępnych usług domyślnych, przejdź do następującego katalogu, tutaj otrzymasz listę usług.

# cd/usr/lib/firewalld/usługi/ 
Wypisz domyślne usługi zapory ogniowej

10. Aby stworzyć własną usługę, musisz ją zdefiniować w następującej lokalizacji. Na przykład tutaj chcę dodać usługę RTMP Port 1935, Najpierw wykonaj kopię dowolnej usługi.

# cd/etc/firewalld/usługi/ # cp/usr/lib/firewalld/services/ssh.xml/etc/firewalld/services/ 

A następnie przejdź do miejsca, w którym skopiowano nasz plik serwisowy, następnie zmień nazwę pliku ”ssh.XML' Do 'RTMP.XML„Jak pokazano na poniższym zdjęciu.

# cd/etc/firewalld/usługi/ # mv ssh.XML RTMP.xml # ls -l rtmp.XML 
Twórz usługi w Firewalld

11. Następnie otwórz i edytuj plik jako Nagłówek, Opis, Protokół, I Port liczba, której musimy użyć dla RTMP usługa, jak pokazano na poniższym zdjęciu.

Skonfiguruj usługę zapory ogniowej

12. Aby wprowadzić te zmiany, uruchom ponownie usługę zapory lub ponownie załaduj ustawienia.

# Firewall-CMD--RELOOD 

13. Aby potwierdzić, niezależnie od tego, czy usługa jest dodawana, czy nie, uruchom poniższe polecenie, aby uzyskać dostęp do listy usług.

# Firewall-CMD-Get-Services 
Potwierdź dodaną usługę w zaporze

Krok 5: Przypisywanie usług do stref zapory

14. Tutaj zobaczymy, jak zarządzać zaporą za pomocą polecenia Firewall-CMD. Aby poznać obecny stan zapory ogniowej i wszystkie strefy aktywne, wpisz następujące polecenie.

# Firewall-CMD --state # Firewall-CMD-Get-Active-Zones 
Sprawdź status zapory ogniowej

15. Aby uzyskać strefę publiczną dla interfejsu ENP0S3, Jest to domyślny interfejs, który jest zdefiniowany w /etc/firewalld/firewalld.conf plik jako DefaultZone = publiczne.

Aby wymienić wszystkie dostępne usługi w tej domyślnej strefie interfejsu.

# Firewall-CMD-Get-Service 
Wymień usługi zapory ogniowej

Krok 6: Dodawanie usług do stref zapory

16. W powyższych przykładach widzieliśmy, jak tworzyć własne usługi, tworząc RTMP usługa, zobaczymy, jak dodać RTMP Obsługa również strefy.

# Firewall-Cmd --add-Service = RTMP 

17. Aby usunąć dodaną strefę, wpisz.

# Firewall-CMD-Zone = public--Remove-Service = RTMP 

Powyższy krok był tylko okresem tymczasowym. Aby było to stałe, musimy uruchomić poniższe polecenie z opcją -stały.

# firewall-cmd --add-service = rtmp --Permanent # firewall-cmd--relad 

18. Zdefiniuj reguły dla sieci źródła sieci i otwórz dowolny z portów. Na przykład, jeśli chcesz otworzyć zasięg sieci, powiedzmy192.168.0.0/24„I port”1935„Użyj następujących poleceń.

# Firewall-CMD --Permanent --add-source = 192.168.0.0/24 # Firewall-CMD --Permanent --add-port = 1935/tcp 

Pamiętaj, aby ponownie załadować usługę zapory po dodaniu lub usunięciu jakichkolwiek usług lub portów.

# Firewall-CMD--RELOOD # Firewall-CMD-List-All 
Dodaj usługi do Firewalld

Krok 7: Dodanie bogatych zasad zapory dla zasięgu sieciowego

19. Jeśli chcę zezwolić na takie usługi, jak HTTP, HTTPS, VNC-Server i PostgreSQL, używam następujących zasad. Najpierw dodaj regułę i uczyń ją na stałe i ponownie załaduj reguły i sprawdź status.

# Firewall-Cmd --add-Rich-Rule „Reguła Family =" IPv4 "Adres źródłowy =" 192.168.0.0/24 "Nazwa usługi =" http "Akceptuj ' # Firewall-CMD --add-Rich-Rule„ Reguła Family = "IPv4" Adres źródłowy = "192.168.0.0/24 "Nazwa usługi =" http "akceptuj '--Permanent # firewall-cmd --add-rich-rule„ reguła family = "ipv4" adres źródłowy = "192.168.0.0/24 "Nazwa usługi =" https "Akceptuj ' # firewall-cmd --add-rich-rule„ reguła Family = "IPv4" Adres źródłowy = "192.168.0.0/24 "Nazwa usługi =" https "akceptuj '--Permanent # firewall-cmd --add-rich-rule„ reguła family = "ipv4" adres źródłowy = "192.168.0.0/24 "Nazwa usługi =" vnc-server "Accept ' # firewall-cmd --add-rich-rule„ reguła family = "ipv4" adres źródłowy = "192.168.0.0/24 "Nazwa usługi =" VNC-SERVER "ACAME '--Permanent # Firewall-Cmd --add-Rich-Rule„ Reguła Family = "IPv4" Adres źródłowy = "192.168.0.0/24 "Nazwa usługi =" postgresql "Akceptuj ' # Firewall-CMD --add-Rich-Rule„ Reguła Family = "IPv4" Adres źródłowy = "192.168.0.0/24 "Nazwa usługi =" postgresql "akceptuj '--Permanent 

Teraz zasięg sieci 192.168.0.0/24 może korzystać z powyższej usługi z mojego serwera. Opcja -stały Może być używane w każdej regule, ale musimy zdefiniować regułę i sprawdzić dostęp do klienta.

20. Po dodaniu powyższych zasad nie zapomnij ponownie załadować reguł zapory i wymienić reguły za pomocą:

# Firewall-CMD--RELOOD # Firewall-CMD-List-All 
Wymień wszystkie aktywne zasady zapory ogniowej

Aby dowiedzieć się więcej o Firewalld.

# Man Firewalld 

To wszystko, widzieliśmy, jak skonfigurować Filtr Net za pomocą Firewalld w dystrybucjach opartych na REL, takich jak Fedora, Rocky Linux, Centos Stream, Almalinux, I OpenSuse.

Wniosek

Filtr Net to ramy dla zapory dla każdego rozkładu Linuksa. W każdym Rhel I Centos Wydanie, użyliśmy iptables Ale w nowszych wersjach wprowadzili Firewalld. Łatwiej jest zrozumieć i użyć zapory ogniowej. Mam nadzieję, że podobał Ci się napis.