Einführung
In diesem Lab erkunden Sie Firewalld, ein modernes Werkzeug zur Firewall-Verwaltung, das in vielen Linux-Distributionen verfügbar ist.
Eine Firewall steuert, welcher Netzwerkverkehr ein- und ausgehend auf einem System erlaubt ist. Herkömmliche Regeln zur Paketfilterung können auf Anfänger starr wirken. Firewalld bietet ein Verwaltungsmodell auf höherer Ebene. Damit können Administratoren Sicherheitsrichtlinien sicherer und dynamischer anpassen.
Das zentrale Konzept von Firewalld sind Zonen. Mit Zonen können Sie verschiedenen Netzwerk-Interfaces oder Verbindungen unterschiedliche Vertrauensstufen zuweisen.
- Home-Zone: Stellen Sie sich Ihr Wohnzimmer vor. Sie vertrauen den Personen (Geräten) dort, deshalb ist die Tür meistens offen.
- Public-Zone: Stellen Sie sich ein Café vor. Sie vertrauen den anderen Personen (Geräten) in Ihrer Umgebung nicht, deshalb schließen Sie die Türen ab und erlauben nur ganz bestimmte Interaktionen.
Mit Firewalld können Sie verschiedene Netzwerkverbindungen (Interfaces) diesen Zonen zuweisen.
Am Ende dieses Labs können Sie:
- den Firewalld-Dienst sicher installieren und starten.
- feststellen, welche Sicherheitszonen aktiv sind.
- die Regeln innerhalb einer Zone anzeigen.
- ein Netzwerk-Interface von einer Zone in eine andere verschieben.
Firewalld installieren und starten
In diesem Schritt installieren Sie die Firewalld-Software und stellen sicher, dass sie ausgeführt wird.
Wichtiger Sicherheitsschritt: In dieser Remote-Lab-Umgebung hängt Ihre Verbindung zum Terminal davon ab, dass das Netzwerk geöffnet ist. Wenn Sie die Firewall mit ihren Standardeinstellungen starten (normalerweise Public oder Drop), kann sie Ihre Verbindung blockieren und Sie sofort aussperren. Um das zu verhindern, konfigurieren wir Firewalld ausdrücklich so, dass unsere Verbindung die Zone trusted verwendet.
Das ist eine wichtige praktische Erkenntnis: Bei Firewall-Arbeiten geht es darum, die Angriffsfläche zu verkleinern. Eine unvorsichtige Änderung der Richtlinien kann jedoch auch Ihren eigenen Zugriff unterbrechen. Gute Administratoren berücksichtigen daher vor Änderungen an Netzwerkzugriffen die Wiederherstellungsmöglichkeiten und die aktuell verwendeten Zugriffswege.
Installieren Sie zuerst das Paket.
sudo apt-get update
sudo systemctl mask firewalld
sudo apt-get install firewalld -y
Die Maskierung verhindert, dass die Paketinstallation firewalld automatisch startet. Konfigurieren Sie vor dem Start des Dienstes mit firewall-offline-cmd die Standardzone trusted und ordnen Sie ihr eth0 zu. Dieses Werkzeug funktioniert, während firewalld gestoppt ist. Heben Sie die Maskierung des Dienstes erst auf, nachdem diese dauerhaften Einstellungen für den Verwaltungszugriff gespeichert sind.
sudo firewall-offline-cmd --set-default-zone=trusted
sudo firewall-offline-cmd --zone=trusted --add-interface=eth0
sudo systemctl unmask firewalld
sudo systemctl start firewalld
sudo firewall-cmd --reload
Aktivieren Sie den Dienst, damit er beim Systemstart automatisch gestartet wird.
sudo systemctl enable firewalld
Überprüfen Sie abschließend, ob Firewalld ausgeführt wird.
sudo firewall-cmd --state
Als Ausgabe sollte running erscheinen.
Aktive Zonen überprüfen
In diesem Schritt sehen wir uns die Zonen an, nachdem Firewalld gestartet ist.
Zonen bilden die wichtigste Abstraktionsebene von Firewalld. Statt sich eine lange, flache Liste von Paketregeln zu merken, gruppieren Sie Interfaces nach ihrer Vertrauensstufe. Die Zone legt dann die grundlegende Richtlinie für diese Umgebung fest.
Führen Sie den folgenden Befehl aus, um zu sehen, welche Zonen derzeit verwendet werden.
sudo firewall-cmd --get-active-zones
Da wir Firewalld im vorherigen Schritt entsprechend konfiguriert haben, sollte folgende Ausgabe erscheinen:
trusted
interfaces: eth0
Diese Ausgabe zeigt:
- Die Zone trusted ist aktiv.
- Das Netzwerk-Interface eth0 (Ihre Hauptverbindung) befindet sich sicher in dieser Zone.
Wenn Sie wissen möchten, welche anderen Zonen vorhanden sind, können Sie alle verfügbaren Zonen auflisten.
sudo firewall-cmd --get-zones
Dabei werden Namen wie block, home, work, public usw. angezeigt.
Zonenkonfiguration auflisten
In diesem Schritt untersuchen Sie die detaillierten Regeln der aktiven Zone.
Hier wird Firewalld konkreter. Eine Zone ist nicht nur eine Bezeichnung wie public oder trusted, sondern eine Sammlung konkreter Richtlinienentscheidungen, zum Beispiel zum Standardziel, zu erlaubten Diensten und Ports sowie zum Weiterleitungsverhalten.
Verwenden Sie die Option --list-all, um die vollständige Konfiguration der aktuellen Standardzone (trusted) anzuzeigen.
sudo firewall-cmd --list-all
Die Ausgabe zeigt die Konfiguration an. Für die Zone trusted ist das wichtigste Feld:
- target:
ACCEPT. Das bedeutet: „Alles akzeptieren.“
Damit wird bestätigt, warum Ihre Verbindung sicher ist.
Wenn Sie die Regeln einer anderen Zone untersuchen möchten, beispielsweise der Zone public, können Sie den Namen der Zone angeben.
sudo firewall-cmd --zone=public --list-all
Sie werden sehen, dass die Zone public deutlich restriktiver ist.
Zone eines Interfaces ändern
In diesem Schritt üben Sie, ein Interface in eine andere Zone zu verschieben.
Wenn Sie die Zone eines Interfaces ändern, ändern Sie damit die Vertrauensklassifizierung des Datenverkehrs, der über dieses Interface eintrifft. Derselbe Host kann sich deshalb in verschiedenen Netzwerken unterschiedlich verhalten, ohne dass Sie jede Regel von Grund auf neu schreiben müssen.
Warnung: Wenn wir unser Haupt-Interface eth0 in die Zone work verschieben würden, würden wir sofort die Verbindung verlieren, weil die Zone work die Verbindung zu unserem Web-Terminal blockiert.
Damit Sie dies sicher üben können, erstellen wir ein „Dummy“-Interface (virtuelles Interface) und verwenden dieses für das Experiment.
Erstellen Sie zunächst ein Dummy-Interface mit dem Namen dummy0.
sudo ip link add dummy0 type dummy
sudo ip link set dummy0 up
Fügen Sie dieses Interface zunächst der Zone public hinzu, damit es einer Zone zugeordnet ist.
sudo firewall-cmd --zone=public --add-interface=dummy0
Stellen Sie sich nun vor, dummy0 sei die WLAN-Karte Ihres Laptops und Sie wären gerade in Ihr Büro gegangen. Sie möchten das Interface in die Zone work verschieben.
sudo firewall-cmd --zone=work --change-interface=dummy0
Überprüfen Sie die Änderung.
sudo firewall-cmd --get-active-zones
Jetzt sollten Sie zwei aktive Zonen sehen:
- trusted: Diese Zone enthält
eth0, sodass Ihre Verbindung bestehen bleibt. - work: Diese Zone enthält
dummy0, Ihr Test-Interface.
trusted
interfaces: eth0
work
interfaces: dummy0
Sie haben erfolgreich gelernt, Zonen zu ändern, ohne sich selbst aus dem System auszusperren!
Zusammenfassung
In diesem Lab haben Sie Ihre ersten Schritte mit Firewalld gemacht. Sie haben:
- den Dienst installiert und sicher konfiguriert, um eine Aussperrung zu vermeiden.
- gelernt, dass Zonen Sicherheitsprofilen ähneln.
- die Regeln innerhalb einer Zone untersucht.
- ein virtuelles Interface erstellt und geübt, es zwischen Zonen zu verschieben.
Das Verständnis von Zonen bildet die Grundlage für die Arbeit mit Firewalld. In den nächsten Labs lernen Sie, diese Zonen anzupassen, indem Sie bestimmte Ports öffnen.



