So installieren und konfigurieren Sie Firewalld unter CentOS und Ubuntu

Sicherheit ist eine der Maßnahmen, die nicht nur in Organisationen, sondern auch auf persönlicher Ebene immer vorhanden sein müssen, wenn wir mit einem Betriebssystem arbeiten System selbst enthält eine zusätzliche Funktion wie die Firewall.

Die wesentliche Funktion einer Firewall besteht darin, ein- und ausgehende Regeln zu erstellen und zu verwalten, um den gesamten Netzwerkverbindungsprozess zu schützen. Auf diese Weise wird verhindert, dass verdächtige oder unzuverlässige Pakete in unseren Computer gelangen und Schäden jeglicher Art verursachen, wie das Einfügen von Malware oder das Entführen von Informationen.

Wenn wir mit Linux-Systemen arbeiten, einem der sichersten, haben wir Open-Source-Dienstprogramme, die uns helfen, diesen Schutzprozess viel vollständiger zu machen, und eines dieser Dienstprogramme ist Firewalld. Solvetic erklärt, was Firewalld ist und wie wir es in zwei der derzeit am häufigsten verwendeten Distributionen wie CentOS und Ubuntu installieren und verwenden können.

NotizDer Konfigurationsprozess ist für beide Systeme identisch

Was ist Firewalld?Firewalld (Firewall-Daemon), ist ein Dienstprogramm, dessen Zweck es ist, eine dynamisch verwaltete Firewall bereitzustellen, die Netzwerkzonen unterstützt, in denen die Vertrauensstufe der zu verwendenden Netzwerkverbindungen oder -schnittstellen definiert wird, Firewalld mit den IPv4-Adressen kompatibel ist, IPv6-Firewall-Einstellungen, Ethernet-Bridges und IP-Adresspools.

Firewalld bietet uns eine Schnittstelle für Dienste oder Anwendungen, um Firewall-Regeln direkt hinzuzufügen und so Kontrollaufgaben zu erleichtern. Einer der Hauptvorteile der Verwendung von Firewalld besteht darin, dass alle vorzunehmenden Änderungen in Echtzeit in der Ausführungsumgebung durchgeführt werden können, ohne dass der Dienst oder Daemon neu gestartet werden muss, wie dies bei vielen Dienstprogrammen der Fall ist.

Firewalld integriert eine D-Bus-Schnittstelle, die sich für die Verwaltung der Dienste, Anwendungen und die Administration der Firewall-Konfiguration eignet und in die Konfigurationstools wie Firewall-cmd, Firewall-Config und Firewall-Applet integriert werden kann.

Firewall-FunktionenEinige der Funktionen, die wir bei der Verwendung von Firewalld finden, sind:

  • Unterstützung für IPv4, IPv6, Bridging und ipset.
  • IPv4- und IPv6-NAT-Unterstützung.
  • Firewall oder Firewall-Zonen.
  • Vollständige D-Bus-API.
  • Einfacher Service, Port, Protokoll, Quellport, Maskierung, Portweiterleitung, icmp-Filter, Rich Rule, Interface- und Quelladresskontrolle in den verwendeten Zonen.
  • Direkte Schnittstelle zur Verwaltung.
  • Blockierfunktion, die eine weiße Liste von Anwendungen erstellt, die die Firewall ändern können.
  • Automatisches Laden von Linux-Kernel-Modulen.
  • Integration mit Puppet.
  • Zeitgesteuerte Firewallregeln in Zonen.
  • Einfache Registrierung abgelehnter Pakete.
  • Grafisches Konfigurationstool mit gtk3.
  • Applet mit Qt4.

AusschüttungenDie grundlegenden Distributionen, in denen Firewalld implementiert werden kann, sind:

  • RHEL 7, CentOS 7
  • Fedora 18 und höher

AnwendungenZu den Anwendungen und Bibliotheken, die Firewalld als Firewall-Verwaltungstool unterstützen, gehören:

  • Netzwerk Manager
  • libvirt
  • Docker
  • fail2ban

Es ist wichtig, dass wir, bevor wir näher auf die Installation und Verwendung von Firewalld eingehen, etwas mehr darüber wissen. Firewalld besteht aus drei Schichten:

  • Hauptschicht (Kernschicht), die für die Verwaltung der Konfiguration und der Dienste wie iptables, ip6tables, ebtables, ipset und des Modulladers verantwortlich ist.
  • D-Bus-Schnittstelle: Dies ist das wichtigste Mittel zum Ändern und Erstellen von Firewall-Einstellungen.
  • Backends, die die Interaktion mit netfilter (dem nativen Kernelmodul, das für die Firewall verwendet wird) ermöglichen, und einige werden als iptables, ip6tables, ebtables, ipset, nft, linnftables usw. gezählt.

Die Firewall-D-Bus-Schnittstelle ist die wichtigste Methode zum Erstellen und Bearbeiten von Firewall-Einstellungen. Diese Schnittstelle wird von allen in Firewalld integrierten Online-Tools wie Firewall-cmd, Firewall-Config und Firewall-Applet verwendet. Die Zeile Firewall-Offline-cmd kommuniziert nicht direkt mit Firewalld, sondern bearbeitet und erstellt die Konfigurationsdateien von Firewalld direkt durch den Firewall-Kernel mit den IO-Treibern.

Die globale Konfigurationsdatei für Firewalld befindet sich unter /etc/firewalld/firewalld.conf und die Firewall-Funktionen sind im XML-Format konfiguriert.

Firewalld verwendet Zonen, die die Vertrauensebene definieren, die die zu verwendende Netzwerkverbindung, die Schnittstelle oder die Quelladressenverbindung haben wird, und dieselbe Zone kann für viele Netzwerkverbindungen, Schnittstellen und Quellen verwendet werden.

Die in Firewalld verfügbaren Zonen sind:

TropfenDies ist die Zone mit der niedrigsten Vertrauensstufe, da alle eingehenden Pakete automatisch zurückgewiesen werden und nur ausgehende Pakete aktiviert werden können.
BlockBei Verwendung dieser Zone ist die Vertrauensstufe ähnlich wie bei Drop, unterscheidet sich jedoch nur darin, dass eingehende Pakete mit icmp-host-verboten für IPv4 und icmp6-adm-verboten für IPv6-Nachrichten abgewiesen werden.
ÖffentlichBei dieser Zone bezieht sich die Vertrauensstufe auf nicht vertrauenswürdige öffentliche Netzwerke, sodass nur vertrauenswürdige Verbindungen akzeptiert werden.
ExternEs ist die Ebene, die definiert wird, wenn wir die Firewall als Gateway verwenden und ihre Maskierung von den Routern aktiviert wird.
DMZEs ist eine Zone, in der die Vertrauensstufe für Geräte gilt, die sich in einer DMZ-Zone (Demilitarized) befinden. Dies bedeutet, dass der öffentliche Zugriff auf das interne Netzwerk beschränkt ist. Es akzeptiert nur akzeptierte Verbindungen.
ArbeitWie der Name schon sagt, wird diese Ebene in Arbeitsbereichen verwendet, die Netzwerkcomputern den Zugriff darauf ermöglichen.
HeimatBei Verwendung dieses Levels sprechen wir von einer Heimumgebung und die meisten Computer im Netzwerk werden akzeptiert
InternDieser Leveltyp gilt für interne Netzwerke, sodass alle Computer im lokalen Netzwerk akzeptiert werden.
VertrauenswürdigeEs steht für Trust, was bedeutet, dass es die höchste Ebene ist und allen eingehenden Verbindungen vertraut.

Um Zonen zu konfigurieren oder hinzuzufügen, können wir eine der folgenden verfügbaren Firewall-Konfigurationsschnittstellen verwenden:

  • Grafisches Konfigurationstool Firewall-config.
  • Befehlszeilentool Firewall-cmd.
  • Programmatische D-BUS-Schnittstelle.
  • Erstellen, kopieren oder bearbeiten Sie eine Zonendatei in einem der Konfigurationsverzeichnisse wie: /etc/firewalld/zones für benutzerdefinierte und vom Benutzer erstellte Konfigurationsdateien oder /usr/lib/firewalld/zones für Standard- und Fallback-Konfigurationen.

1. So installieren und verwalten Sie Firewalld unter Linux

Schritt 1
Bei Verwendung von CentOS 7 ist das Firewalld-Paket vorinstalliert und kann mit dem folgenden Befehl überprüft werden:

 rpm -qa Firewalld
Im Fall von Ubuntu müssen wir es mit dem folgenden Befehl installieren:
 sudo apt installiere Firewalld

VERGRÖSSERN

Wir geben den Buchstaben S ein, um den Download und die Installation von Firewalld zu bestätigen.

Schritt 2
Firewalld ist ein regulärer systemd-Dienst, der über den Befehl systemctl wie folgt verwaltet werden kann:

 sudo systemctl start firewalld (ermöglicht das Starten des Dienstes) sudo systemctl enable firewalld (aktiviert den Dienst während des Systemstarts) sudo systemctl status Firewalld (ermöglicht es, den Status des Dienstes anzuzeigen)

VERGRÖSSERN

Schritt 3
Nach dem Start des Firewalld-Dienstes können wir überprüfen, ob der Daemon unter Linux läuft oder nicht. Dazu müssen wir das Firewall-cmd-Tool verwenden, wir führen Folgendes aus:

 sudo Firewall-cmd -state

VERGRÖSSERN

2. So verwalten Sie Zonen in Firewalld CentOS und Ubuntu

Schritt 1
Um eine Liste aller verfügbaren Firewall-Dienste und -Zonen zu erhalten, müssen wir die folgenden Befehle ausführen:
So sehen Sie die Zonen:

 sudo Firewall-cmd --get-zones

VERGRÖSSERN

Schritt 2
Um die Dienste zu sehen, die wir ausführen werden:

 sudo Firewall-cmd --get-services

VERGRÖSSERN

Schritt 3
Die Standardzone ist die Zone, die für jede Firewall-Funktion implementiert ist, die nicht mit einer anderen Zone verknüpft ist. Es ist möglich, den Standardzonensatz für Netzwerkverbindungen und Schnittstellen zu erhalten, indem Sie Folgendes ausführen:

 sudo Firewall-cmd --get-default-zone

VERGRÖSSERN

Schritt 4
Wenn wir eine andere Standardzone einrichten möchten, müssen wir den folgenden Befehl verwenden. Beachten Sie, dass wir beim Hinzufügen der Option --permanent die Konfiguration dauerhaft einrichten und eine der folgenden Optionen ausführen können:

 sudo Firewall-cmd --set-default-zone = external
oder
 sudo Firewall-cmd --set-default-zone = external -permanent
Schritt 4
Dann wenden wir die Änderungen an, indem wir Folgendes ausführen:
 sudo Firewall-cmd -reload

VERGRÖSSERN

Schritt 5
Wenn das Ziel beispielsweise darin besteht, einer Zone eine Schnittstelle hinzuzufügen, können wir Folgendes ausführen:

 sudo Firewall-cmd --zone = home --add-interface = enp0s3
In diesem Fall haben wir die enp0s3 (LAN)-Schnittstelle zur Home-Zone hinzugefügt.

VERGRÖSSERN

Schritt 6
Es ist zu beachten, dass eine Schnittstelle nur zu einer einzelnen Zone hinzugefügt werden kann, stattdessen kann sie in eine andere Zone verschoben werden, dazu verwenden wir den Schalter --change-interface oder entfernen aus der vorherigen Zone mit dem Schalter -remove-interface und fügen Sie es dann der neuen Zone hinzu, zum Beispiel:

 sudo Firewall-cmd --zone = public --add-interface = enp0s3 sudo Firewall-cmd --zone = public --change-interface = enp0s3
Mit Firewalld ist es möglich, viele Zonen gleichzeitig zu verwenden. Wenn wir eine Liste aller aktiven Zonen mit aktivierten Funktionen wie Schnittstellen, Dienste, Ports, Protokolle erhalten möchten, führen wir Folgendes aus:
 sudo Firewall-cmd --get-active-zones

VERGRÖSSERN

Schritt 7
Um weitere Informationen über die Zonen zu erhalten, z. B. was aktiviert oder entfernt wurde, können wir einen dieser Befehle verwenden:

 sudo Firewall-cmd --zone = home --list-all
ODER
 sudo Firewall-cmd --info-zone public

VERGRÖSSERN

Schritt 8
Eine weitere nützliche Option für Firewalld ist --get-target, dies zeigt das Ziel einer permanenten Zone, die Ziele können Standard sein, ACCEPT, DROP, REJECT, um das Ziel mehrerer Zonen zu überprüfen, können wir einen der folgenden Befehle verwenden :

 sudo Firewall-cmd --permanent --zone = public --get-target sudo Firewall-cmd --permanent --zone = block --get-target sudo Firewall-cmd --permanent --zone = dmz --get- target sudo Firewall-cmd --permanent --zone = external --get-target sudo Firewall-cmd --permanent --zone = drop --get-target

3. So blockieren oder öffnen Sie Ports in Firewalld Linux CentOS und Ubuntu


Um einen Port durch Firewalld zu öffnen, fügen Sie ihn einfach mit der Option --add-port in die Zone ein. Wenn die Zone nicht explizit angegeben ist, wird sie in der Standardzone aktiviert.

Schritt 1
Um beispielsweise die Ports 80 und 443 hinzuzufügen, die eingehenden Webverkehr über die Protokolle HTTP und HTTPS zulassen, führen wir Folgendes aus:

 sudo Firewall-cmd --zone = public --permanent --add-port = 80 / tcp --add-port = 443 / tcp

VERGRÖSSERN

Schritt 2
Jetzt werden wir die Firewall neu laden und die in der öffentlichen Zone aktivierten Funktionen überprüfen:

 sudo Firewall-cmd --reload sudo Firewall-cmd --info-zone public

VERGRÖSSERN

Schritt 3
Wenn wir einen Port in Firewalld blockieren möchten, müssen wir die Option --remove-port verwenden, in diesem Beispiel wie folgt:

 sudo Firewall-cmd --zone = public --permanent --remove-port = 80 / tcp --remove-port = 443 / tcp

4. So blockieren oder öffnen Sie Dienste in Firewalld CentOS und Ubuntu


Um einen Dienst in Firewalld zu aktivieren, müssen wir ihn mit der Option --add-service aktivieren. Denken Sie daran, dass beim Weglassen der Zone die Standardzone verwendet wird.

Schritt 1
Um beispielsweise den http-Dienst in einer öffentlichen Zone zu aktivieren, führen wir Folgendes aus:

 sudo Firewall-cmd --zone = public --permanent --add-service = http sudo Firewall-cmd -reload

VERGRÖSSERN

Schritt 2
Mit dem Parameter -remove-service können wir den Dienst aus der zugewiesenen Zone entfernen:

 sudo Firewall-cmd --zone = public --permanent --remove-service = http sudo Firewall-cmd -reload

VERGRÖSSERN

5. So aktivieren und deaktivieren Sie IP-Masquerading durch Firewalld Linux


IP-Masquerading oder IPMASQ / MASQ) ist ein NAT-Mechanismus, der es Hosts in einem Netzwerk mit privaten IP-Adressen ermöglicht, über die öffentliche IP-Adresse, die dem Linux-Server über das IPMASQ-Gateway zugewiesen wurde, mit dem Internet zu kommunizieren.

Mit dieser Maskierung erscheint der Datenverkehr der unsichtbaren Hosts auf anderen Computern im Internet, als käme er direkt vom Linux-Server.

Um zu überprüfen, ob die Maskierung aktiv ist oder nicht, führen wir Folgendes aus:

 sudo Firewall-cmd --zone = public --query-masquerade
Dann können wir eine Zone wie diese hinzufügen:
 sudo Firewall-cmd --zone = public --add-masquerade
Um eine Zone aus dieser Art von Funktion zu entfernen, müssen wir Folgendes ausführen:
 sudo Firewall-cmd --zone = public --remove-masquerade

6. So aktivieren und deaktivieren Sie die IMCP-Nachricht in Firewalld Linux


Das ICMP-Protokoll (Internet Control Message Protocol) ist ein Protokoll, das entwickelt wurde, um Informationsanfragen oder Antworten auf diese Informationsanfragen oder unter Fehlerbedingungen während des gesamten Kommunikationsprozesses im Netz zu generieren.

Schritt 1
In Firewalld ist es möglich, ICMP-Nachrichten zu aktivieren oder zu deaktivieren, es wird jedoch empfohlen, alle kompatiblen ICMP-Typen zu validieren, dafür führen wir Folgendes aus:

 sudo Firewall-cmd --get-icmptypes

VERGRÖSSERN

Schritt 2
Wir können einen ICMP wie folgt hinzufügen oder blockieren:

 sudo Firewall-cmd --zone = home --add-icmp-block = echo-reply sudo Firewall-cmd --zone = home --remove-icmp-block = echo-reply

VERGRÖSSERN

Schritt 3
Wir können alle in einer Zone hinzugefügten ICMP-Typen mit dem Schalter --list-icmp-blocks sehen:

 sudo Firewall-cmd --zone = home --list-icmp-blocks

7. So aktivieren oder deaktivieren Sie den Panikmodus in Firewalld Linux CentOS und Ubuntu


Der Panikmodus ist ein spezieller in Firewalld integrierter Modus, in dem alle ein- und ausgehenden Pakete eliminiert werden und aktive Verbindungen nach der Aktivierung ablaufen irgendeine Verbindung.

Schritt 1
Um den Panikmodus zu überprüfen, verwenden wir die Option --query-panic und können sie mit der Option sudo Firewall-cmd --panic-on aktivieren:

VERGRÖSSERN

Schritt 2
Um zu verstehen, wie dieser Modus funktioniert, können wir, wenn er deaktiviert ist, eine Website anpingen und wir erhalten alle gesendeten Anfragen, aber wenn er aktiviert ist, sehen wir eine Meldung, die auf einen vorübergehenden Verbindungsfehler hinweist:

VERGRÖSSERN

Schritt 3
Um diesen Modus zu deaktivieren, führen wir Folgendes aus:

 sudo Firewall-cmd --panic-off

8. So blockieren Sie Firewalld unter Linux CentOS und Ubuntu

Schritt 1
In Firewalld können lokale Anwendungen oder Dienste die Firewall-Konfiguration ändern, wenn sie mit Root-Rechten ausgeführt werden. Diese Funktion ist standardmäßig deaktiviert und wir können sie mit dem Schalter --lockdown-on oder -lockdown-off aktivieren oder deaktivieren:

 sudo Firewall-cmd --lockdown-on
ODER
 sudo Firewall-cmd --lockdown-off
Schritt 2
Eine sicherere Methode ist es, diese Funktion direkt in der Ausgabe der Hauptkonfigurationsdatei zu aktivieren oder zu deaktivieren, da Firewall-cmd manchmal nicht in der blockierenden Whitelist vorhanden ist, dafür greifen wir auf die Konfigurationsdatei zu:
 sudo nano /etc/firewalld/firewalld.conf

VERGRÖSSERN

Dort suchen wir die Zeile Lockdown = no und setzen deren Status auf Lockdown = yes, speichern die Änderungen mit den Tasten Strg + O und verlassen den Editor mit Strg + X.

Firewalld ist eine Komplettlösung, um unseren Linux-Distributionen verschiedene Regeln und Zonen hinzuzufügen und so dem System bessere allgemeine Sicherheitsoptionen hinzuzufügen.

wave wave wave wave wave