Tool-Tipp: FirewallD FirewallD installieren und einrichten

Autor / Redakteur: Thomas Joos / Peter Schmitz

In allen Linux-Distributionen sind Firewall-Lösungen enthalten, Ubuntu arbeitet zum Beispiel mit der Firewall UFW. Mit IPTables und dem Nachfolger Nftables lassen sich Linux-Rechner aber professioneller absichern. Auch dafür gibt es Verwaltungstools, zum Beispiel firewalld.

Firma zum Thema

Mit firewalld können Firewall-Einstellungen auf Ubuntu und Debian genauso gesteuert werden, wie in CentOS oder RHEL.
Mit firewalld können Firewall-Einstellungen auf Ubuntu und Debian genauso gesteuert werden, wie in CentOS oder RHEL.
(© monsitj - stock.adobe.com)

Um Linux-Rechner abzusichern ist der Weg über IPTables sicher der am meisten verbreitete. Es gibt seit einiger Zeit den Nachfolger Nftables. Um Firewalls auf Basis von IPTables oder Nftables zu verwalten, steht zum Beispiel das Tool firewalld zur Verfügung. Dieses Tool kann in zahlreichen Linux-Distributionen einheitlich für Sicherheit sorgen und dabei helfen IPTables und Nftables einfacher zu verwalten.

Mit firewalld können Firewalleinstellungen auf Ubuntu und Debian genauso gesteuert werden, wie in CentOS oder RHEL. Auch die Installation auf openSUSE, Gentoo oder Arch/Manjaro. Ursprünglich wurde firewalld für Red Hat entwickelt. Die Firewall kann im Terminal und über eine grafische Oberfläche konfiguriert werden. Die grafische Oberfläche wird getrennt von firewalld installiert.

Wie man IPTables und Nftables mit firewalld verwaltet, zeigen wir im Tool-Tipp-Video und in der Bildergalerie.

Bildergalerie
Bildergalerie mit 7 Bildern

Firewalld arbeitet mit Zonen

Bei der Installation von firewalld werden bereits einige Standard-Zonen angelegt und Regeln auf Basis der IPTables oder Nftables definiert, mit denen die Zonen abgesichert werden. Die Netzwerkschnittstellen eines Computers werden diesen Zonen zugeordnet. Verfügt ein Computer über mehrere Netzwerkschnittstellen kann jede Schnittstelle einer anderen Zone zugeordnet werden.

Eine Zone verfügt über einen vorkonfigurierten Satz von Regeln. Die Block-Zone und Drop-Zone blockiert den gesamten eingehenden Verkehr. In der Home-Zone werden weniger strenge Regeln angewendet. Natürlich können jederzeit eigene Zonen hinzugefügt werden. Die Konfiguration der jeweiligen Zonen ist im Verzeichnis „/usr/lib/firewalld/zones“ zu finden. Hier gibt es XML-Dateien für die einzelnen Zonen. Diese haben zum Beispiel folgenden Inhalt:

<?xml version="1.0" encoding="utf-8"?><zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="ssh"/> <service name="mdns"/> <service name="dhcpv6-client"/></zone>

Installation von firewalld auf Ubuntu

Für die Installation von firewalld auf Ubuntu sollten Sie UFW deaktivieren. Das können Sie nach der Installation von firewalld durchführen, damit firewalld zur primären Firewall deklariert wird. Die Installation erfolgt nach Aktualisierung der Repositories:

sudo apt updatesudo apt -y install firewalld

Generell kann es sinnvoll sein vor der Installation zu überprüfen, ob firewalld auf dem Rechner bereits aktiv ist. Dazu wird entweder die Version abgefragt, oder der Status des Systemdienstes. Diese Abfragen sind natürlich auch nach der Installation von firewalld sinnvoll:

sudo firewall-cmd --versionsudo firewall-cmd --state



Wie man IPTables und Nftables mit firewalld verwaltet, zeigen wir im Tool-Tipp-Video und in der Bildergalerie.

Bildergalerie
Bildergalerie mit 7 Bildern

Firewall-Regeln verwalten

Nach der Installation von firewalld steht die Firewall bereits zur Verfügung. Die grafische Oberfläche, die wir in diesem Beitrag ebenfalls beschreiben, ist nur optional. Es ist nicht notwendig diese zu installieren.

Die vorhandenen Zonen können im Terminal angezeigt und verwaltet werden:

firewall-cmd --get-zones

Die aktuell aktiv genutzten Zonen und die verbundenen Netzwerkschnittstellen werden mit dem folgenden Befehl angezeigt:

firewall-cmd --get-active-zones

Um die Standard-Zone anzuzeigen, die allen Netzwerkschnittstellen automatisch zugewiesen wird, kann folgender Befehl verwendet werden:

firewall-cmd --get-default-zone public

Die Standard-Zone kann zum Beispiel mit folgendem Befehl geändert werden:

firewall-cmd --set-default-zone=home success

Auch die Firewall-Regeln können mit firewall-cmd angezeigt werden, abhängig für alle Zonen:

firewall-cmd --zone=home --list-all

Die aktuell zur Verfügung stehenden Dienste in den Regeln kann firewll-cmd ebenfalls anzeigen:

firewall-cmd --get-services

Alle Dienste in einer Zone werden mit dem folgenden Befehl angezeigt:

firewall-cmd --zone=public --list-services

Auch die Ports können auf diesem Weg angezeigt werden:

firewall-cmd --zone=public --list-ports

Um einen neuen Dienst zu einer Zone hinzuzufügen, steht folgender Befehl zur Verfügung:

firewall-cmd --zone=public --add-service=https

Um einen Dienst auch permanent hinzuzufügen, also auch beim Neustart von firewalld:

firewall-cmd --zone=public --permanent --add-service=https

Um eine neue Regel auf Basis von Ports hinzuzufügen, kann zum Beispiel folgender Befehl genutzt werden:

firewall-cmd --zone=public --permanent --add-port=5000/tcpfirewall-cmd --zone=public --permanent --add-port=5900-5999/udp

Grafische Oberfläche für firewalld installieren und zur Verwaltung nutzen

Die Firewall kann im Terminal verwaltet und gesteuert werden, verfügt aber auch über eine grafische Oberfläche. Diese wird aber getrennt von firewalld installiert:

sudo apt-get install firewall-applet

In der grafischen Oberfläche kann firewalld wesentlich einfacher verwaltet werden, als im Terminal. Nach dem Start sind auf der linken Seite die Netzwerkschnittstellen verfügbar und die Zonen, die den Schnittstellen zugewiesen wurden. Über die Schaltfläche „Zone ändern“ können den Schnittstellen neue Zonen zugewiesen werden. Die Schnittstellen selbst werden auf der rechten Seite über die Menüpunkte „Schnittstellen“ und „Quellen“ gepflegt.

Bei der Anpassung von Regeln und Einstellungen muss darauf geachtet werden, ob die Änderungen im laufenden Betrieb aktiviert werden sollen, oder auch permanent nach dem Neustart der Firewall zur Verfügung stehen. Dazu wird im Dropdown-Menü „Konfiguration“ die Option „Runtime“ oder „Permanent“ ausgewählt. Sollen die Einstellungen in der aktuell laufenden Sitzung aktiv sein und auch bei Neustart, dann müssen die Einstellungen in beiden Bereichen konfiguriert werden.

Geänderte Einstellungen aktivieren

Mit „Optionen\Firewall neu laden“ können die Regeln aus der permanenten Konfiguration in die Runtime übernommen werden. Der Vorgang kann auch im Terminal über den Befehl „sudo firewall-cmd --reload“ durchgeführt werden. Nach dem Neustart kann im Terminal überprüft werden, ob firewalld funktioniert und wie der Status des Dienstes ist:

sudo firewall-cmd --statesystemctl status firewalld



Wie man IPTables und Nftables mit firewalld verwaltet, zeigen wir im Tool-Tipp-Video und in der Bildergalerie.

Bildergalerie
Bildergalerie mit 7 Bildern

(ID:47767935)