So konfigurieren Sie Firewalld in rhelbasierten Verteilungen

So konfigurieren Sie Firewalld in rhelbasierten Verteilungen

Netzfilter Wie wir alle wissen, ist es eine Firewall in Linux. Firewall ist ein dynamischer Daemon, um Firewalls mit Unterstützung für Netzwerkzonen zu verwalten. In der früheren Version, Rhel & Centos Wir haben Iptables als Daemon für das Framework für Paketfilter verwendet.

In neueren Versionen von rhelbasierten Verteilungen wie z Fedora, Rocky Linux, CentOS Stream, Almalinux, Und OpenSuse - Die iptables Die Schnittstelle wird durch ersetzt durch Firewall.

[Möglicherweise mögen Sie auch: 10 nützliche Open -Source -Sicherheits -Firewalls für Linux -Systeme]

Es wird empfohlen, mit der Verwendung zu beginnen Firewall anstatt iptables Da kann dies in Zukunft einstellen. Jedoch, iptables werden noch unterstützt und können mit dem Yum -Befehl installiert werden. Wir können nicht behalten Firewall Und iptables beide im selben System, was zu Konflikten führen kann.

In iptables, Früher haben wir als konfiguriert als EINGANG, AUSGANG & Vorwärtsketten Aber hier in Firewall, Das Konzept verwendet Zonen. Standardmäßig sind verschiedene Zonen in verfügbaren Zonen verfügbar Firewall, die in diesem Artikel erörtert werden.

Der Grundzone welche sind öffentliche Zone Und Privatzone. Damit die Dinge mit diesen Zonen zusammenarbeiten können, müssen wir die Schnittstelle zur Unterstützung der angegebenen Zonen hinzufügen, und dann können wir die Dienste hinzufügen Firewall.

Standardmäßig stehen viele Dienste zur Verfügung, eine der besten Funktionen von Firewall IS, es wird mit vordefinierten Diensten geliefert und wir können diese Dienste als Beispiel für unsere Dienste annehmen, indem wir sie einfach kopieren.

Firewall Funktioniert hervorragend mit IPv4, IPv6, Und Ethernetbrücken zu. Wir können eine separate Laufzeit und eine dauerhafte Konfiguration in der Firewall haben.

Lassen Sie uns beginnen, wie man mit Zonen arbeitet und unsere eigenen Dienste und viel aufregender nutzt Firewall unter Linux.

Unsere Testumgebung

Betriebssystem : Red Hat Enterprise Linux Release 9.0 (Pflug) IP Adresse : 192.168.0.159 Hostname : Tecmint-Rhel9 
Rhel 9 Testsystem

Schritt 1: Installation von Firewalld in rhelbasierten Systemen

1. Firewall Das Paket ist standardmäßig in installiert Rhel, Fedora, Rocky Linux, CentOS Stream, Almalinux, Und OpenSuse. Wenn nicht, können Sie es mit dem folgenden Yum -Befehl installieren.

# yum installieren Sie Firewalld -y 
Installieren Sie Firewalld unter Linux

2. Nach dem Firewall Das Paket wurde installiert. Es ist an der Zeit zu überprüfen, ob die iptables Der Service wird ausgeführt oder nicht, wenn Sie ausgeführt werden, müssen Sie anhalten und maskieren (nicht mehr verwenden) die iptables Service mit den folgenden Befehlen.

# Systemctl Status iptables # SystemCTL STOP IPTables # SystemCTL Mask Iptables 
Deaktivieren Sie Iptables unter Linux

Schritt 2: Verständnis von Firewalld -Komponenten (Zonen und Regeln)

3. Bevor Sie sich auf den Weg machen für Firewall Konfiguration möchte jede Zonen diskutieren. Standardmäßig sind einige Zonen verfügbar. Wir müssen der Zone die Schnittstelle zuweisen. Eine Zone definiert die Zone, die der Schnittstelle vertrauen oder verweigert wurde, um eine Verbindung zu erhalten. Eine Zone kann Dienste und Ports enthalten.

Hier beschreiben wir alle verfügbaren Zonen in Firewall.

  • Abwurfgebiet: Alle eingehenden Pakete werden fallen gelassen, wenn wir eine Tropfenzone verwenden. Dies ist dasselbe wie wir es hinzufügen iptables -J Drop. Wenn wir die Drop -Regel verwenden, heißt es, dass es keine Antwort gibt, sind nur ausgehende Netzwerkverbindungen verfügbar.
  • Blockzone: Die Blockzone verweigert, dass die eingehenden Netzwerkverbindungen mit einem ICMP-Host-prohibierten abgelehnt werden. Nur etablierte Verbindungen innerhalb des Servers sind zulässig.
  • Öffentliche Zone: Um die ausgewählten Verbindungen zu akzeptieren, können wir Regeln in der öffentlichen Zone definieren. Dadurch kann der spezifische Port nur auf unserem Server geöffnet werden. Andere Verbindungen werden fallen gelassen.
  • Außenzone: Diese Zone fungiert als Routeroptionen mit Maskerading ist aktiviert. Andere Verbindungen werden fallen gelassen und werden nicht akzeptiert, und nur bestimmte Verbindungen sind zulässig.
  • DMZ -Zone: Wenn wir den Zugang zu einigen der Dienste für die Öffentlichkeit zulassen müssen, können Sie ihn in der DMZ -Zone definieren. Auch dies hat die Funktion, dass nur ausgewählte eingehende Verbindungen akzeptiert werden.
  • Arbeitszone: In dieser Zone können wir nur interne Netzwerke definieren i.e. Der private Netzwerkverkehr ist erlaubt.
  • Heimzone: Diese Zone wird speziell in Heimatgebieten verwendet. Wir können diese Zone nutzen, um den anderen Computern in Netzwerken zu vertrauen, um Ihrem Computer nicht wie in jeder Zone zu schädigen. Dies ermöglicht auch nur die ausgewählten eingehenden Verbindungen.
  • Interne Zone: Dieser ähnelt der Arbeitszone mit ausgewählten zulässigen Verbindungen.
  • Vertrauenswürdige Zone: Wenn wir die vertrauenswürdige Zone festlegen, wird der gesamte Verkehr akzeptiert.

Jetzt haben Sie eine bessere Vorstellung von Zonen, jetzt finden wir verfügbare Zonen und Standardzonen und listen alle Zonen mit den folgenden Befehlen auf.

Listen Sie Firewall -Zonen auf

# Firewall-CMD-GET-Zonen 
Listen Sie verfügbare Firewall -Zonen auf

Listen Sie die Firewall -Standardzone auf

# Firewall-CMD --Get-Default-Zone 
Listen Sie die Firewall -Standardzone auf

Listen Sie alle Firewall -Zonen auf

# Firewall-CMD-List-All-Zones 
Listen Sie Firewall -Zonen auf

Notiz: Die Ausgabe des obigen Befehls passt nicht in eine einzelne Seite, da auf diese alle Zonen wie Block, DMZ, Drop, External, Home, Intern, öffentlich, vertrauenswürdig und Arbeit aufgeführt sind. Wenn die Zonen reichhaltige Regeln haben, werden auch aktivierte Dienste oder Ports mit diesen jeweiligen Zoneninformationen aufgeführt.

Schritt 3: Setzen Sie die Standard -Firewall -Zone ein

4. Wenn Sie die Standardzone als intern, extern, Drop, Arbeit oder in einer anderen Zone festlegen möchten, können Sie den folgenden Befehl verwenden, um die Standardzone festzulegen. Hier benutzen wir die “intern”Zone als Standardeinstellung.

# Firewall-CMD-Set-Default-Zone = Internal 

5. Überprüfen Sie nach der Einstellung der Zone die Standardzone mit dem folgenden Befehl.

# Firewall-CMD --Get-Default-Zone 
Stellen Sie die Standardfeuerwall -Zone fest

6. Hier ist unsere Schnittstelle ENP0S3, Wenn wir die Zone überprüfen müssen, in der die Schnittstelle begrenzt ist.

# Firewall-CMD --get-Zone-of-Interface = Enp0S3 
Überprüfen Sie die Firewall -Zone der Netzwerkschnittstelle

7. Ein weiteres interessantes Merkmal von Firewalld ist 'ICMPTYPE'ist einer der ICMP -Typen, die von Firewall unterstützt werden. Um die Auflistung der unterstützten ICMP -Typen zu erhalten, können wir den folgenden Befehl verwenden.

# Firewall-CMD --get-icmptypes 
Listen Sie Firewalld ICMP -Typen auf

Schritt 4: Erstellen eigener Dienste in Firewalld

8. Dienste sind eine Reihe von Regeln mit Ports und Optionen, die von verwendet werden, Firewall. Dienste, die aktiviert sind, werden automatisch geladen, wenn die Firewall Der Service ist in Betrieb.

Standardmäßig sind viele Dienste verfügbar, um die Liste aller verfügbaren Dienste zu erhalten, und verwenden Sie den folgenden Befehl.

# Firewall-CMD-Get-Services 
Listen Sie Firewalld Services auf

9. Um die Liste aller verfügbaren Standarddienste zu erhalten, erhalten Sie hier das folgende Verzeichnis. Hier erhalten Sie die Liste der Dienste.

# CD/usr/lib/Firewalld/Services/ 
Listen Sie Standard -Firewalld -Dienste auf

10. Um Ihren eigenen Service zu erstellen, müssen Sie ihn am folgenden Ort definieren. Zum Beispiel möchte ich hier einen Dienst hinzufügen RTMP Hafen 1935, Erstellen Sie zuerst eine Kopie eines der Dienste.

# CD/etc/Firewalld/Services/ # CP/USR/lib/Firewalld/Services/SSH.xml/etc/Firewalld/Services/ 

Und navigieren Sie dann zu dem Ort, an dem unsere Servicedatei kopiert wurde, und benennen Sie als nächstes die Datei um. 'ssh.xml' Zu 'RTMP.xml'Wie im folgenden Bild gezeigt.

# CD/etc/Firewalld/Services/ # MV SSH.XML RTMP.xml # ls -l rtmp.xml 
Erstellen Sie Dienste in Firewalld

11. Öffnen und bearbeiten Sie die Datei als nächstes als Überschrift, Beschreibung, Protokoll, Und Hafen Nummer, die wir für die verwenden müssen RTMP Service wie im folgenden Bild gezeigt.

Konfigurieren Sie den Firewalld -Dienst

12. Um diese Änderungen aktivieren zu lassen, starten Sie den Firewalld -Dienst neu oder laden Sie die Einstellungen neu.

# Firewall-CMD-Reload 

13. Um zu bestätigen, ob ein Dienst hinzugefügt wird oder nicht, führen Sie den folgenden Befehl aus, um eine Liste der verfügbaren Dienste zu erhalten.

# Firewall-CMD-Get-Services 
Bestätigen Sie den zusätzlichen Service in der Firewall

Schritt 5: Dienste zu Firewalld -Zonen zuweisen

14. Hier sehen wir, wie die Firewall mit dem Befehl Firewall-CMD verwaltet werden kann. Um den aktuellen Zustand der Firewall und alle aktiven Zonen zu kennen, geben Sie den folgenden Befehl ein.

# Firewall-CMD-State # Firewall-CMD --get-Active-Zones 
Überprüfen Sie den Firewall -Status

15. Um die öffentliche Zone für die Schnittstelle zu erhalten ENP0S3, Dies ist die Standardschnittstelle, die in definiert ist in /etc/Firewalld/Firewall.Conf Datei als DefaultZone = öffentlich.

So auflisten Sie alle verfügbaren Dienste in dieser Standardschnittstellenzone auf.

# Firewall-CMD-GET-SERVICE 
Listen Sie Firewalld Services auf

Schritt 6: Hinzufügen von Diensten zu Firewalld -Zonen

16. In den obigen Beispielen haben wir gesehen, wie wir unsere eigenen Dienste erstellen können, indem wir das erstellen RTMP Service, hier werden wir sehen, wie man das hinzufügt RTMP Service auch in der Zone.

# Firewall-CMD --add-Service = RTMP 

17. Zum Entfernen der hinzugefügten Zone geben Sie an.

# Firewall-cmd --zone = public--remove-service = rtmp 

Der obige Schritt war nur eine vorübergehende Periode. Um es dauerhaft zu machen, müssen wir den folgenden Befehl mit Option ausführen -dauerhaft.

# Firewall-cmd --add-service = rtmp --permanent # Firewall-CMD-Reload 

18. Definieren Sie Regeln für den Netzwerkquellenbereich und öffnen Sie einen der Ports. Zum Beispiel, wenn Sie einen Netzwerkbereich öffnen möchten, sagen Sie '192.168.0.0/24'und Port'1935'Verwenden Sie die folgenden Befehle.

# Firewall-CMD --permanent --add-Source = 192.168.0.0/24 # Firewall-CMD --Permanent --add-Port = 1935/TCP 

Stellen Sie sicher, dass Sie den Firewalld -Dienst nach dem Hinzufügen oder Entfernen von Diensten oder Ports neu laden.

# Firewall-CMD-Reload # Firewall-CMD-List-All 
Fügen Sie Dienste zur Firewalld hinzu

Schritt 7: Hinzufügen von Firewalld Rich -Regeln für den Netzwerkbereich

19. Wenn ich den Diensten wie HTTP, HTTPS, VNC-Server und PostgreSQL zulassen möchte, verwende ich die folgenden Regeln. Fügen Sie zunächst die Regel hinzu, machen Sie sie dauerhaft und laden Sie die Regeln neu und überprüfen Sie den Status.

# Firewall-CMD-ADD-Rich-Rule 'Rule Family = "IPv4" Quelladress = "192.168.0.0/24 "Service name =" http "Akzeptieren Sie ' # Firewall-CMD --add-Rich-Rule' Rule Family =" IPv4 "Quelladress =" 192.168.0.0/24 "Service name =" http "Accept '--permanent # Firewall-cmd --add-Rich-Rule' Rule Family =" IPv4 "Quelladress =" 192.168.0.0/24 "Service name =" https "Akzeptieren Sie ' # Firewall-cmd --add-Rich-Rule' Rule Family =" IPv4 "Quelladress =" 192.168.0.0/24 "Service name =" https "Accept '--permanent # Firewall-CMD --Add-Rich-Rule' Rule Family =" IPv4 "Quelladress =" 192.168.0.0/24 "Service name =" vnc-server "Akzeptieren Sie ' # Firewall-cmd --add-Rich-Rule' Rule Family =" ipv4 "Quelladress =" 192.168.0.0/24 "Service name =" vnc-server "Accept '--permanent # Firewall-cmd --add-Rich-Rule' Rule Family =" IPv4 "Quelladress =" 192.168.0.0/24 "Service name =" postgreSQL "Akzeptieren Sie ' # Firewall-cmd --add-Rich-Rule' Rule Family =" ipv4 "Quelladress =" 192.168.0.0/24 "Service name =" postgreSQL "Accept '--permanent 

Jetzt der Netzwerkbereich 192.168.0.0/24 kann den obigen Dienst von meinem Server von meinem Server verwenden. Die Option -dauerhaft kann in jeder Regel verwendet werden, aber wir müssen die Regel definieren und uns mit dem Zugriff auf den Kunden erkundigen, danach müssen wir sie dauerhaft machen.

20. Vergessen Sie nach dem Hinzufügen der oben genannten Regeln nicht, die Firewall -Regeln neu zu laden und die Regeln mithilfe der Regeln aufzulisten:

# Firewall-CMD-Reload # Firewall-CMD-List-All 
Listen Sie alle aktiven Firewall -Regeln auf

Um mehr über Firewalld zu erfahren.

# Mann Firewall 

Das war's, wir haben gesehen, wie man a einrichtet Netzfilter Verwendung Firewall in rhelbasierten Verteilungen wie z Fedora, Rocky Linux, CentOS Stream, Almalinux, Und OpenSuse.

Abschluss

Netzfilter ist der Rahmen für eine Firewall für jede Linux -Verteilung. Zurück in jedem Rhel Und Centos Ausgabe, wir haben verwendet iptables Aber in neueren Versionen haben sie eingeführt Firewall. Es ist einfacher, Firewall zu verstehen und zu verwenden. Ich hoffe, Sie haben die Beschreibung genossen.