So richten Sie die UFW Firewall unter Linux ein

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.

sudo apt update -y
Updating the System Package

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).

sudo apt install ufw -y
Installing UFW on Ubuntu

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

Enabling IPV6 in the UFW Configuration File

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.

sudo ufw disable && sudo ufw enable

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.

sudo ufw default deny incoming
Denying Incoming Network Traffics

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

sudo ufw default allow outgoing
Allowing Outgoing Network Traffics

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.

sudo apt install openssh-server -y
sudo systemctl start ssh

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.

sudo ufw allow ssh
Allowing SSH connection

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.

Previewing the /etc/services file

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.

sudo ufw allow 22

3. Führen Sie nun den unten stehenden Befehl aus, um UFW zu aktivieren.

sudo ufw enable

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.

Enabling UFW

4. Führen Sie abschließend einen der unten stehenden Befehle aus, um den Status Ihrer UFW-Firewall zu überprüfen.

## Zeigt detailliertere Informationen wie die Schnittstelle und 
## den aktuellen Fortschritt des Pakets an
sudo ufw status verbose
## Zeigt jede Regel mit einer Nummer und dem entsprechenden Erlauben- oder Verweigern-Status an
## Der nummerierte Modus ist nützlich, wenn Sie versuchen, hier und da einen Regelssatz zu löschen
sudo ufw status numbered

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.
Checking verbose UFW firewall status

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.

Viewing the UW Firewall status in a numbered list

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.

## Die HTTP-Verbindung verwendet Port 80 (nicht sicher)
sudo ufw allow 80
sudo ufw allow http
Allowing HTTP connections

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

sudo ufw allow https
## Die HTTP-Verbindung verwendet Port 443 (sicher)
sudo ufw allow 443
Allowing incoming HTTPS connections.

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).

sudo ufw allow 5001:5010/tcp
sudo ufw allow 5001:5010/udp
Allowing traffic on 5001:5010 port range

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.

sudo ufw allow from 192.168.1.2 to any port 22
Allowing SSH Connections from Specific IP Address

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.

## Erlauben von HTTP-Verbindungen nur auf der eth0-Schnittstelle
sudo ufw allow in on eth0 to any port 80
## Erlauben von HTTP-Verbindungen nur auf der wlan0-Schnittstelle
sudo ufw allow in on wlan0 to any port 80
Allowing traffic on a specific interface

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.

sudo ufw status numbered

Notieren Sie sich die Nummer oder den Namen der Regel im Ausgabefenster, wie im folgenden Beispiel.

Previewing all the rules

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

sudo ufw delete 4
Deleting a Rule by Rule Number

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.

sudo ufw delete allow http
Deleting a Rule by Rule Name (http)

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

sudo ufw delete allow 443
Deleting a Rule by Port Number (443)

5. Führen Sie abschließend den folgenden Befehl erneut aus, wie Sie es in Schritt eins getan haben, um alle Regeln aufzulisten.

sudo ufw status numbered

Wie unten gezeigt, sind die Regeln für den Portbereich 5001:5010/tcp, die http-Regel und der Port 443 jetzt entfernt.

Checking the firewall rules

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.

sudo ufw reset

Geben Sie ‚Y‘ ein und drücken Sie die Eingabetaste, um Ihre UFW-Firewall zurückzusetzen.

Resetting UFW

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.

sudo ufw enable

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.

sudo ufw disable
Disabling UFW firewall

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?

Source:
https://adamtheautomator.com/ufw-firewall/