Ohne eine Firewall gibt es keine Regeln oder Beschränkungen für Ihren Netzwerkverkehr, was zu einer Reihe von negativen Konsequenzen führt. Das Linux-System wird mit einem standardmäßigen Firewall-Konfigurationstool geliefert, nämlich Uncomplicated Firewall (UFW). Aber wie richtet man eine UFW-Firewall ein? Lehnen Sie sich zurück und entspannen Sie sich, dieses Tutorial hat Sie abgedeckt!
In diesem Tutorial erfahren Sie, wie Sie UFW konfigurieren und eine Firewall auf Ihrem Linux-System einrichten, um Ihr Netzwerk zu sichern und bösartige Handlungen abzuwehren.
Bereit? Lesen Sie weiter, um zu beginnen!
Voraussetzungen
Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie Folgendes haben:
- Eine Ubuntu-Maschine – Dieses Tutorial verwendet Ubuntu 20.04 LTS, aber andere Linux-Distributionen funktionieren ebenfalls.
- Root-Privilegien für Ihre Maschine.
Installation von UFW und Aktivierung der IPv6-Verbindung
Auch wenn UFW mit Ihrem Ubuntu-System geliefert wird, ist UFW standardmäßig nicht installiert. Installieren Sie UFW zuerst mit dem apt
-Paketmanager und konfigurieren Sie ihn, um Verbindungen über IPv6 zuzulassen.
1. Öffnen Sie Ihr Terminal und führen Sie den Befehl apt update
aus, um Ihren lokalen Paketindex zu aktualisieren. Der Befehl akzeptiert während des Updates alle Aufforderungen (-y
) für weniger Benutzerintervention.

2. Führen Sie anschließend den unten stehenden Befehl aus, um UFW (install uwf
) auf Ihrem System zu installieren, und akzeptieren Sie während der Installation alle Aufforderungen (-y
).

3. Öffnen Sie die UFW-Konfigurationsdatei (/etc/default/ufw) mit Ihrem bevorzugten Texteditor. UFW unterstützt IPv6, aber Sie müssen sicherstellen, dass die Firewall so konfiguriert ist, dass Verbindungen über IPv6 akzeptiert werden.
Wenn Sie nur IPv4 aktiviert haben, sind Sie immer noch für IPv6-Angriffe anfällig.
4. Scrollen Sie zum IPV6-Variablen und setzen Sie den Wert auf yes, wie unten gezeigt. Speichern Sie dann die Änderungen und verlassen Sie den Editor

5. Führen Sie abschließend den Befehl unten aus, um UFW zu deaktivieren und erneut zu aktivieren. Der Befehl startet den UFW-Dienst neu, damit die Änderungen wirksam werden können.
Nach Abschluss des Befehls kann Ihre Firewall nun sowohl IPv4- als auch IPv6-Firewallregelsätze schreiben.
Konfigurieren der Standardrichtlinien für Firewall-Regeln
Wenn Sie gerade erst mit UFW beginnen, wird empfohlen, eine Standardrichtlinie für Ihre Regeln festzulegen. Die Standardrichtlinien werden auf eine Kette angewendet, für die noch keine spezifischen Regeln festgelegt sind.
Richten Sie UFW so ein, dass alle eingehenden Verbindungen abgelehnt und alle ausgehenden Verbindungen zugelassen werden. Als Ergebnis wird jeder, der versucht, Ihr Gerät von außerhalb zu erreichen, abgelehnt, während Sie weiterhin frei zu jeder Website oder jedem Server eine Verbindung herstellen können.
Führen Sie den ufw
-Befehl unten aus, um standardmäßig alle eingehenden Verbindungen zu verweigern
.

Führen Sie nun den folgenden Befehl aus, um standardmäßig alle ausgehenden Verbindungen zu erlauben
.

Zulassen von SSH-Verbindungen in der UFW-Firewall
Sie haben gerade Standardrichtlinien in Ihrer UFW-Firewall festgelegt, um den gesamten eingehenden Datenverkehr zu blockieren, und die „alle erlauben-alle ablehnen“ -Regel ist eine gute Einstellung für einen normalen Benutzer. Aber was ist, wenn Sie einen Server betreiben? Sie müssen bestimmten Datenverkehr zulassen. Das Zulassen von SSH-Verbindungen in Ihrer UFW-Firewall ermöglicht es Ihnen, bestimmten Datenverkehr zu ermöglichen.
Sie richten einen SSH-Server ein, der eingehende SSH-Verbindungen auf Port 22 zulässt. Aber warum Port 22 und nicht ein anderer Port? Auf Unix-ähnlichen Systemen hört der SSH-Daemon standardmäßig auf Port 22, daher ist es eine gute Praxis, den Standard-SSH-Port zu verwenden, um Ihnen das Leben etwas zu erleichtern.
1. Führen Sie die folgenden Befehle aus, um den OpenSSH-Server (install openssh-server
) auf Ihrem System zu installieren und einen OpenSSH-Server (start ssh
) zu starten.
2. Führen Sie nun den folgenden Befehl aus, um eingehende SSH-Verbindungen zuzulassen. Ohne Angabe von Port 22 reicht aus, da UFW weiß, für welchen Port SSH ist.

Die Datei /etc/services enthält eine Liste aller verfügbaren Dienste auf Ihrem System. Öffnen Sie die Datei in Ihrem Texteditor, scrollen Sie zu ssh und sehen Sie sich die Portnummer (22) als Teil der Dienstbeschreibung an, wie unten gezeigt.

Aber vielleicht ziehen Sie es vor, die Portnummer (22
) anzugeben, um SSH zu ermöglichen. Wenn ja, führen Sie stattdessen den folgenden Befehl aus.
3. Führen Sie nun den unten stehenden Befehl aus, um UFW zu aktivieren.
Geben Sie in der Bestätigungsaufforderung Y ein, wie unten gezeigt, und drücken Sie die Eingabetaste, um den Befehl fortzusetzen. UFW wird nun Pakete auf Ihrem System filtern.

4. Führen Sie abschließend einen der unten stehenden Befehle aus, um den Status Ihrer UFW-Firewall zu überprüfen.
Wenn Sie den Befehl mit der verbose
-Option ausführen, sehen Sie eine Ausgabe ähnlich der unten stehenden:
- Status: aktiv – Zeigt an, dass die Firewall derzeit läuft.
- Protokollierung: aktiviert (niedrig) – Zeigt an, dass UFW alle Pakete protokolliert, die von der Firewall verarbeitet werden.
- Standard: ablehnen (eingehend), erlauben (ausgehend), deaktiviert (geroutet) – Zeigt an, dass die Standardrichtlinie darin besteht, alle eingehenden Verbindungen abzulehnen und alle ausgehenden Verbindungen zu erlauben.
- Neue Profile: überspringen – Zeigt an, dass die Firewall derzeit den Standardsatz von Regeln verwendet.

Wenn Sie den Befehl stattdessen mit der Option numerierte
ausführen, sehen Sie die folgende Ausgabe. Sie können eine Liste numerierter Regeln und ihres entsprechenden ERLAUBEN oder ABLEHNEN Status sehen.

Zulassen von HTTP- und HTTPS-Verbindungen
Zu diesem Zeitpunkt haben Sie nur SSH-Verbindungen in Ihrer UFW-Firewall zugelassen, aber das beschränkt die Fähigkeiten Ihres Servers. Erlauben Sie andere Arten von Verbindungen, wie zum Beispiel HTTP oder HTTPS, und fügen Sie weitere Regeln zur UFW-Firewall hinzu.
Führen Sie einen der folgenden Befehle aus, um eingehende HTTP-Verbindungen zu erlauben.

Führen Sie nun einen der folgenden Befehle aus, um eingehende HTTPS-Verbindungen zu erlauben.

Zulassen von Verbindungen aus einem bestimmten Portbereich und einer IP-Adresse
Einige Anwendungen verwenden mehrere Ports, um ihre Dienste bereitzustellen. Und vielleicht müssen Sie einen Bereich von Ports öffnen oder Verbindungen von einer bestimmten IP-Adresse erlauben. In diesem Fall fügen Sie weitere UFW-Firewall-Regeln hinzu.
Führen Sie die folgenden Befehle aus, um eingehende Verbindungen auf den Ports 5001 bis 5009 zu ermöglichen. Sie sollten immer das Protokoll (tcp
oder udp
) nach dem Portbereich angeben, auf den sich die Regeln beziehen, da nicht alle Ports von beiden Protokollen verwendet werden.
Zum Beispiel umfassen häufig verwendete TCP-Ports 80 (HTTP) und 443 (HTTPS). Aber gängige UDP-Ports sind 53 (DNS) und 67/68 (DHCP).

Führen Sie den untenstehenden Befehl aus, wenn Sie bevorzugen, SSH-Verbindungen von einer bestimmten IP-Adresse zuzulassen. Der Befehl erlaubt nur SSH-Verbindungen (port 22
) von der IP-Adresse 192.168.1.2
.

Verkehr von einem bestimmten Netzwerkinterface zulassen
UFW ermöglicht es Ihnen auch, den Verkehr nur über ein bestimmtes Netzwerkinterface zuzulassen, wie z.B. eth0 ist die erste Ethernet-Schnittstelle und wlan0 ist die erste WLAN-Schnittstelle.
Führen Sie einen der folgenden Befehle aus, um HTTP-Verbindungen nur auf den Schnittstellen eth0
und wlan0
zuzulassen.

Löschen von UFW-Firewallregeln
Vielleicht dienen einige UFW-Firewallregeln nicht mehr einem bestimmten Zweck. In diesem Fall möchten Sie möglicherweise einige Regeln aus UFW entfernen. Aber zunächst müssen Sie entweder die Nummer oder den Namen der Regel kennen, die gelöscht werden soll.
1. Führen Sie den folgenden Befehl aus, um eine nummerierte Liste der zu UFW hinzugefügten Regeln zu erhalten.
Notieren Sie sich die Nummer oder den Namen der Regel im Ausgabefenster, wie im folgenden Beispiel.

2. Führen Sie anschließend den folgenden Befehl aus, um Regelnummer 4
zu löschen
, die den Portbereich 5001:5010/tcp
betrifft.

3. Führen Sie den folgenden Befehl aus, um eine Regel anhand ihres tatsächlichen Namens mit dem Status allow
zu löschen
. In diesem Beispiel würden Sie die Regel http
durch den folgenden Befehl löschen.

4. Führen Sie nun den folgenden Befehl aus, um eine Regel durch Angabe einer Portnummer (443
) mit dem Status allow
zu löschen
.

5. Führen Sie abschließend den folgenden Befehl erneut aus, wie Sie es in Schritt eins getan haben, um alle Regeln aufzulisten.
Wie unten gezeigt, sind die Regeln für den Portbereich 5001:5010/tcp
, die http
-Regel und der Port 443
jetzt entfernt.

Zurücksetzen der UFW-Firewall
Es kann Zeiten geben, in denen Sie UFW auf seine Standardeinstellungen zurücksetzen müssen, z. B. nach Konfigurieren eines großen Satzes von Regeln. Ein Update kann Ihre Konfiguration ändern, sodass Sie UFW neu konfigurieren müssen und möglicherweise von vorne beginnen müssen.
Führen Sie den folgenden Befehl ufw reset
aus, um alle Ihre Firewall-Regeln auf ihre Standardeinstellungen zurückzusetzen. Dieser Befehl deaktiviert UFW und löscht alle aktuellen Firewall-Regeln.
Geben Sie ‚Y‘ ein und drücken Sie die Eingabetaste, um Ihre UFW-Firewall zurückzusetzen.

Nachdem der Reset abgeschlossen ist, haben Sie eine frische Installation von UFW vollständig deaktiviert, und sogar Ihre Standardrichtlinien sind verschwunden.
Führen Sie jetzt den folgenden Befehl aus, um UFW wieder zu aktivieren, und beginnen Sie mit der Konfiguration Ihrer Firewall-Regeln von Grund auf neu.
Wenn Sie sich entscheiden, UFW nicht mehr verwenden zu wollen, müssen Sie es nicht wieder aktivieren. Oder führen Sie den Befehl unten aus, um sicherzustellen, dass UFW deaktiviert ist.

Zusammenfassung
Im Laufe dieses Tutorials haben Sie festgestellt, dass das Einrichten einer Firewall nicht allzu schwierig ist, wenn Sie UFW verwenden. Sie sollten nun ein gutes Verständnis dafür haben, wie Sie mit UFW auf Ubuntu Ihre eigenen Regeln einrichten und implementieren können.
Warum also nicht auf diesem neu gewonnenen Wissen aufbauen, indem Sie mehr über UFW und Docker-Sicherheit auf einem Linux-System erfahren?