linux-suse-opensuse security firewall yast firewalld sles opensuse

YaST Firewall: Managing firewalld (Artikel 135)

Konfiguration der Firewall unter SUSE mittels YaST. Erfahren Sie den Umgang mit firewalld Zonen, die Freischaltung von Services und die grafische Verwaltung von Sicherheitsregeln.

# YaST Firewall: Sicherheit grafisch konfigurieren

TL;DR / Management Summary SUSE hat den klassischen SuSEfirewall2 durch das modernere firewalld ersetzt. Das Besondere bei SUSE: Das YaST Firewall-Modul bietet eine der intuitivsten Oberflächen zur Verwaltung von Zonen und Services. Ein Senior Admin nutzt YaST, um Schnittstellen sicher zu segmentieren, ohne die Syntax von firewall-cmd (siehe Artikel 091) auswendig lernen zu müssen. Das Ziel: Ein “Deny by Default” Regelwerk mit minimalem Aufwand.


# 1. Einführung & Architektur

Die Brücke zwischen YaST und firewalld.

YaST agiert als Frontend für den firewalld Dämon. Jede Änderung in YaST wird sofort in die XML-Konfigurationsdateien von firewalld geschrieben.

# Die Architektur (Mermaid)

graph TD
    A[Admin User] -->|yast2 firewall| B[YaST Module]
    B --> C{firewalld Daemon}
    C --> D[Active Zone: public]
    C --> E[Active Zone: internal]
    D --> F[Allow: HTTP, SSH]
    E --> G[Allow: All Internal]
    C --> H[nftables / iptables Backend]

# 2. Basiskonfiguration in YaST

Zonen und Schnittstellen.

Starten Sie das Modul:

sudo yast2 firewall

# Die wichtigsten Schritte

  1. Schnittstellen (Interfaces): Ordnen Sie jede Netzwerkkarte einer Zone zu. Eine Karte ohne Zone landet in der “Default”-Zone (meist public).
  2. Erlaubte Dienste (Allowed Services): Wählen Sie für jede Zone die Dienste aus, die erreichbar sein sollen. YaST liest die Service-Definitionen (z.B. ssh, http) direkt aus firewalld aus.
  3. Masquerading: Aktivieren Sie dies mit einem Klick, wenn der SUSE-Server als Router/NAT-Gateway fungieren soll.

# 3. SUSE-spezifische Zonen

Vordefinierte Vertrauensstufen.

SUSE nutzt die Standard-Zonen von firewalld, hat aber oft spezifische Standard-Einstellungen:

  • public: Die sicherste Zone für Internet-Interfaces.
  • home / work: Weniger restriktiv, ideal für interne Büro-Netze.
  • trusted: Nutzt SUSE oft für Loopback-Devices – hier ist alles erlaubt.

# 4. Day-2 Operations: Logging & Custom Services

Tiefer in die Konfiguration.

# Eigenen Service anlegen

Wenn Sie einen Non-Standard Port (z.B. 8888 für eine eigene App) freischalten wollen:

  1. In YaST unter “Services” auf “Add” klicken.
  2. Port und Protokoll (TCP/UDP) angeben.
  3. Der Service steht nun permanent in allen Zonen zur Auswahl zur Verfügung.

# Logging von abgelehnten Paketen

Aktivieren Sie das Logging in YaST unter “Options”, um in /var/log/messages zu sehen, wer versucht, die Firewall zu durchbrechen.


# 5. Troubleshooting & “War Stories”

Wenn die Firewall im Weg steht.

# Story 1: “Der hängende YaST-Speichervorgang”

Symptom: Beim Klick auf “Finish” in YaST friert die Oberfläche ein. Ursache: YaST versucht, die Regeln anzuwenden, aber ein iptables oder nftables Befehl blockiert im Kernel (oft durch hängende Verbindungen oder andere Firewall-Tools wie Docker). Lösung: Nutzen Sie die Konsole: sudo firewall-cmd --reload. Falls das auch hängt, prüfen Sie, ob andere Security-Tools (z.B. Fail2Ban) gerade massiv Regeln schreiben.

# Story 2: “SSH-Lockout durch Zonenwechsel”

Symptom: Der Admin verschiebt eth0 von der Zone public in die Zone external und verliert sofort die Verbindung. Ursache: In der Zone external war der SSH-Dienst nicht aktiviert. Lösung: Nutzen Sie immer erst den Befehl firewall-cmd --runtime-to-permanent, nachdem Sie die Regel im “Runtime”-Modus getestet haben. In YaST: Nutzen Sie die Test-Funktion (Apply) ohne direkt zu speichern.


# 6. Fazit & Empfehlung

  • GUI: YaST Firewall ist unschlagbar für komplexe Setups mit vielen Interfaces.
  • CLI: Nutzen Sie firewall-cmd für Automatisierung und schnelles Debugging.
  • Best Practice: Dokumentieren Sie die Zuordnung von Interfaces zu Zonen. In einer Enterprise-Umgebung sollte kein Interface unzugeordnet sein.

# Anhang: Cheatsheet

Aufgabe YaST / CLI Befehl
Modul starten yast2 firewall
Status via CLI firewall-cmd --state
Alle Regeln listen firewall-cmd --list-all-zones
Aktuelle Zone für eth0 firewall-cmd --get-zone-of-interface=eth0
Dienst temporär erlauben firewall-cmd --add-service=http
Dienst permanent erlauben firewall-cmd --permanent --add-service=http