firewalld ist ein Dienst zur Verwaltung von Firewallregeln unter Linux der mit Zonen arbeitet und eine einfache Verwaltung von Netzwerkregeln ermöglicht. Es ersetzt klassische Tools wie [[iptables]] oder [[nftables]] durch eine benutzerfreundlichere Schnittstelle. firewalld ist auf vielen Distributionen wie Fedora, CentOS, RHEL und openSUSE vorinstalliert oder leicht installierbar.
===== Merkmale =====
* Zonenbasiertes Sicherheitsmodell
* Unterstützung für IPv4, IPv6, Ethernet-Bridges und IPSet
* Dynamische Regeländerung ohne Neustart
* Zwei Konfigurationsmodi: ''runtime'' (temporär) und ''permanent'' (dauerhaft)
===== Zonenübersicht =====
firewalld verwendet sogenannte **Zonen**, um den Vertrauensgrad von Netzwerkverbindungen zu definieren. Jede Zone hat eigene Regeln für Dienste, Ports und Interfaces.
^ Zone ^ Beschreibung ^
| drop | Verwirft alle eingehenden Verbindungen |
| block | Verbindungen werden aktiv abgelehnt |
| public | Für öffentliche Netzwerke |
| home | Für Heimnetzwerke |
| work | Für Arbeitsnetzwerke |
| internal | Für interne, vertrauenswürdige Netze |
| trusted | Erlaubt alle Verbindungen |
===== Installation =====
=== RHEL / CentOS / Fedora ===
sudo dnf install firewalld
sudo systemctl enable --now firewalld
=== Debian / Ubuntu ===
sudo apt install firewalld
sudo systemctl enable --now firewalld
===== firewalld Tutorial =====
=== Status prüfen ===
firewall-cmd --state
=== Aktive Zonen anzeigen ===
firewall-cmd --get-active-zones
=== Dienste erlauben (z. B. HTTP) ===
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
=== Port freigeben ===
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
=== Neue Zone erstellen ===
firewall-cmd --permanent --new-zone=meinezone
firewall-cmd --reload
=== Interface einer Zone zuweisen ===
firewall-cmd --zone=home --change-interface=eth0 --permanent
firewall-cmd --reload
=== Temporäre Regel hinzufügen (z. B. SSH) ===
firewall-cmd --zone=public --add-service=ssh
===== Nützliche Befehle =====
Aktive Regeln anzeigen:
firewall-cmd --list-all
Dienste auflisten:
firewall-cmd --get-services
Alle Zonen anzeigen:
firewall-cmd --get-zones
===== Tipps =====
* Teste neue Regeln zuerst ohne ''--permanent''.
* Nutze ''--reload'' nur, wenn du dauerhafte Änderungen übernommen hast.
* Kombiniere firewalld mit SELinux oder AppArmor für maximale Sicherheit.
===== Weblinks =====
* [[https://firewalld.org/documentation/|Offizielle firewalld-Dokumentation]]
* [[https://wiki.archlinux.org/title/Firewalld|ArchWiki: firewalld]]
* [[https://docs.fedoraproject.org/en-US/quick-docs/firewalld/|Fedora Quick Docs]]