Öffnen Sie nur den Webverkehr, den Ihr SLES 15-Server benötigt.

Beispielszenario: Stellen Sie sich einen Administrator vor, der einen fiktiven SLES-15-Server namens web01 für den Betrieb einer kleinen öffentlichen Website vorbereitet. Ziel ist es, eingehende HTTP-Verbindungen über TCP-Port 80 zu ermöglichen und gleichzeitig den bestehenden SSH-Administrationspfad beizubehalten. Dies ist ein Beispiel zur Veranschaulichung und kein Testbericht oder eine Behauptung, dass jede SLES-15-Installation dieselben Schnittstellennamen oder Dienste verwendet.

Unter SLES 15 firewalldist firewalld das Standard-Firewall-Framework und firewall-cmdsteuert dessen Funktion. Zuerst wird die aktive Zone identifiziert und der Fernzugriff überprüft. Anschließend wird der kleinste erforderliche Dienst in der permanenten Konfiguration zu dieser Zone hinzugefügt und das System neu gestartet. Der SUSE-Leitfaden „Sicherheit und Härtung für SLES 15 SP7“ beschreibt dieses zonenbasierte Modell und die Unterscheidung zwischen Laufzeit- und permanenten Regeln. Diese Schritte setzen voraus, dass firewalld installiert ist und ausgeführt wird. Bei älteren, aktualisierten Systemen ist möglicherweise eine separate Migrationsprüfung erforderlich.

1. Überprüfen Sie den Dienst und die aktive Zone, bevor Sie die Regeln ändern.

Stellen Sie eine Verbindung über die Serverkonsole oder eine Management-Sitzung her, die Sie bei Netzwerkunterbrechung wiederherstellen können. Wenn Sie über SSH verbunden sind, lassen Sie diese Sitzung während der Firewall-Änderungen geöffnet. Stellen Sie sicher, dass firewalld ausgeführt wird und prüfen Sie, welche Zone die Schnittstelle verwaltet.

sudo firewall-cmd --state
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-default-zone

Der erste Befehl sollte eine Meldung ausgeben running. Der Befehl `active-zones` listet Zonen auf, denen Schnittstellen oder Quelladressen zugewiesen sind; es können mehrere angezeigt werden. Im fiktiven Beispiel `web01` wird beispielsweise eine publicSchnittstelle angezeigt ens192. Verwenden Sie in späteren Befehlen die Zone, die der eingehenden Netzwerkschnittstelle zugeordnet ist. Gehen Sie nicht davon aus, dass die Schnittstelle den Namen `<interface1>` trägt eth0, und nehmen Sie nicht an, publicdass `<interface1>` aktiv ist, nur weil dies ein üblicher Standardwert ist.

Illustrative Terminalansicht, die den laufenden Firewall-Dienst firewalld und die der öffentlichen Zone zugewiesene Schnittstelle ens192 zeigt.
Beispielhafte Terminalansicht für die erste Überprüfung: firewalld meldet, dass es läuft, und ens192 erscheint in der öffentlichen Zone.

Wenn der Dienst nicht ausgeführt wird, überprüfen Sie seinen Status, bevor Sie ihn starten sudo systemctl status firewalld. Bei Standardinstallationen von SLES 15 ist firewalld standardmäßig installiert und aktiviert. Image-Profile, Upgrades oder lokale Richtlinien können jedoch abweichen. Wenn firewalld installiert, aber gestoppt ist, starten und aktivieren Sie es erst, nachdem Sie sichergestellt haben, dass die aktuellen Richtlinien Ihre benötigten Zugriffsrechte gewährleisten. sudo systemctl enable --now firewalldAuf einem remote verwalteten Host überprüfen Sie den Konsolenzugriff und Ihre SSH-Berechtigung, bevor Sie eine Firewall aktivieren, deren aktuelle Regeln unbekannt sind.

2. Bestätigen Sie die Dienstdefinition und sichern Sie SSH.

Ein firewalld-Dienst ist ein benanntes Bündel von Ports und Protokollen. Überprüfen Sie die lokale Definition, bevor Sie ihn öffnen:

sudo firewall-cmd --info-service=http
sudo firewall-cmd --zone=public --list-all

Unter SLES httpentspricht der vordefinierte Dienst dem TCP-Port 80. Die Zonenliste ermöglicht die Überprüfung der aktuell zulässigen Dienste und Ports. Ersetzen Sie publicdie angegebene Zone durch die aktive Zone, die Sie gefunden haben. Wenn Sie den Server per SSH verwalten, stellen Sie sicher, sshdass dies in dieser Zone zulässig ist, bevor Sie fortfahren. Das Installationsverhalten von SLES und die bestehenden Richtlinien können variieren. Überprüfen Sie daher die Einstellungen, anstatt sich auf Annahmen zu verlassen. Wenn der installierte SSH-Daemon auf einem nicht standardmäßigen Port lauscht, sshpasst ein generischer Diensteintrag möglicherweise nicht. Überprüfen Sie daher zuerst den tatsächlichen Port des Daemons und die bestehende Firewall-Richtlinie.

Die beispielhafte Terminalansicht zeigt, dass der vordefinierte HTTP-Dienst den TCP-Port 80 umfasst.
Beispielhafte Dienstprüfung: Die HTTP-Dienstdefinition listet TCP-Port 80 auf.

3. HTTP dauerhaft hinzufügen und anschließend die gespeicherten Regeln laden

Firewalld verwaltet separate Laufzeit- und permanente Konfigurationen. Ein normaler Befehl ändert nur die aktiven Laufzeitregeln; --permanenter schreibt die gespeicherte Konfiguration, aktiviert diese Änderung aber nicht sofort. Fügen Sie für web01 den HTTP-Dienst der Zone hinzu, die seine öffentliche Schnittstelle besitzt.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Verwenden Sie die Option --zoneexplizit, damit die Regel nicht in einer unbeabsichtigten Standardzone landet. Ein Neuladen wendet die permanenten Regeln zur Laufzeit an. Nicht gespeicherte Änderungen, die nur zur Laufzeit gelten, gehen beim Neuladen verloren. Prüfen und speichern Sie daher alle temporären Regeln, die Sie benötigen, bevor Sie den Dienst ausführen. Um einen Dienst zu testen, bevor Sie ihn persistent machen, können Sie ihn zunächst sudo firewall-cmd --zone=public --add-service=httpohne die Option ausführen --permanent. Funktioniert er, fügen Sie die permanente Regel hinzu und laden Sie den Dienst neu. Ein Test, der nur zur Laufzeit gilt, geht nach einem Neuladen oder einem Neustart der Firewall verloren.

Illustrative Terminalansicht, die zeigt, dass HTTP dauerhaft zu public hinzugefügt wurde und firewalld neu geladen wurde.
Beispielhafte Befehlsfolge: Speichern Sie die HTTP-Zulassung in der öffentlichen Umgebung und laden Sie dann firewalld neu, um sie anzuwenden.

Benötigen Sie einen einzelnen Port anstelle eines vordefinierten Dienstes, geben Sie sowohl Port als auch Protokoll an, z. B. 802. --add-port=8080/tcpFühren Sie dies nur durch, wenn die Anwendung tatsächlich an diesem Port lauscht. Eine Firewall-Freigabe startet keinen Webserver, erstellt keine Cloud-Sicherheitsgruppenregel und konfiguriert keinen Upstream-Router; alle Netzwerkschichten müssen den Datenverkehr zulassen.

4. Überprüfen Sie die Zugriffsrechte und entfernen Sie nicht mehr benötigte Regeln.

Überprüfen Sie die laufenden und gespeicherten Konfigurationen:

sudo firewall-cmd --zone=public --list-services
sudo firewall-cmd --permanent --zone=public --list-services
sudo firewall-cmd --check-config

Die Ausgabe sollte httpbeide Dienstlisten enthalten, und die Konfigurationsprüfung sollte fehlerfrei abgeschlossen werden. Überprüfen Sie außerdem, ob die Anwendung lokal lauscht, beispielsweise mit `npm install --help` sudo ss -lntp, und testen Sie die Website von einem Client im vorgesehenen Netzwerk. Eine Firewall-Liste bestätigt eine Regel, nicht die End-to-End-Erreichbarkeit: DNS, eine Cloud-Firewall, Routing und der Webserver selbst können die Anfrage weiterhin blockieren oder ablehnen.

Beispielhafte Terminalansicht mit HTTP in der Liste der öffentlichen Zonendienste neben SSH.
Beispielhafte Überprüfungsausgabe: HTTP erscheint unter den Diensten der öffentlichen Zone, während SSH weiterhin aufgeführt ist.

Wenn HTTP nicht mehr benötigt wird, entfernen Sie die gespeicherte Regel und laden Sie sie neu: sudo firewall-cmd --permanent --zone=public --remove-service=http, gefolgt von sudo firewall-cmd --reload. Überprüfen Sie anschließend die Laufzeit- und permanenten Listen erneut. Vermeiden Sie es, alle Regeln zu löschen oder zu einer vertrauenswürdigen Zone zu wechseln, um ein einzelnes Zugriffsproblem zu beheben; solche weitreichenden Änderungen können nicht zusammenhängende Dienste gefährden.

Quellenangaben

Versionsspezifische Hinweise finden Sie im SUSE SLES 15 SP7 Security and Hardening Guide . Informationen zum Befehlsverhalten in verschiedenen firewalld-Versionen finden Sie in der Dokumentation zu firewall-cmd und im Abschnitt zur Laufzeit- bzw. permanenten Konfiguration . Die verfügbaren Optionen können je nach der im jeweiligen SLES Service Pack enthaltenen firewalld-Version variieren. Konsultieren Sie daher die lokale Hilfe, firewall-cmd --helpfalls ein Befehl nicht verfügbar ist.

Einen Kommentar hinterlassen

Diagnose eines SUSE-Servers, der beim Herunterfahren mit systemd hängen bleibt

Diagnose eines SUSE-Servers, der beim Herunterfahren mit systemd hängen bleibt

Verwenden Sie systemd jobs und das vorherige Boot-Journal, um eine langsame Dienst-, Mount- oder Speicherabhängigkeit zu lokalisieren und diese dann zu beheben, ohne die Ursache zu verschleiern.

Öffnen Sie nur den Webverkehr, den Ihr SLES 15-Server benötigt.

Öffnen Sie nur den Webverkehr, den Ihr SLES 15-Server benötigt.

Verwenden Sie firewall-cmd, um die aktive Zone zu untersuchen, HTTP sicher zuzulassen, den SSH-Zugriff aufrechtzuerhalten und zu überprüfen, ob die Regel einen Neustart unter SLES 15 übersteht.

SLES PAM-Anmeldefehler diagnostizieren, ohne sich selbst auszusperren

SLES PAM-Anmeldefehler diagnostizieren, ohne sich selbst auszusperren

Ermitteln Sie, ob ein PAM-Fehler auf den zugehörigen Dienst, die Kontorichtlinie oder den Identitätsanbieter zurückzuführen ist, und beheben Sie anschließend die richtige SLES-Konfiguration, während gleichzeitig eine funktionierende Administratorsitzung erhalten bleibt.

Debian 12 auf einem VPS mit wenig RAM: So reduzieren Sie MySQL-Speicherfehler

Debian 12 auf einem VPS mit wenig RAM: So reduzieren Sie MySQL-Speicherfehler

MySQL-OOM-Fehler unter Debian 12 diagnostizieren, VPS-Speichergrenzen prüfen, Swap konfigurieren und Datenbankspeicher und Parallelität optimieren, ohne eine universelle Lösung zu versprechen.

Automatisieren Sie regelmäßige Nextcloud-Backups mit Restic und Cron

Automatisieren Sie regelmäßige Nextcloud-Backups mit Restic und Cron

Sichern Sie die Dateien von Nextcloud und MariaDB gemeinsam, planen Sie verschlüsselte Restic-Snapshots mit Cron und überprüfen Sie die Wiederherstellung, ohne den laufenden Server zu gefährden.

Installation und Signierung benutzerdefinierter Kernelmodule unter SLES 15 Secure Boot

Installation und Signierung benutzerdefinierter Kernelmodule unter SLES 15 Secure Boot

Laden Sie ein benutzerdefiniertes SLES-15-Kernelmodul, ohne Secure Boot zu deaktivieren. Passen Sie es an den laufenden Kernel an, signieren Sie die .ko-Datei, registrieren Sie einen MOK-Schlüssel und überprüfen Sie das Laden.

Sichern und Wiederherstellen eines Zimbra CE-Postfachs mithilfe von TGZ-Exporten

Sichern und Wiederherstellen eines Zimbra CE-Postfachs mithilfe von TGZ-Exporten

Exportieren Sie ein einzelnes Zimbra Community Edition-Postfach, überprüfen Sie dessen TGZ-Backup und stellen Sie fehlende Elemente wieder her, ohne vorhandene E-Mails zu überschreiben.

So konfigurieren Sie ein WireGuard Point-to-Site-VPN unter Debian 12

So konfigurieren Sie ein WireGuard Point-to-Site-VPN unter Debian 12

Richten Sie einen Debian 12 WireGuard VPN-Server für einen Remote-Client ein. Konfigurieren Sie Schlüssel, IPv4-Weiterleitung, nftables NAT, Firewall-Zugriff und Verbindungsprüfungen.

Genehmigten Benutzern die Erstellung von Jitsi-Räumen mit Keycloak-Anmeldung ermöglichen

Genehmigten Benutzern die Erstellung von Jitsi-Räumen mit Keycloak-Anmeldung ermöglichen

Nur genehmigte Konten dürfen Jitsi Meet-Räume mit Keycloak und Token-Authentifizierung starten, während die Teilnahme von Gästen bei Bedarf weiterhin möglich bleibt.

Synchronisierung von Active Directory-Benutzern mit ONLYOFFICE DocSpace über LDAP

Synchronisierung von Active Directory-Benutzern mit ONLYOFFICE DocSpace über LDAP

Verbinden Sie ONLYOFFICE DocSpace mit Active Directory oder OpenLDAP, importieren Sie Benutzer und Gruppen sicher, ordnen Sie Kontofelder zu und planen Sie eine zuverlässige Synchronisierung.