===== 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}} ----