Einführung
Stellen Sie sich Ihren Computer als ein Haus vor. Standardmäßig könnten Türen und Fenster offen sein, sodass jeder eintreten kann. Um das Haus zu sichern, benötigen Sie einen Sicherheitsdienst, der den Zugriff anhand festgelegter Regeln kontrolliert.
Unter Linux übernimmt UFW (Uncomplicated Firewall) diese Aufgabe. UFW wurde als einfachere Benutzeroberfläche für Firewall-Systeme auf niedrigerer Ebene entwickelt. Damit können Sie festlegen, wer eine Verbindung zu Ihrem System herstellen darf und wer nicht.
Diese Unterscheidung ist wichtig: UFW ist eine Verwaltungsebene und nicht selbst die Firewall-Engine. UFW bietet Einsteigern eine einfachere Oberfläche für Netzwerkrichtlinien, ohne dass sie Regeln für die Paketfilterung auf niedriger Ebene direkt schreiben müssen.
Die Konfiguration einer Firewall in einer Cloud-Umgebung wie LabEx erfordert jedoch Vorsicht. Wenn Sie standardmäßig alle eingehenden Verbindungen blockieren, was eine gängige Sicherheitsmaßnahme ist, könnten Sie versehentlich die Verbindung zur LabEx-Umgebung unterbrechen.
In diesem Lab verwenden Sie daher einen sicheren Ansatz:
- Setzen Sie die Standardrichtlinie für eingehende Verbindungen auf Allow Incoming, um eine Aussperrung zu verhindern.
- Erlauben Sie Datenverkehr auf Port 8080 für eine Webanwendung ausdrücklich.
- Aktivieren Sie die Firewall.
So lernen Sie, UFW-Regeln zu verwalten, ohne den Zugriff auf Ihren Arbeitsbereich zu verlieren.
Firewall-Status prüfen
Bevor Sie Änderungen vornehmen, sollten Sie den aktuellen Zustand Ihrer Anwendung und der Firewall kennen.
Auf Port 8080 läuft ein einfacher Webserver. Prüfen Sie zunächst, ob die Anwendung erreichbar ist.
Führen Sie den folgenden Befehl aus:
curl -I 127.0.0.1:8080
Sie sollten eine ähnliche HTTP-Antwort sehen:
HTTP/1.0 200 OK
Server: SimpleHTTP/0.6 Python/3.10.6
...
Damit ist bestätigt, dass die Webanwendung läuft und lokal erreichbar ist.
Wenn Sie den Dienst vor der Änderung der Firewall prüfen, können Sie zwei verschiedene Problemarten voneinander unterscheiden: Probleme mit der Anwendung und Probleme mit Netzwerkrichtlinien. Wenn der Dienst bereits lokal nicht funktioniert, liegt die Ursache wahrscheinlich nicht zuerst bei der Firewall.
Prüfen Sie anschließend den UFW-Status, um festzustellen, ob UFW derzeit aktiv ist.
sudo ufw status
Wahrscheinlich sehen Sie:
Status: inactive
Das bedeutet, dass UFW installiert ist, aber derzeit keine Regeln durchsetzt. Der gesamte Datenverkehr kann ungehindert passieren.
Ein Firewall-Regelwerk ist im Grunde eine Richtlinie für den Netzwerkzugriff. „Inactive“ bedeutet nicht, dass die Software defekt ist. Es bedeutet, dass die Richtlinie derzeit nicht durchgesetzt wird.
Standardrichtlinie und Regeln konfigurieren
Konfigurieren Sie nun, wie die Firewall den Datenverkehr behandelt.
Standardrichtlinie auf Allow setzen
UFW ist standardmäßig häufig so konfiguriert, dass alle eingehenden Verbindungen abgelehnt werden. Auf einem lokalen Computer ist das sicher. In der Online-Umgebung von LabEx kann das Blockieren aller eingehenden Verbindungen jedoch die Verbindung zwischen Ihrem Browser und dem Lab unterbrechen.
Setzen Sie deshalb die Standardrichtlinie für eingehenden Datenverkehr auf ALLOW:
sudo ufw default allow incoming
Ausgabe:
Default incoming policy changed to 'allow'
(be sure to update your rules accordingly)
Port 8080 erlauben
Erstellen Sie als Nächstes eine spezifische Regel, die Datenverkehr zu unserer Webanwendung auf Port 8080 ausdrücklich erlaubt. Das ist auch dann eine gute Vorgehensweise, wenn die Standardrichtlinie auf „allow“ steht: Die Regel dokumentiert Ihre Absicht und bereitet die Konfiguration auf eine mögliche spätere Umstellung der Standardrichtlinie auf „deny“ vor.
Diese ausdrückliche Festlegung ist für die Sicherheit wichtig. Anhand einer klaren Regel lässt sich später leichter nachvollziehen, warum ein Port geöffnet ist und ob diese Freigabe noch erforderlich ist.
sudo ufw allow 8080
Das System bestätigt die Änderung:
Rules updated
Rules updated (v6)
Damit haben Sie eine sichere Ausgangskonfiguration eingerichtet und eine spezifische Regel für Ihre Anwendung hinzugefügt.
Firewall aktivieren
Nachdem Sie die Regeln konfiguriert haben, aktivieren Sie nun die Firewall.
Führen Sie den folgenden Befehl aus, um UFW zu aktivieren:
sudo ufw enable
Da Sie die Standardrichtlinie auf ALLOW gesetzt haben, aktiviert UFW die Firewall sofort, ohne Sie davor zu warnen, dass die SSH-Verbindung unterbrochen werden könnte. Eine solche Warnung erscheint häufig, wenn die Standardrichtlinie auf „deny“ steht.
Sie sollten Folgendes sehen:
Firewall is active and enabled on system startup
Damit schalten Sie den Sicherheitsdienst effektiv ein.
UFW speichert die Regeln nun nicht mehr nur, sondern setzt sie auch durch. Der Unterschied zwischen einer konfigurierten und einer aktiven Richtlinie ist ein grundlegendes Sicherheitskonzept, das in vielen Systemen gilt.
Firewall-Konfiguration überprüfen
Prüfen Sie abschließend, ob die Firewall aktiv ist und die Regeln korrekt angewendet werden.
Rufen Sie den Status erneut ab:
sudo ufw status
Nun sollte der Status active sein. Außerdem sollten die von Ihnen erstellten Regeln angezeigt werden:
Status: active
To Action From
-- ------ ----
8080 ALLOW Anywhere
8080 (v6) ALLOW Anywhere (v6)
Verbindung testen
Stellen Sie sicher, dass die Webanwendung trotz aktivierter Firewall weiterhin erreichbar ist.
curl -I 127.0.0.1:8080
Sie sollten wie zuvor dieselbe Antwort HTTP/1.0 200 OK erhalten.
Damit ist bestätigt:
- Die Firewall ist aktiv.
- Die Regeln funktionieren wie erwartet.
- Die Anwendung bleibt erreichbar.
Zusammenfassung
In diesem Lab haben Sie die UFW-Firewall erfolgreich konfiguriert und aktiviert.
Sie haben gelernt:
- Firewall-Status prüfen: Verwenden Sie
sudo ufw status, um festzustellen, ob die Firewall aktiv ist. - Sichere Standardeinstellungen konfigurieren: Verwenden Sie
sudo ufw default allow incoming, um versehentliche Aussperrungen in Cloud-Umgebungen zu verhindern. - Regeln hinzufügen: Verwenden Sie
sudo ufw allow 8080, um Datenverkehr auf bestimmten Ports zu erlauben. - Firewall aktivieren: Verwenden Sie
sudo ufw enable, um die Regeln zu aktivieren.
In einer Produktionsumgebung würden Sie die Standardrichtlinie für eingehenden Datenverkehr normalerweise auf deny setzen und ausschließlich die benötigten Ports erlauben, zum Beispiel 22 für SSH oder 80 für HTTP. Zu verstehen, wie Sie diese Regeln sicher verwalten, ist jedoch der erste Schritt, um Ihr System abzusichern.



