Firewalld ist ein Firewall-Verwaltungstool, das verwendet wird, um die Verbindung zum Linux-System zuzulassen oder zu verweigern. Es bietet eine Reihe von Regeln zur Steuerung des eingehenden Datenverkehrs. Firewalld fungiert als Frontend für den Linux-Kernel Netfilter.
Die permanente Konfiguration wird aus XML-Dateien in `/usr/lib/firewalld` oder `/etc/firewalld`
geladenIn diesem Artikel werden wir firewalld installieren und verwenden. Außerdem werde ich Ihnen zeigen, wie Sie Rich-Regeln verwenden.
Firewalld in CentOS / RHEL installieren
Firewalld wird mit der Basisinstallation von Redhat oder Centos geliefert. Wenn dies nicht der Fall ist, können Sie es folgendermaßen installieren.
Auf RHEL 7.X oder Centos 7.X installieren von,
$ sudo yum install firewalld -y
Installieren Sie auf RHEL 7.X oder Centos 8.X von,
$ sudo dnf install firewalld -y
Um den Dienst zu starten,
$ sudo systemctl start firewalld
Um den Firewalld-Dienst zu aktivieren,
$ sudo systemctl enable firewalld
Überprüfen Sie den Status von firewalld,
$ systemctl status firewalld
Firewalld verfügt über verschiedene vordefinierte Zonen, die auch als Vertrauensstufe bezeichnet werden. Zonen sind im Grunde verwaltete Gruppen mit einer Reihe von Regeln. Die Regeln sind jedoch nicht vordefiniert. Sie können beispielsweise eine „öffentliche“ Zone festlegen, die öffentliche Hosting-Ports enthält, während die „Home“-Zone SSH-Verbindungen zulässt. Um Zonen in Firewalld aufzulisten, verwenden Sie den folgenden Befehl,
$ sudo firewall-cmd --get-zones
Um die aktive Zone unter den Zonen zu sehen, verwenden Sie,
$ sudo firewall-cmd --get-active-zone
Lassen Sie uns nun einige Ports hinzufügen, um Datenverkehr in unser System zuzulassen. Um einen TCP-Port hinzuzufügen, müssen Sie Folgendes eingeben. Denken Sie daran, die Option –permanent hinzuzufügen, andernfalls wird Ihre Regel beim Neuladen/Neustart von Firewalld nicht dauerhaft sein.
$ sudo firewall-cmd --add-port=443/tcp --permanent
Ebenso können Sie auch den UDP-Port zulassen,
$ sudo firewall-cmd --add-port=161/udp --permanent
Sie können auch Dienste wie DNS, HTTP zulassen. Es wird den Standardport des Dienstes zulassen. Zum Beispiel
$ sudo firewall-cmd --add-service=http --permanent
Nachdem Sie den Port hinzugefügt / den Firewall-Dienst neu geladen haben, wird er wirksam
$ sudo firewall-cmd --reload
Bestätigen Sie mit,
$ sudo firewall-cmd --list-all
Denken Sie daran:Wenn Sie keine Zone hinzufügen, wird die Regel standardmäßig zur „öffentlichen“ Zone hinzugefügt.
Um den Port von Firewalld zu entfernen, können Sie verwenden,
$ sudo firewall-cmd --remove-port=443/tcp --permanent
Um den Dienst von firewalld zu entfernen, können Sie verwenden,
$ sudo firewall-cmd --remove-service=http --permanent
Denken Sie daran, die Firewall neu zu laden, nachdem Sie Ports/Dienste hinzugefügt oder entfernt haben.
Rich-Regeln
Umfangreiche Regeln bieten detailliertere Optionen für Firewallregeln. Sie werden verwendet, um Portweiterleitung, Ratenbegrenzung, Protokollierung usw. zu konfigurieren.
Beispiel: Um eine SSH-Verbindung von einer einzelnen IP zu akzeptieren, sagen wir 192.168.10.25, sollten Sie eine umfassende Regel hinzufügen, indem Sie die IP-Version, die Quelladresse, den Port und das Protokoll angeben.
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.10.25/32" port protocol="tcp" port="22" accept'
Auf ähnliche Weise können Sie alle IP-Quellen eines gesamten Netzwerks löschen, um 22 Ports wie unten nicht zuzulassen,
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.15.0/24" port protocol="tcp" port="22" drop'
Um neue IPv4-Verbindungen von der Adresse 192.168.0.0/24 für den Dienst tftp zuzulassen und 1 pro Minute mit Syslog zu protokollieren, können Sie Folgendes tun:
sudo firewall-cmd --permanent --zone=public --add-rich-rule=’rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept’
Firewall deinstallieren
Wenn Sie den Firewall-Dämon von CentOS / RHEL entfernen möchten, stoppen Sie den laufenden Dienst,
$ sudo systemctl stop firewalld
Auf RHEL 7.X oder Centos 7.X
$ sudo yum remove firewalld -y
Auf RHEL 8.X oder Centos 8.X
$ sudo dnf remove firewalld -y
Schlussfolgerung
Wir hoffen, dass dieser Artikel Ihnen hilft, die Sicherheit Ihres Linux-Systems zu erhöhen. Beachten Sie, dass die hostbasierte Firewall wie firewalld von Konformitäten wie PCI DSS empfohlen wird.
Danke fürs Lesen.