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

So richten Sie eine Firewall mit UFW unter Ubuntu 20.04 ein

Eine Firewall ist ein Tool zum Überwachen und Filtern des eingehenden und ausgehenden Netzwerkverkehrs. Es funktioniert durch die Definition einer Reihe von Sicherheitsregeln, die bestimmen, ob bestimmter Datenverkehr zugelassen oder blockiert werden soll.

Ubuntu wird mit einem Firewall-Konfigurationstool namens UFW (Uncomplicated Firewall) ausgeliefert. Es ist ein benutzerfreundliches Frontend zum Verwalten von iptables-Firewallregeln. Sein Hauptziel ist es, die Verwaltung der Firewall einfacher oder, wie der Name schon sagt, unkomplizierter zu machen.

Dieser Artikel beschreibt, wie Sie das UFW-Tool verwenden, um eine Firewall unter Ubuntu 20.04 zu konfigurieren und zu verwalten. Eine richtig konfigurierte Firewall ist einer der wichtigsten Aspekte der gesamten Systemsicherheit.

Voraussetzungen #

Nur root oder Benutzer mit sudo-Berechtigungen können die Systemfirewall verwalten. Am besten führen Sie Verwaltungsaufgaben als sudo-Benutzer aus.

UFW # installieren

UFW ist Teil der Standardinstallation von Ubuntu 20.04 und sollte auf Ihrem System vorhanden sein. Wenn es aus irgendeinem Grund nicht installiert ist, können Sie das Paket installieren, indem Sie Folgendes eingeben:

sudo apt updatesudo apt install ufw

UFW-Status prüfen #

UFW ist standardmäßig deaktiviert. Sie können den Status des UFW-Dienstes mit dem folgenden Befehl überprüfen:

sudo ufw status verbose

Die Ausgabe zeigt, dass der Firewall-Status inaktiv ist:

Status: inactive

Wenn UFW aktiviert ist, sieht die Ausgabe in etwa so aus:

UFW-Standardrichtlinien #

Das Standardverhalten der UFW-Firewall besteht darin, den gesamten eingehenden und weiterleitenden Datenverkehr zu blockieren und den gesamten ausgehenden Datenverkehr zuzulassen. Dies bedeutet, dass jeder, der versucht, auf Ihren Server zuzugreifen, keine Verbindung herstellen kann, es sei denn, Sie öffnen den Port ausdrücklich. Anwendungen und Dienste, die auf Ihrem Server ausgeführt werden, können auf die Außenwelt zugreifen.

Die Standardrichtlinien sind in /etc/default/ufw definiert Datei und kann entweder durch manuelles Ändern der Datei oder mit sudo ufw default <policy> <chain> geändert werden Befehl.

Firewall-Richtlinien bilden die Grundlage für die Erstellung komplexerer und benutzerdefinierter Regeln. Im Allgemeinen sind die anfänglichen UFW-Standardrichtlinien ein guter Ausgangspunkt.

Anwendungsprofile #

Ein Anwendungsprofil ist eine Textdatei im INI-Format, die den Dienst beschreibt und Firewall-Regeln für den Dienst enthält. Anwendungsprofile werden in /etc/ufw/applications.d erstellt Verzeichnis während der Installation des Pakets.

Sie können alle auf Ihrem Server verfügbaren Anwendungsprofile auflisten, indem Sie Folgendes eingeben:

sudo ufw app list

Abhängig von den auf Ihrem System installierten Paketen sieht die Ausgabe etwa so aus:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Um weitere Informationen zu einem bestimmten Profil und enthaltenen Regeln zu erhalten, verwenden Sie den folgenden Befehl:

sudo ufw app info 'Nginx Full'

Die Ausgabe zeigt, dass das Profil „Nginx Full“ die Ports 80 öffnet und 443 .

Profile: Nginx Full
Title: Web Server (Nginx, HTTP + HTTPS)
Description: Small, but very powerful and efficient web server

Ports:
  80,443/tcp

Sie können auch benutzerdefinierte Profile für Ihre Anwendungen erstellen.

UFW wird aktiviert #

Wenn Sie sich von einem entfernten Standort aus mit Ihrem Ubuntu verbinden, müssen Sie vor dem Aktivieren der UFW-Firewall eingehende SSH-Verbindungen explizit zulassen. Andernfalls können Sie sich nicht mehr mit dem Gerät verbinden.

Geben Sie den folgenden Befehl ein, um Ihre UFW-Firewall so zu konfigurieren, dass eingehende SSH-Verbindungen zugelassen werden:

sudo ufw allow ssh
Rules updated
Rules updated (v6)

Wenn SSH auf einem nicht standardmäßigen Port ausgeführt wird, müssen Sie diesen Port öffnen.

Zum Beispiel, wenn Ihr ssh-Daemon auf Port 7722 lauscht , geben Sie den folgenden Befehl ein, um Verbindungen an diesem Port zuzulassen:

sudo ufw allow 7722/tcp

Nachdem die Firewall nun so konfiguriert ist, dass sie eingehende SSH-Verbindungen zulässt, können Sie sie aktivieren, indem Sie Folgendes eingeben:

sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Sie werden gewarnt, dass das Aktivieren der Firewall bestehende SSH-Verbindungen unterbrechen kann, geben Sie einfach y ein und drücken Sie Enter .

Ports öffnen #

Abhängig von den Anwendungen, die auf dem System ausgeführt werden, müssen Sie möglicherweise auch andere Ports öffnen. Die allgemeine Syntax zum Öffnen eines Ports lautet wie folgt:

ufw allow port_number/protocol

Nachfolgend finden Sie einige Möglichkeiten, wie Sie HTTP-Verbindungen zulassen können.

Die erste Option besteht darin, den Dienstnamen zu verwenden. UFW überprüft die /etc/services Datei für den Port und das Protokoll des angegebenen Dienstes:

sudo ufw allow http

Sie können auch die Portnummer und das Protokoll angeben:

sudo ufw allow 80/tcp

Wenn kein Protokoll angegeben ist, erstellt UFW Regeln für beide tcp und udp .

Eine weitere Option ist die Verwendung des Anwendungsprofils; in diesem Fall „Nginx HTTP“:

sudo ufw allow 'Nginx HTTP'

UFW unterstützt auch eine andere Syntax zum Spezifizieren des Protokolls unter Verwendung von proto Stichwort:

sudo ufw allow proto tcp to any port 80

Portbereiche #

Mit UFW können Sie auch Portbereiche öffnen. Start- und Endport werden durch einen Doppelpunkt getrennt (: ), und Sie müssen das Protokoll angeben, entweder tcp oder udp .

Zum Beispiel, wenn Sie Ports von 7100 zulassen möchten bis 7200 auf beiden tcp und udp , würden Sie den folgenden Befehl ausführen:

sudo ufw allow 7100:7200/tcpsudo ufw allow 7100:7200/udp

Spezifische IP-Adresse und Portnummer

Um Verbindungen auf allen Ports von einer bestimmten Quell-IP zuzulassen, verwenden Sie den from Schlüsselwort gefolgt von der Quelladresse.

Hier ist ein Beispiel für das Whitelisting einer IP-Adresse:

sudo ufw allow from 64.63.62.61

Wenn Sie der angegebenen IP-Adresse den Zugriff nur auf einen bestimmten Port erlauben möchten, verwenden Sie den to any port Schlüsselwort gefolgt von der Portnummer.

Zum Beispiel, um den Zugriff auf Port 22 zu erlauben von einem Computer mit der IP-Adresse 64.63.62.61 , geben Sie ein:

sudo ufw allow from 64.63.62.61 to any port 22

Subnetze #

Die Syntax zum Zulassen von Verbindungen zu einem Subnetz von IP-Adressen ist dieselbe wie bei der Verwendung einer einzelnen IP-Adresse. Der einzige Unterschied besteht darin, dass Sie die Netzmaske angeben müssen.

Unten sehen Sie ein Beispiel, das zeigt, wie Sie den Zugriff für IP-Adressen im Bereich von 192.168.1.1 zulassen zu 192.168.1.254 um 3360 zu portieren (MySQL):

sudo ufw allow from 192.168.1.0/24 to any port 3306

Spezifische Netzwerkschnittstellennummer

Um Verbindungen auf einer bestimmten Netzwerkschnittstelle zuzulassen, verwenden Sie den in on Schlüsselwort gefolgt vom Namen der Netzwerkschnittstelle:

sudo ufw allow in on eth2 to any port 3306

Verbindungen werden abgelehnt #

Die Standardrichtlinie für alle eingehenden Verbindungen ist auf deny eingestellt , und wenn Sie es nicht geändert haben, blockiert UFW alle eingehenden Verbindungen, es sei denn, Sie öffnen die Verbindung ausdrücklich.

Das Schreiben von Verweigerungsregeln ist dasselbe wie das Schreiben von Zulassungsregeln; Sie müssen nur den deny verwenden Schlüsselwort anstelle von allow .

Angenommen, Sie haben die Ports 80 geöffnet und 443 , und Ihr Server wird von 23.24.25.0/24 angegriffen Netzwerk. Um alle Verbindungen von 23.24.25.0/24 abzulehnen Sie würden den folgenden Befehl ausführen:

sudo ufw deny from 23.24.25.0/24

Hier ist ein Beispiel, wie der Zugriff nur auf die Ports 80 verweigert wird und 443 ab 23.24.25.0/24 Sie können den folgenden Befehl verwenden:

sudo ufw deny proto tcp from 23.24.25.0/24 to any port 80,443

Lösche UFW-Regeln #

Es gibt zwei verschiedene Möglichkeiten, UFW-Regeln anhand der Regelnummer und durch Angabe der eigentlichen Regel zu löschen.

Das Löschen von Regeln nach Regelnummer ist einfacher, insbesondere wenn Sie neu bei UFW sind. Um eine Regel zuerst anhand einer Regelnummer zu löschen, müssen Sie die Nummer der Regel finden, die Sie löschen möchten. Um eine Liste mit nummerierten Regeln zu erhalten, verwenden Sie den ufw status numbered Befehl:

sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 8080/tcp                   ALLOW IN    Anywhere

Zum Löschen der Regel Nummer 3 , derjenige, der Verbindungen zu Port 8080 zulässt , würden Sie Folgendes eingeben:

sudo ufw delete 3

Die zweite Methode besteht darin, eine Regel zu löschen, indem die eigentliche Regel angegeben wird. Zum Beispiel, wenn Sie eine Regel zum Öffnen von Port 8069 hinzugefügt haben Sie können es löschen mit:

sudo ufw delete allow 8069

UFW wird deaktiviert #

Wenn Sie UFW aus irgendeinem Grund stoppen und alle Regeln deaktivieren möchten, können Sie Folgendes verwenden:

sudo ufw disable

Wenn Sie UTF später wieder aktivieren und alle Regeln aktivieren möchten, geben Sie einfach Folgendes ein:

sudo ufw enable

UFW zurücksetzen #

Das Zurücksetzen von UFW deaktiviert UFW und löscht alle aktiven Regeln. Dies ist hilfreich, wenn Sie alle Ihre Änderungen rückgängig machen und neu beginnen möchten.

Um UFW zurückzusetzen, geben Sie den folgenden Befehl ein:

sudo ufw reset

IP-Maskierung #

IP-Masquerading ist eine Variante von NAT (Network Address Translation) im Linux-Kernel, die den Netzwerkverkehr übersetzt, indem die Quell- und Ziel-IP-Adressen und -Ports neu geschrieben werden. Mit IP-Masquerading können Sie einem oder mehreren Computern in einem privaten Netzwerk erlauben, mit dem Internet zu kommunizieren, indem Sie einen Linux-Computer verwenden, der als Gateway fungiert.

Das Konfigurieren von IP-Masquerading mit UFW umfasst mehrere Schritte.

Zuerst müssen Sie die IP-Weiterleitung aktivieren. Öffnen Sie dazu die /etc/ufw/sysctl.conf Datei:

sudo nano /etc/ufw/sysctl.conf

Suchen Sie die Zeile mit der Aufschrift net.ipv4.ip_forward = 1 und kommentieren Sie sie aus :

/etc/ufw/sysctl.conf
net/ipv4/ip_forward=1

Als nächstes müssen Sie UFW konfigurieren, um weitergeleitete Pakete zuzulassen. Öffnen Sie die UFW-Konfigurationsdatei:

sudo nano /etc/default/ufw

Suchen Sie DEFAULT_FORWARD_POLICY Taste und ändern Sie den Wert von DROP ACCEPT :

/etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"

Jetzt müssen Sie die Standardrichtlinie für POSTROUTING festlegen Kette im nat Tabelle und die Maskerade-Regel. Öffnen Sie dazu die /etc/ufw/before.rules Datei und hängen Sie die gelb hervorgehobenen Zeilen an, wie unten gezeigt:

sudo nano /etc/ufw/before.rules

Hängen Sie die folgenden Zeilen an:

/etc/ufw/before.rules
#NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Forward traffic through eth0 - Change to public network interface
-A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE

# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT

Vergessen Sie nicht, eth0 zu ersetzen im -A POSTROUTING Zeile, die mit dem Namen der öffentlichen Netzwerkschnittstelle übereinstimmt:

Wenn Sie fertig sind, speichern und schließen Sie die Datei.

Laden Sie abschließend die UFW-Regeln neu, indem Sie UFW deaktivieren und erneut aktivieren:

sudo ufw disablesudo ufw enable

Ubuntu
  1. So richten Sie die UFW-Firewall unter Ubuntu 18.04 ein

  2. UFW-Firewall auf Ubuntu 18.04 einrichten - Beste Methode?

  3. So richten Sie eine Firewall mit UFW in Ubuntu \ Debian ein

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

  5. So konfigurieren Sie die UFW-Firewall unter Ubuntu 18.04

So installieren Sie die UFW-Firewall unter Ubuntu 16.04 LTS

So richten Sie die UFW-Firewall unter Ubuntu 18.04 LTS ein

So richten Sie die UFW-Firewall unter Ubuntu 20.04 LTS 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 die UFW-Firewall unter Ubuntu 20.04 ein