Sicherheit ist eine der Maßnahmen, die nicht nur in Organisationen, sondern auch auf persönlicher Ebene immer vorhanden sein sollten, wenn wir mit einem Betriebssystem arbeiten, obwohl es verschiedene Tools gibt, um die Sicherheit und den Datenschutz während der Verwendung eines Systems zu erhöhen Das Betriebssystem selbst enthält eine zusätzliche Funktion wie die Firewall.
Die wesentliche Funktion einer Firewall besteht darin, Eingangs- und Ausgangsregeln zu erstellen und zu verwalten, um den gesamten Verbindungsprozess zum Netzwerk zu schützen. Auf diese Weise wird verhindert, dass verdächtige oder unzuverlässige Pakete in unseren Computer gelangen und Schäden verursachen, z. B. 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 dabei helfen, diesen Schutzprozess viel vollständiger zu gestalten. Eines dieser Dienstprogramme ist Firewalld. TechnoWikis erklärt, was Firewalld ist und wie wir es installieren und in zwei der am häufigsten verwendeten Distributionen wie CentOS und Ubuntu verwenden können .
Firewalld bietet uns eine Schnittstelle für Dienste oder Anwendungen , um die Firewall-Regeln direkt hinzuzufügen und so die Steuerungsaufgaben zu erleichtern. Einer der Hauptvorteile von Firewalld besteht darin, dass alle Änderungen in der Ausführungsumgebung in Echtzeit vorgenommen 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 Dienste, Anwendungen und das Firewall-Konfigurationsmanagement verwalten kann. Diese Schnittstelle kann in die Konfigurationstools wie Firewall-Cmd-Firewall, Firewall-Konfiguration und Firewall-Applet integriert werden.
- Kompatibilität mit IPv4, IPv6, Bridge und IPSet.
- Kompatibilität mit IPv4 und IPv6 NAT.
- Firewall oder Firewallbereiche.
- Komplette D-Bus API.
- Einfacher Service, Port, Protokoll, Ursprungsport, Maskierung, Portweiterleitung, ICMP-Filter, erweiterte Regel-, Schnittstellen- und Quelladressenkontrolle in den verwendeten Zonen.
- Direkte Schnittstelle zur Verwaltung.
- Blockierungsfunktion, die eine weiße Liste von Anwendungen erstellt, die die Firewall ändern können.
- Automatisches Laden von Linux-Kernelmodulen.
- Integration mit Puppet.
- Zeitgesteuerte Firewall-Regeln in Zonen.
- Einfache Registrierung abgelehnter Pakete.
- Grafisches Konfigurationstool mit gtk3.
- Applet mit Qt4.
- RHEL 7, CentOS 7
- Fedora 18 und höher
- NetworkManager
- libvirt
- Hafenarbeiter
- fail2ban
Bevor wir uns mit der Installation und Verwendung von Firewalld befassen, sollten wir uns zunächst eingehender mit Firewalld befassen. Firewalld besteht aus drei Ebenen:
- Hauptschicht (Core-Schicht), die für die Verwaltung der Konfiguration und der Dienste wie iptables, ip6tables, ebtables, ipset und den Modul-Loader verantwortlich ist.
- D-Bus-Schnittstelle: Dies ist das Hauptmittel zum Ändern und Erstellen der Firewall-Konfiguration.
- Backends, die die Interaktion mit netfilter (dem Modul des für die Firewall verwendeten nativen Kernels) ermöglichen, und einige werden als iptables, ip6tables, ebtables, ipset, nft, linnftables usw. gezählt.
Die D-Bus-Schnittstelle von Firewalld 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 Kern von firewalld mit den IO-Treibern.
Die globale Konfigurationsdatei von firewalld befindet sich im Pfad /etc/firewalld/firewalld.conf, und die Firewallfunktionen werden im XML-Format konfiguriert.
Firewalld verwendet Zonen, die den Grad der Vertrauenswürdigkeit der zu verwendenden Netzwerkverbindung, der Schnittstelle oder der Adressverknüpfung festlegen. Derselbe Bereich kann für viele Netzwerkverbindungen, Schnittstellen und Quellen verwendet werden.
Die in Firewalld verfügbaren Bereiche sind:
Zum Konfigurieren oder Hinzufügen von Zonen können Sie eine der folgenden verfügbaren Firewall-Konfigurationsschnittstellen verwenden:
- Grafikkonfigurationstool firewall-config.
- Befehlszeilentool Firewall-cmd.
- D-BUS-Programmierschnittstelle.
- Erstellen, kopieren oder bearbeiten Sie eine Zonendatei in einem der Konfigurationsverzeichnisse, z. B .: / etc / firewalld / areas für benutzerdefinierte und benutzerdefinierte Konfigurationsdateien oder / usr / lib / firewalld / areas für Standard- und Sicherungskonfigurationen .
1. Installieren und Verwalten von Firewalld unter Linux
Bei Verwendung von CentOS 7 ist das Firewall-Paket vorinstalliert und kann mit dem folgenden Befehl überprüft werden:
rpm -qa Firewalld
Im Falle von Ubuntu müssen wir es mit dem folgenden Befehl installieren:
sudo apt install firewalld
Geben Sie den Buchstaben S ein, um den Download und die Installation von Firewalld zu bestätigen.
Firewalld ist ein regulärer Systemd-Dienst, der mit dem 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 (zeigt den Status des Dienstes an)
Nach dem Starten des Firewalld-Dienstes können wir überprüfen, ob der Dämon unter Linux ausgeführt wird oder nicht. Dazu müssen wir das Firewall-Cmd-Tool verwenden und Folgendes ausführen:
sudo firewall-cmd -state
2. So verwalten Sie Zonen in Firewalld CentOS und Ubuntu
Um eine Liste aller verfügbaren Firewall-Zonen und -Dienste zu erhalten, müssen folgende Befehle ausgeführt werden:
Um die Gebiete zu sehen:
sudo firewall-cmd --get-areas
Um die Dienstleistungen zu sehen, die wir ausführen werden:
sudo firewall-cmd --get-services
Die Standardzone ist die Zone, die für jede Firewall-Funktion implementiert ist, die nicht mit einer anderen Zone verknüpft ist. Sie können die für Netzwerkverbindungen und Schnittstellen festgelegte Standardzone abrufen, indem Sie Folgendes ausführen:
sudo firewall-cmd --get-default-zone
Wenn wir eine andere Standardzone einrichten möchten, müssen wir den folgenden Befehl verwenden. Beachten Sie, dass wir, wenn wir die Option –permanent hinzufügen, die Konfiguration dauerhaft einrichten, eine der folgenden Optionen ausführen können:
sudo firewall-cmd --set-default-zone = external
o
sudo firewall-cmd --set-default-zone = external -permanent
Dann wenden wir die Änderungen an, indem wir Folgendes ausführen:
sudo firewall-cmd-reload
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 Schnittstelle enp0s3 (LAN) zur Home-Zone hinzugefügt.
Es ist zu beachten, dass eine Schnittstelle nur zu einer einzelnen Zone hinzugefügt werden kann, stattdessen kann sie zu einer anderen Zone verschoben werden. Hierzu verwenden wir den Schalter –change-interface oder löschen ihn 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 Sie eine Liste aller aktiven Zonen mit den aktivierten Funktionen erhalten möchten, wie z. B. Schnittstellen, Dienste, Ports, Protokolle, führen wir Folgendes aus:
sudo firewall-cmd --get-active-areas
Um weitere Informationen zu den Zonen zu erhalten, die aktiviert oder entfernt wurden, können Sie einen der folgenden Befehle verwenden:
sudo firewall-cmd --zone = home --list-all
O.
sudo firewall-cmd --info-zone public
Eine weitere nützliche Option zur Verwendung mit Firewalld ist –get-target. Hier wird das Ziel einer permanenten Zone angezeigt. Die Ziele können default, ACCEPT, DROP, REJECT sein, um das Ziel mehrerer Zonen zu überprüfen. Wir können eine der folgenden Optionen verwenden Befehle:
sudo firewall-cmd --permanent --zone = public --get-target sudo firewall-cmd --permanent --zone = blockiere --get-target sudo firewall-cmd --permanent --zone = dmz --get-target sudo firewall-cmd --permanent --zone = externes --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 über die Firewall zu öffnen, fügen Sie ihn einfach in die Zone mit der Option –add-port ein. Wenn Sie die Zone nicht explizit angeben, wird sie in der Standardzone aktiviert.
Um beispielsweise die Ports 80 und 443 hinzuzufügen, die eingehenden Webdatenverkehr über die Protokolle HTTP und HTTPS ermöglichen, führen Sie Folgendes aus:
sudo firewall-cmd --zone = public --permanent --add-port = 80 / tcp --add-port = 443 / tcp
Laden Sie nun die Firewall erneut und überprüfen Sie die in der öffentlichen Zone aktivierten Funktionen:
sudo firewall-cmd - reload sudo firewall-cmd --info-zone public
Wenn wir einen Port in firewalld blockieren möchten, müssen wir die Option –remove-port verwenden, in diesem Beispiel:
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 Sie ihn mit der Option –add-service aktivieren. Denken Sie daran, dass die Standardzone verwendet wird, wenn Sie die Zone weglassen.
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
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
5. Aktivieren und Deaktivieren der IP-Maskierung über Firewalld Linux
IP-Maskierung (IPMASQ / MASQ) ist ein NAT-Mechanismus, mit dem Hosts in einem Netzwerk mit privaten IP-Adressen die Kommunikation mit dem Internet über die öffentliche IP-Adresse herstellen können, die dem Linux-Server mithilfe des IPMASQ-Gateways zugewiesen wurde .
Mit dieser Maskierung wird der Datenverkehr unsichtbarer Hosts auf anderen Computern im Internet angezeigt, als ob er direkt vom Linux-Server stamme.
So überprüfen Sie, ob die Maskierung aktiv ist oder nicht:
sudo firewall-cmd --zone = public --query-masquerade
Dann können wir einen Bereich wie diesen hinzufügen:
sudo firewall-cmd --zone = public --add-masquerade
Um einen Bereich 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 Fehlerzustände während des gesamten Kommunikationsprozesses zu generieren. im Netzwerk.
In Firewalld ist es möglich, ICMP-Nachrichten zu aktivieren oder zu deaktivieren, es wird jedoch empfohlen, alle kompatiblen ICMP-Typen zu validieren. Dazu führen wir Folgendes aus:
sudo firewall-cmd --get-icmptypes
Wir können ein ICMP folgendermaßen hinzufügen oder blockieren:
sudo firewall-cmd --zone = home --add-icmp-block = Echoantwort sudo firewall-cmd --zone = home --remove-icmp-block = echo-reply
Mit dem Schalter –list-icmp-blocks können wir alle in einer Zone hinzugefügten ICMP-Typen anzeigen:
sudo firewall-cmd --zone = home --list-icmp-blocks
7. Aktivieren oder Deaktivieren des Panikmodus in Firewalld Linux CentOS und Ubuntu
Der Panikmodus ist ein in Firewalld integrierter Spezialmodus, in dem alle eingehenden und ausgehenden Pakete gelöscht werden und aktive Verbindungen ablaufen, sobald dies aktiviert ist. Wir können diesen Modus in Notfallsituationen aktivieren, in denen eine Bedrohung für das System besteht und so vermeiden wir jede Verbindung.
Um den Panikmodus zu konsultieren, verwenden wir die Option –query-panic und können sie mit der Option sudo firewall-cmd –panic-on aktivieren:
Um den Vorgang auf diese Weise zu verstehen, können wir bei Deaktivierung eine Website anpingen und erhalten alle gesendeten Anfragen. Bei Aktivierung wird jedoch eine Meldung angezeigt, die auf einen vorübergehenden Verbindungsfehler hinweist:
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
In Firewalld können die lokalen Anwendungen oder Dienste die Firewall-Konfiguration ändern, wenn sie mit Root-Rechten ausgeführt werden. Wir können steuern, welche Anwendungen Änderungen in der Firewall anfordern können, indem wir sie in die Sperr-Whitelist aufnehmen. 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
O.
sudo firewall-cmd --sperre aus
Eine sicherere Methode besteht darin, diese Funktion direkt in der Edition der Hauptkonfigurationsdatei zu aktivieren oder zu deaktivieren, da in einigen Fällen Firewall-Cmd in der Sperr-Whitelist nicht vorhanden ist. Dazu greifen wir auf die Konfigurationsdatei zu:
sudo nano /etc/firewalld/firewalld.conf
Dort setzen wir die Zeile Lockdown = no und setzen ihren 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 verschiedene Regeln und Zonen zu unseren Linux-Distributionen hinzuzufügen und damit allgemeinere Sicherheitsoptionen im System hinzuzufügen.