===== Firewall Übersicht =====
Firewalls schützen Systeme vor unerwünschtem Netzwerkzugriff. Unter Linux gibt es verschiedene Tools und Frameworks.
==== Themenübersicht ====
* [[sammlung:iptables|iptables]]
* [[sammlung:nftables|nftables]]
* [[sammlung:ufw|ufw (Uncomplicated Firewall)]]
* [[sammlung:firewalld|firewalld]]
==== Unterschiede ====
* **iptables**: Klassisches, mächtiges, aber komplexes Tool zur Paketfilterung.
* **nftables**: Moderner Nachfolger von iptables, flexibler und effizienter.
* **ufw**: Einfache Oberfläche für iptables, ideal für Einsteiger.
* **firewalld**: Dynamische Firewall-Verwaltung mit Zonen und Services, nutzt im Hintergrund meist nftables/iptables.
Jedes Tool hat eigene Stärken und Einsatzzwecke – Details auf den jeweiligen Unterseiten.
==== Zusammenhänge zwischen nftables, firewalld und ufw ====
=== nftables als Backend ===
''nftables'' ist der moderne Kernel-Framework, der ''iptables'' als Backend ersetzt. Sowohl ''firewalld'' als auch ''ufw'' können nftables als Backend nutzen:
**Architektur-Übersicht:**
┌───────────────────────────────────┐
│ Benutzer-Tools (Frontend) │
│ ┌──────────┐ ┌──────────┐ │
│ │firewalld │ │ ufw │ │
│ └─────┬────┘ └─────┬────┘ │
│ │ │ │
│ └────────┬───────┘ │
│ ▼ │
│ ┌───────────────────────────┐ │
│ │ Backend-Auswahl │ │
│ │ • iptables-nft (nftables)│ │
│ │ • iptables-legacy │ │
│ └──────────┬────────────────┘ │
│ ▼ │
│ ┌───────────────────────────┐ │
│ │ netfilter (Kernel) │ │
│ │ • nf_tables Module │ │
│ │ • ip_tables Module │ │
│ └───────────────────────────┘ │
└───────────────────────────────────┘
=== firewalld und nftables ===
**firewalld** kann sowohl ''iptables'' als auch ''nftables'' als Backend nutzen:
# Backend prüfen
sudo firewall-cmd --get-backend
# Mögliche Backends:
# - nftables (Standard ab RHEL 9 / Fedora 32+)
# - iptables (Legacy)
# Backend in /etc/firewalld/firewalld.conf ändern:
# FirewallBackend=nftables
# FirewallBackend=iptables
**Vorteile von nftables-Backend:**
* Bessere Performance bei vielen Regeln
* Atomare Regel-Updates (keine kurze Firewall-Lücke)
* Modernere Syntax und Flexibilität
* Zukunftssicher (iptables wird deprecated)
**Migration:**
* Ab Fedora 32 und RHEL 9: nftables ist Standard-Backend
* Automatische Migration beim Update
* Regeln bleiben gleich (firewalld übersetzt automatisch)
=== ufw und nftables ===
**ufw** nutzt traditionell ''iptables'' als Backend, kann aber auch auf ''iptables-nft'' umgestellt werden:
# Prüfen welches Backend aktiv ist
sudo update-alternatives --display iptables
# Auf nftables-Backend umstellen (Ubuntu 20.04+)
sudo update-alternatives --set iptables /usr/sbin/iptables-nft
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-nft
# ufw nutzt dann automatisch nftables über iptables-Kompatibilitäts-Layer
sudo ufw reload
**iptables-nft Kompatibilitäts-Layer:**
* ''iptables-nft'' übersetzt iptables-Befehle in nftables-Regeln
* Vollständige Kompatibilität mit bestehenden ufw-Regeln
* Transparent für den Benutzer (ufw merkt keinen Unterschied)
* Performance-Vorteile von nftables bei gleicher Syntax
**Hinweis:** Ab Ubuntu 22.04 ist iptables-nft das Standard-Backend.
=== Interoperabilität und Konflikte ===
**WICHTIG:** Verschiedene Firewall-Tools sollten nicht gleichzeitig verwendet werden!
# Konflikte vermeiden:
# Wenn firewalld aktiv:
sudo systemctl stop ufw
sudo systemctl disable ufw
# Wenn ufw aktiv:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
# Direkter nftables-Zugriff (nur wenn kein anderes Tool aktiv):
sudo nft list ruleset
**Warum Konflikte entstehen:**
* Alle Tools schreiben in die gleichen Kernel-Tabellen
* Überschreibende Regeln möglich
* Unvorhersehbares Verhalten bei gleichzeitiger Nutzung
**Best Practice:**
* Ein Tool pro System wählen
* Für Einfachheit: ''ufw'' (Desktop/einfache Server)
* Für Zonen-Management: ''firewalld'' (Enterprise/komplexe Setups)
* Für maximale Kontrolle: Direktes ''nftables'' (Experten)
=== Zusammenfassung ===
| **Tool** | **Backend** | **Einsatz** | **Einfachheit** |
| ''ufw'' | iptables/iptables-nft | Desktop, einfache Server | ★★★★★ Sehr einfach |
| ''firewalld'' | iptables/nftables | Enterprise, RHEL/Fedora | ★★★☆☆ Mittel |
| ''nftables'' | Direkt (Kernel) | Experten, Scripts | ★★☆☆☆ Komplex |
| ''iptables'' | iptables (Legacy) | Alt-Systeme (deprecated) | ★★☆☆☆ Komplex |
**Migrationspfad:**
* Alt: iptables → iptables-nft → nftables
* ufw: Automatisch mit iptables-nft Umstellung
* firewalld: FirewallBackend=nftables in Konfiguration
----
{{tag>cli topic firewall network basics advanced}}
----