Firewall einrichten: UFW, firewalld und nftables im Vergleich

Die Konfiguration einer Firewall ist ein zentraler Bestandteil der Absicherung von Linux-Servern und Netzwerkumgebungen. Eine korrekt eingerichtete Firewall schützt vor unautorisierten Zugriffen, ermöglicht gezielte Traffic-Kontrolle und unterstützt die Einhaltung von Sicherheitsrichtlinien. In der Linux-Welt stehen dabei mehrere Werkzeuge zur Verfügung, darunter UFW, firewalld und nftables. Dieser Leitfaden vergleicht die drei Lösungen, zeigt die Grundlagen der Einrichtung und erläutert Best Practices für Einsteiger und Profis.

Grundlagen der Linux-Firewall

Firewalls dienen der Kontrolle von Netzwerkverkehr anhand definierter Regeln. Auf Linux-Systemen wird dies traditionell über iptables realisiert, während moderne Systeme zunehmend auf nftables setzen. Firewall-Tools bieten abstrahierte Schnittstellen für die Verwaltung dieser Regeln.

  • Blockieren oder Zulassen von Verbindungen basierend auf IP-Adressen, Ports oder Protokollen
  • Stateful Inspection: Überwachen von Verbindungsstatus für TCP/UDP
  • Logging und Reporting zur Sicherheitsüberwachung

UFW (Uncomplicated Firewall)

UFW ist eine benutzerfreundliche Firewall für Ubuntu und Debian-basierte Systeme. Sie abstrahiert die Komplexität von iptables und eignet sich besonders für Einsteiger und schnelle Deployments.

Installation und Aktivierung

sudo apt update
sudo apt install ufw
sudo ufw enable

Grundlegende Regeln setzen

Einfaches Zulassen oder Blockieren von Verbindungen:

# SSH erlauben
sudo ufw allow 22/tcp

HTTP und HTTPS erlauben

sudo ufw allow 80,443/tcp

Alle eingehenden Verbindungen blockieren, Standard ausgehender Verkehr erlaubt

sudo ufw default deny incoming
sudo ufw default allow outgoing

Status prüfen und Regeln anzeigen

sudo ufw status verbose

firewalld

firewalld ist auf Red Hat, CentOS und Fedora verbreitet. Es verwendet Zonen, die Netzwerkinterfaces unterschiedlichen Sicherheitslevels zuordnen, und erlaubt dynamische Änderungen ohne Neustart der Firewall.

Installation und Aktivierung

sudo yum install firewalld
sudo systemctl enable firewalld --now
sudo systemctl status firewalld

Zonen und Dienste

Zonen erleichtern die Verwaltung verschiedener Netzwerke:

# Zone für internes Netzwerk setzen
sudo firewall-cmd --zone=internal --change-interface=eth0

HTTP und HTTPS in Zone erlauben

sudo firewall-cmd --zone=internal --add-service=http --permanent
sudo firewall-cmd --zone=internal --add-service=https --permanent

Regeln neu laden

sudo firewall-cmd --reload

Regeln prüfen

sudo firewall-cmd --list-all

nftables

nftables ersetzt iptables als modernes Framework für Paketfilterung auf Linux. Es erlaubt eine konsistente Syntax, komplexe Regelsets und performante Verarbeitung von Paketen.

Installation und Aktivierung

sudo apt install nftables      # Debian/Ubuntu
sudo systemctl enable nftables --now
sudo systemctl status nftables

Ein einfaches Regelset erstellen

sudo nano /etc/nftables.conf

Beispielkonfiguration

table inet filter {
chain input {
type filter hook input priority 0;
policy drop;

# Loopback erlauben
iif lo accept

# SSH erlauben
tcp dport 22 accept

# HTTP/HTTPS erlauben
tcp dport { 80, 443 } accept

# Established Sessions akzeptieren
ct state established,related accept
}

chain forward {
type filter hook forward priority 0;
policy drop;
}

chain output {
type filter hook output priority 0;
policy accept;
}

}

Regeln aktivieren

sudo nft -f /etc/nftables.conf

Vergleich der Tools

  • UFW: Einfach, gut für Einsteiger, abstrahiert iptables, weniger flexibel bei komplexen Anforderungen
  • firewalld: Dynamisch, Zonen-basiert, ideal für Enterprise-Umgebungen auf RHEL/CentOS
  • nftables: Modern, performant, ersetzt iptables langfristig, flexibel für komplexe Policies

Best Practices für Linux-Firewalls

  • Immer default-deny für eingehenden Verkehr setzen
  • Nur notwendige Ports freigeben und auf spezifische IPs limitieren
  • SSH auf sicheren Port und mit Key-Authentifizierung betreiben
  • Logging aktivieren und regelmäßig prüfen
  • Regelsets versionieren, um Änderungen nachvollziehbar zu machen
  • Automatisierte Tools (Ansible, Puppet) für konsistente Konfiguration nutzen

Fazit

Die Auswahl des passenden Firewall-Tools hängt von Zielsystem, Komplexität der Umgebung und Administrationspräferenzen ab. Für Einsteiger eignen sich UFW und einfache firewalld-Konfigurationen, während Profis und größere Deployments von der Flexibilität und Performance von nftables profitieren. Unabhängig vom Tool gilt: klare Regeln, regelmäßiges Audit und sichere Key-/Port-Konfiguration sind entscheidend für den Schutz von Linux-Servern.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles