Ubuntu 26.04 / Verwaltung und Dienstzugriff mit UFW einschränken
Konfigurieren Sie UFW, nachdem Sie die tatsächliche Verwaltungsquelle und die Dienstports identifiziert haben. Bereiten Sie SSH-Freigaberegeln und den Konsolenzugang vor, bevor Sie es aktivieren, und testen Sie dann neue Verbindungen sowohl von erlaubten als auch von verweigerten Clients.
Überprüfen Sie zuerst die Listener und die aktuellen Regeln
sudo ss -lntup
sudo ss -tn
sudo ufw status verbose
sudo ufw status numbered
Notieren Sie die Listener-Adressen und -Ports sowie die tatsächliche Peer-Adresse Ihrer SSH-Verbindung. NAT oder VPN können die vom Server beobachtete Quelle verändern. Wenn UFW bereits aktiv ist, bewahren Sie dessen Richtlinien und Regeln und fügen Sie nur die erforderlichen Änderungen hinzu.
Der erlaubte Linux-Client im Static-IP-Labor verwendet 192.168.56.10. Die direkte Verwaltung vom Windows-Host erfolgt normalerweise über 192.168.56.1; substituieren Sie diese verifizierte Quelle für .10. Vergleichen Sie den ss -tn Peer des Servers mit der Client-Adresse und verwenden Sie nicht die NAT-Adresse oder das Serverziel .20 als Quelle.
Definieren Sie eine Basis für eine frische Labor-VM
Die folgende Basis geht von einer dedizierten VM ohne bestehende Regeln, Management-Client 192.168.56.10 und SSH-Port 22 aus. Ersetzen Sie die Werte durch verifizierte. Überschreiben Sie nicht die etablierten eingehenden oder ausgehenden Richtlinien eines anderen Systems mit diesem Beispiel.
sudo ufw --dry-run allow from 192.168.56.10 to any port 22 proto tcp
sudo ufw allow from 192.168.56.10 to any port 22 proto tcp
sudo ufw default deny incoming
sudo ufw default allow outgoing
Ein Trockentest zeigt vorgeschlagene Regeln an, ohne Zugriff zu gewähren. Fügen Sie zuerst die Verwaltungsberechtigung hinzu und halten Sie die Konsolenanmeldung verfügbar. Eine Regel für Port 22 schützt SSH, das auf einem anderen Port konfiguriert ist, nicht.
Ubuntus Firewall-Leitfaden erklärt das Verhalten von UFW, Quellbeschränkungen und Trockentests.
Erlauben Sie den erforderlichen Dienst und aktivieren Sie die Firewall
sudo ufw allow from 192.168.56.10 to any port 80 proto tcp
sudo ufw enable
sudo ufw status verbose
Port 80 hier erlaubt nur HTTP-Tests vom angegebenen Client. Öffnen Sie keinen ungenutzten Dienst vorab. Lesen Sie die Verbindungswarnung von enable und behalten Sie die alte Sitzung bei, bis eine neue SSH-Verbindung von einem anderen Terminal erfolgreich ist.
Unterscheiden Sie zwischen IPv6-, Cloud- und Container-Filterung
Überprüfen Sie die IPv6-Einstellungen in /etc/default/ufw und die IPv6-Listener in ss. Wenn der Zugriff eines IPv4-Clients blockiert ist, beweist das nicht, dass auch der Zugriff über IPv6 blockiert ist. Cloud-Sicherheitsgruppen, Router und Host-Firewalls sind separate Ebenen.
Container-Engines wie Docker können eigene Freigaberegeln installieren. Aus den UFW-Regeln allein lässt sich deshalb nicht zuverlässig ableiten, welche Container-Ports von außen erreichbar sind. Überprüfen Sie Host-Bindungen und die dokumentierte Firewall-Integration der Engine und testen Sie den tatsächlichen Zugriff von außen.
Zugriff testen und einzelne Regeln rückgängig machen
Verwenden Sie frische SSH- und HTTP-Verbindungen vom erlaubten Client und dasselbe Ziel vom blockierten Client. Bestehende Verbindungen können eine zustandsabhängige Filterung überleben und beweisen nicht die Richtlinie für neue Verbindungen. Unterscheiden Sie einen gestoppten Dienst von einer Firewall-Verweigerung.
sudo ufw delete allow from 192.168.56.10 to any port 80 proto tcp
sudo ufw status numbered
Der Befehl entfernt nur die hinzugefügte Beispiel-HTTP-Regel. Behalten Sie den benötigten SSH-Zugang bei. Aktualisieren Sie die Regelnummern vor der nummerierten Löschung und setzen Sie keine unbeteiligten Richtlinien zurück und deaktivieren Sie diese nicht. Eine vollständige Wiederherstellung einer frischen VM, die ursprünglich inaktiv war, erfordert das Überprüfen der ursprünglichen Richtlinie und des vollständigen Änderungsprotokolls.




