GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie die UFW-Firewall unter Linux ein

Ohne eine Firewall gibt es keine Regeln oder Einschränkungen für Ihren Netzwerkverkehr, was zu einer Reihe negativer Folgen führt. Das Linux-System wird mit einem Standard-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 schützen und böswillige Handlungen abzuwehren.

Bereit? Lesen Sie weiter, um loszulegen!

Voraussetzungen

Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie Folgendes haben:

  • Ein Ubuntu-Rechner – Dieses Tutorial verwendet Ubuntu 20.04 LTS, aber andere Linux-Distributionen funktionieren.
  • Root-Rechte für Ihren Computer.

UFW installieren und IPv6-Verbindung aktivieren

Obwohl UFW mit Ihrem Ubuntu-System geliefert wird, wird UFW nicht standardmäßig installiert. Installieren Sie zuerst UFW mit dem apt Paketmanager und konfigurieren Sie ihn so, dass er Verbindungen über IPv6 zulässt.

1. Öffnen Sie Ihr Terminal und führen Sie apt update aus Befehl unten, um Ihren lokalen Paketindex zu aktualisieren. Der Befehl akzeptiert alle Eingabeaufforderungen (-y ) während des Updates für weniger Benutzereingriff.

sudo apt update -y

2. Führen Sie als Nächstes den folgenden Befehl aus, um UFW zu installieren (install uwf ) auf Ihrem System, während Sie alle Eingabeaufforderungen akzeptieren (-y ) während der Installation.

sudo apt install ufw -y

2. Ö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 sie Verbindungen über IPv6 akzeptiert.

Wenn Sie nur IPv4 aktiviert haben, sind Sie immer noch anfällig für IPv6-Angriffe.

4. Scrollen Sie nach unten zu IPV6 -Variable und setzen Sie den Wert auf yes , wie unten gezeigt, speichern Sie dann die Änderungen und beenden Sie den Editor

5. Führen Sie abschließend den folgenden Befehl aus, um UFW zu deaktivieren und erneut zu aktivieren. Der Befehl startet den UFW-Dienst neu, damit die Änderungen wirksam werden.

Nach Abschluss des Befehls kann Ihre Firewall nun sowohl IPv4- als auch IPv6-Firewall-Regelsätze schreiben.

sudo ufw disable && sudo ufw enable

Standardrichtlinien für Firewall-Regeln konfigurieren

Wenn Sie gerade erst mit UFW beginnen, wird empfohlen, eine Standardrichtlinie für Ihre Regeln einzurichten. Die Standardrichtlinien werden auf eine Kette angewendet, für die noch keine spezifischen Regeln definiert sind.

Richten Sie UFW so ein, dass alle eingehenden Verbindungen abgelehnt und alle ausgehenden Verbindungen zugelassen werden. Folglich wird jedem Versuch, von außen auf Ihren Computer zuzugreifen, der Zugriff verweigert, während Sie sich weiterhin ungehindert mit jeder Website oder jedem Server verbinden können.

Führen Sie ufw aus Befehl unten an deny alle incoming Verbindungen durch default .

sudo ufw default deny incoming

Führen Sie nun den folgenden Befehl zu allow aus alle outgoing Verbindungen über default .

sudo ufw default allow outgoing

Zulassen von SSH-Verbindungen auf der UFW-Firewall

Sie haben gerade Standardrichtlinien auf Ihrer UFW-Firewall eingerichtet, um den gesamten eingehenden Datenverkehr abzulehnen, und die Regel „Alle zulassen – Alle ablehnen“ ist eine gute Einstellung für einen normalen Benutzer. Aber was ist, wenn Sie einen Server betreiben? Sie müssen bestimmten eingehenden und ausgehenden Datenverkehr zulassen. Das Zulassen einer SSH-Verbindung auf Ihrer UFW-Firewall reicht aus, um bestimmten ein- und ausgehenden Datenverkehr zuzulassen.

Sie richten einen SSH-Server ein, der eingehende SSH-Verbindungen auf Port 22 zulässt. Aber warum Port 22 und kein anderer Port? Auf Unix-ähnlichen Systemen lauscht der SSH-Daemon standardmäßig auf Port 22, daher empfiehlt es sich, den Standard-SSH-Port zu verwenden, um Ihnen das Leben ein wenig einfacher zu machen.

1. Führen Sie die folgenden Befehle aus, um den OpenSSH-Server zu installieren (install openssh-server ) auf Ihrem System und starten Sie einen OpenSSH-Server (start ssh ).

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 es aus, da UFW weiß, welcher Port für SSH ist.

sudo ufw allow ssh

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

Aber vielleicht möchten Sie lieber die Portnummer angeben (22 ), um SSH zuzulassen. Führen Sie in diesem Fall stattdessen den folgenden Befehl aus.

sudo ufw allow 22

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

sudo ufw enable

Geben Sie Y ein in der Bestätigungsaufforderung, wie unten gezeigt, und drücken Sie die Eingabetaste, um mit der Ausführung des Befehls fortzufahren. UFW beginnt nun mit dem Filtern von Paketen auf Ihrem System.

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

## Displays more detailed information, such as the interface and 
## the packet's current progress
sudo ufw status verbose
## Shows each rule with a number and the corresponding allow or deny status 
## The numbered mode is useful when you are trying to delete a rule set here and there
sudo ufw status numbered

Wenn Sie den Befehl mit dem verbose ausführen Option, sehen Sie eine Ausgabe ähnlich der folgenden:

  • Status:aktiv – Zeigt an, dass die Firewall derzeit ausgeführt wird.
  • Protokollierung:an (niedrig) – Zeigt an, dass UFW alle Pakete protokolliert, die von der Firewall verarbeitet werden.
  • Standard:ablehnen (eingehend), zulassen (ausgehend), deaktiviert (weitergeleitet) – Gibt an, dass die Standardrichtlinie darin besteht, alle eingehenden Verbindungen zu verweigern und alle ausgehenden Verbindungen zuzulassen.
  • Neue Profile:überspringen – Zeigt an, dass die Firewall derzeit den Standardsatz von Regeln verwendet.

Wenn Sie den Befehl mit dem numbered ausführen Option stattdessen sehen Sie die Ausgabe unten. Sie können eine Liste mit nummerierten Regeln und dem entsprechenden ERLAUBEN sehen oder VERWEIGERN Status.

Zulassen von HTTP- und HTTPS-Verbindungen

Zu diesem Zeitpunkt haben Sie nur SSH-Verbindungen auf Ihrer UFW-Firewall zugelassen, aber das schränkt die Fähigkeiten Ihres Servers ein. Erlauben Sie andere Verbindungsarten wie 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 zuzulassen.

## HTTP connection uses port 80 (not secure)
sudo ufw allow 80
sudo ufw allow http

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

sudo ufw allow https
## HTTP connection uses port 443 (secure)
sudo ufw allow 443

Zulassen von Verbindungen von bestimmten Portbereichen und IP-Adressen

Einige Anwendungen verwenden mehrere Ports, um ihre Dienste bereitzustellen. Und vielleicht müssen Sie eine Reihe von Ports öffnen oder Sie müssen die Verbindung von einer bestimmten IP-Adresse zulassen. Fügen Sie in diesem Fall weitere UFW-Firewallregeln hinzu.

Führen Sie die folgenden Befehle aus, um eingehende Verbindungen auf den Ports 5001 bis 5009 zuzulassen. Sie sollten immer das Protokoll angeben (tcp oder udp ) nach dem Portbereich, für den die Regeln gelten, da nicht alle Ports von beiden Protokollen verwendet werden.

Zu den häufig verwendeten TCP-Ports gehören beispielsweise 80 (HTTP) und 443 (HTTPS). Übliche UDP-Ports sind jedoch 53 (DNS) und 67/68 (DHCP).

sudo ufw allow 5001:5010/tcp
sudo ufw allow 5001:5010/udp

Führen Sie stattdessen den folgenden Befehl aus, wenn Sie lieber SSH-Verbindungen von einer bestimmten IP-Adresse zulassen möchten. Der Befehl erlaubt SSH-Verbindungen (port 22 ) nur von 192.168.1.2 IP-Adresse.

sudo ufw allow from 192.168.1.2 to any port 22

Zulassen von Datenverkehr von einer bestimmten Netzwerkschnittstelle

Mit UFW können Sie auch Datenverkehr nur auf einer bestimmten Netzwerkschnittstelle zulassen, z. B. ist eth0 die erste Ethernet-Schnittstelle und wlan0 die erste Wi-Fi-Schnittstelle.

Führen Sie einen der folgenden Befehle aus, um HTTP-Verbindungen nur auf eth0 zuzulassen und wlan0 Schnittstellen.

## Allow HTTP connection only on the eth0 interface
sudo ufw allow in on eth0 to any port 80
## Allow HTTP connection only on the wlan0 interface
sudo ufw allow in on wlan0 to any port 80

Löschen von UFW-Firewallregeln

Vielleicht erfüllen einige UFW-Firewall-Regeln keinen Zweck mehr. In diesem Fall möchten Sie möglicherweise einige der Regeln aus UFW entfernen. Aber zuerst müssen Sie entweder die Nummer oder den Namen der zu löschenden Regel kennen.

1. Führen Sie den folgenden Befehl aus, um eine nummerierte Liste der Regeln zu erhalten, die zu UFW hinzugefügt wurden.

sudo ufw status numbered

Beachten Sie die Nummer oder den Namen der Regel in der Ausgabe, wie unten.

2. Führen Sie als Nächstes den folgenden Befehl zu delete aus Regelnummer 4 , das ist der 5001:5010/tcp Hafenbereich.

sudo ufw delete 4

3. Führen Sie den folgenden Befehl zu delete aus eine Regel mit ihrem eigentlichen Namen mit dem allow Status. In diesem Beispiel würden Sie http löschen Regel, indem Sie den folgenden Befehl ausführen.

sudo ufw delete allow http

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

sudo ufw delete allow 443

5. Führen Sie schließlich den folgenden Befehl erneut aus, wie Sie es in Schritt 1 getan haben, um alle Regeln aufzulisten.

sudo ufw status numbered

Wie unten zu sehen ist, gelten die Regeln für 5001:5010/tcp Portbereich, der http , und die 443 Port sind jetzt weg.

Zurücksetzen der UFW-Firewall

Es kann vorkommen, dass Sie UFW auf die Standardwerte zurücksetzen müssen, z. B. nach dem Konfigurieren eines großen Satzes von Regeln. Ein Update kann Ihre Konfiguration ändern, sodass Sie UFW neu konfigurieren und möglicherweise von vorne beginnen müssen.

Führen Sie ufw reset aus Befehl unten, um alle Ihre Firewall-Regeln auf ihre Standardeinstellungen zurückzusetzen. Dieser Befehl deaktiviert UFW und löscht alle Ihre aktuellen Firewall-Regeln.

sudo ufw reset

Geben Sie „Y“ ein und drücken Sie die Eingabetaste, um mit dem Zurücksetzen Ihrer UFW-Firewall fortzufahren.

Nachdem das Zurücksetzen abgeschlossen ist, haben Sie eine Neuinstallation von UFW, die vollständig deaktiviert ist, und sogar Ihre Standardrichtlinien sind weg.

Führen Sie nun 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 entscheiden, dass Sie UFW nicht mehr verwenden möchten, müssen Sie es nicht erneut aktivieren. Oder führen Sie den folgenden Befehl aus, um sicherzustellen, dass UFW deaktiviert ist.

sudo ufw disable

Schlussfolgerung

In diesem Tutorial haben Sie festgestellt, dass das Einrichten einer Firewall bei der Verwendung von UFW nicht allzu abschreckend ist. Sie sollten jetzt ein gutes Verständnis dafür haben, wie Sie Ihre eigenen Regeln mit UFW auf Ubuntu einrichten und implementieren.

Warum bauen Sie nun nicht auf diesem neu gewonnenen Wissen auf, indem Sie mehr über UFW und Docker Security auf einem Linux-Computer erfahren?


Linux
  1. Wie Linux auf den Mainframe kam

  2. Linux – Wie stellt man die Prozessoraffinität eines Prozesses unter Linux ein?

  3. So richten Sie eine Firewall mit UFW unter Ubuntu 16.04 ein

  4. Wie setze ich den Namen eines Threads in Linux pthreads?

  5. So stellen Sie die IP-Adresse von C in Linux ein

So richten Sie eine Firewall mit GUFW unter Linux ein

So konfigurieren Sie die Firewall mit UFW unter Ubuntu Linux

So richten Sie eine Firewall mit UFW unter Debian 11 ein

So richten Sie einen Linux-Killswitch für VPNs ein

So richten Sie den RabbitMQ-Cluster unter Ubuntu/Debian Linux ein

So richten Sie eine Firewall auf Ihrem Linux-Server ein