Website-Suche

So richten Sie die UFW-Firewall unter Ubuntu und Debian ein


Eine ordnungsgemäß funktionierende Firewall ist der wichtigste Teil der gesamten Linux-Systemsicherheit. Standardmäßig enthält die Debian- und Ubuntu-Distribution ein Firewall-Konfigurationstool namens UFW (Uncomplicated Firewall), ein beliebtes und benutzerfreundliches Befehlszeilentool zum Konfigurieren und Verwalten einer Firewall auf Ubuntu- und Debian-Distributionen.

In diesem Artikel erklären wir, wie Sie eine UFW-Firewall auf Ubuntu- und Debian-Distributionen installieren und einrichten.

Voraussetzungen

Bevor Sie mit diesem Artikel beginnen, stellen Sie sicher, dass Sie sich mit dem Benutzer sudo oder mit dem Root-Konto bei Ihrem Ubuntu- oder Debian-Server angemeldet haben. Wenn Sie keinen Sudo-Benutzer haben, können Sie mit den folgenden Anweisungen als Root-Benutzer einen erstellen.

adduser username
usermod -aG sudo username 
su - username
sudo whoami

Installieren Sie die UFW-Firewall unter Ubuntu und Debian

Die UFW (Uncomplicated Firewall) sollte standardmäßig in Ubuntu und Debian installiert sein. Wenn nicht, installieren Sie sie mit dem APT-Paketmanager und dem folgenden Befehl.

sudo apt install ufw

Überprüfen Sie die UFW-Firewall

Sobald die Installation abgeschlossen ist, können Sie den Status von UFW durch Eingabe überprüfen.

sudo ufw status verbose

Bei der ersten Installation ist die UFW-Firewall standardmäßig deaktiviert. Die Ausgabe ähnelt der folgenden.

Status: inactive

Aktivieren Sie die UFW-Firewall

Sie können die UFW-Firewall mit dem folgenden Befehl aktivieren oder aktivieren. Dadurch sollte die Firewall geladen und beim Booten gestartet werden.

sudo ufw enable

Um die UFW-Firewall zu deaktivieren, verwenden Sie den folgenden Befehl, der die Firewall entlädt und verhindert, dass sie beim Booten startet.

sudo ufw disable 

UFW-Standardrichtlinien

Standardmäßig verweigert die UFW-Firewall alle eingehenden Verbindungen und lässt nur alle ausgehenden Verbindungen zum Server zu. Das bedeutet, dass niemand auf Ihren Server zugreifen kann, es sei denn, Sie öffnen den Port ausdrücklich, während alle laufenden Dienste oder Anwendungen auf Ihrem Server auf das externe Netzwerk zugreifen können.

Die standardmäßigen UFW-Firewall-Richtlinien werden in der Datei /etc/default/ufw abgelegt und können mit dem folgenden Befehl geändert werden.

sudo ufw default deny incoming
sudo ufw default allow outgoing

UFW-Anwendungsprofile

Wenn Sie ein Softwarepaket mit dem APT-Paketmanager installieren, enthält es ein Anwendungsprofil im Verzeichnis /etc/ufw/applications.d, das den Dienst definiert und die UFW-Einstellungen enthält.

Mit dem folgenden Befehl können Sie alle verfügbaren Anwendungsprofile auf Ihrem Server auflisten.

sudo ufw app list

Abhängig von den Softwarepaketinstallationen auf Ihrem System sieht die Ausgabe etwa wie folgt aus:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

Wenn Sie weitere Informationen zu einem bestimmten Profil und definierten Regeln erhalten möchten, können Sie den folgenden Befehl verwenden.

sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

Aktivieren Sie IPv6 mit UFW

Wenn Ihr Server mit IPv6 konfiguriert ist, stellen Sie sicher, dass Ihr UFW mit IPv6- und IPv4-Unterstützung konfiguriert ist. Um dies zu überprüfen, öffnen Sie die UFW-Konfigurationsdatei mit Ihrem bevorzugten Editor.

sudo vi /etc/default/ufw

Stellen Sie dann sicher, dass „IPV6“ in der Konfigurationsdatei wie gezeigt auf „yes“ eingestellt ist.

IPV6=yes

Speichern und Beenden. Anschließend starten Sie Ihre Firewall mit den folgenden Befehlen neu:

sudo ufw disable
sudo ufw enable

SSH-Verbindungen auf UFW zulassen

Wenn Sie die UFW-Firewall bereits aktiviert haben, blockiert sie alle eingehenden Verbindungen. Wenn Sie über SSH von einem Remotestandort aus mit Ihrem Server verbunden sind, können Sie keine erneute Verbindung mehr herstellen.

Um dies zu verhindern, aktivieren wir SSH-Verbindungen zu unserem Server mit dem folgenden Befehl:

sudo ufw allow ssh

Wenn Sie einen benutzerdefinierten SSH-Port verwenden (z. B. Port 2222), müssen Sie diesen Port in der UFW-Firewall mit dem folgenden Befehl öffnen.

sudo ufw allow 2222/tcp

Um alle SSH-Verbindungen zu blockieren, geben Sie den folgenden Befehl ein.

sudo ufw deny ssh/tcp
sudo ufw deny 2222/tcp  [If using custom SSH port]

Aktivieren Sie bestimmte Ports auf UFW

Sie können auch einen bestimmten Port in der Firewall öffnen, um über diesen Verbindungen zu einem bestimmten Dienst zuzulassen. Wenn Sie beispielsweise einen Webserver einrichten möchten, der auf Port 80 (HTTP) und 443 (HTTPS) lauscht >) standardmäßig.

Nachfolgend finden Sie einige Beispiele, wie Sie eingehende Verbindungen zu Apache-Diensten zulassen.

Öffnen Sie Port 80 HTTP auf UFW
sudo ufw allow http     [By service name]
sudo ufw allow 80/tcp   [By port number]
sudo ufw allow 'Apache' [By application profile]
Öffnen Sie Port 443 HTTPS auf UFW
sudo ufw allow https
sudo ufw allow 443/tcp
sudo ufw allow 'Apache Secure'

Portbereiche auf UFW zulassen

Angenommen, Sie haben einige Anwendungen, die Sie auf einer Reihe von Ports (5000–5003) ausführen möchten, können Sie alle diese Ports mit den folgenden Befehlen hinzufügen.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

Bestimmte IP-Adressen zulassen

Wenn Sie Verbindungen auf allen Ports von einer bestimmten IP-Adresse 192.168.56.1 zulassen möchten, müssen Sie vor der IP-Adresse „From“ angeben.

sudo ufw allow from 192.168.56.1

Erlauben Sie bestimmte IP-Adressen an einem bestimmten Port

Um eine Verbindung über einen bestimmten Port (z. B. Port 22) von Ihrem Heimcomputer mit der IP-Adresse 192.168.56.1 zu ermöglichen, müssen Sie einen beliebigen Port< hinzufügen und die Portnummer nach der IP-Adresse wie gezeigt.

sudo ufw allow from 192.168.56.1 to any port 22

Erlauben Sie Netzwerk-Subnetze einem bestimmten Port

Um Verbindungen für bestimmte IP-Adressen von 192.168.1.1 bis 192.168.1.254 zu Port 22 zu ermöglichen (SSH) , führen Sie den folgenden Befehl aus.

sudo ufw allow from 192.168.1.0/24 to any port 22

Spezifische Netzwerkschnittstelle zulassen

Um Verbindungen zu einer bestimmten Netzwerkschnittstelle eth2 für einen bestimmten Port 22 (SSH) zuzulassen, führen Sie den folgenden Befehl aus.

sudo ufw allow in on eth2 to any port 22

Verbindungen auf UFW verweigern

Standardmäßig werden alle eingehenden Verbindungen blockiert, es sei denn, Sie haben die Verbindung ausdrücklich auf UFW geöffnet. Sie haben beispielsweise die Ports 80 und 443 geöffnet und Ihr Webserver wird vom unbekannten Netzwerk 11.12.13.0/24 angegriffen.

Um alle Verbindungen aus diesem bestimmten Netzwerkbereich 11.12.13.0/24 zu blockieren, können Sie den folgenden Befehl verwenden.

sudo ufw deny from 11.12.13.0/24

Wenn Sie nur Verbindungen auf den Ports 80 und 443 blockieren möchten, können Sie die folgenden Befehle verwenden.

sudo ufw deny from 11.12.13.0/24 to any port 80
sudo ufw deny from 11.12.13.0/24 to any port 443

UFW-Regeln löschen

Es gibt zwei Möglichkeiten, UFW-Regeln zu löschen: nach Regelnummer und nach tatsächlicher Regel.

Um UFW-Regeln mithilfe der Regelnummer zu löschen, müssen Sie zunächst die Regeln mit dem folgenden Befehl nach Nummern auflisten.

sudo ufw status numbered
Beispielausgabe
Status: active

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

Um die Regel Nummer 1 zu löschen, verwenden Sie den folgenden Befehl.

sudo ufw delete 1

Die zweite Methode besteht darin, eine Regel mithilfe der tatsächlichen Regel zu löschen. Um beispielsweise eine Regel zu löschen, geben Sie die Portnummer mit dem Protokoll wie gezeigt an.

sudo ufw delete allow 22/tcp

Trockenlauf-UFW-Regeln

Mit dem Flag --dry-run können Sie alle UFW-Befehle ausführen, ohne tatsächlich Änderungen an der System-Firewall vorzunehmen. Dadurch werden lediglich die Änderungen angezeigt, die voraussichtlich stattfinden würden.

sudo ufw --dry-run enable

Setzen Sie die UFW-Firewall zurück

Wenn Sie aus dem einen oder anderen Grund alle Firewall-Regeln löschen/zurücksetzen möchten, geben Sie die folgenden Befehle ein. Dadurch werden alle Ihre Änderungen rückgängig gemacht und neu gestartet.

sudo ufw reset
sudo ufw status

Erweiterte UFW-Funktionalität

Die UFW-Firewall kann alles tun, was iptables auch kann. Dies kann mit verschiedenen Sätzen von Regeldateien erfolgen, bei denen es sich lediglich um einfache iptables-restore-Textdateien handelt.

Das Optimieren der UFW-Firewall oder das Hinzufügen zusätzlicher iptables-Befehle ist über den ufw-Befehl nicht zulässig, es ist lediglich eine Frage der Änderung der folgenden Textdateien

  • /etc/default/ufw: Die Hauptkonfigurationsdatei mit vordefinierten Regeln.
  • /etc/ufw/before[6].rules: In dieser Datei werden Regeln berechnet, bevor sie über den ufw-Befehl hinzugefügt werden.
  • /etc/ufw/after[6].rules: In dieser Datei werden Regeln nach dem Hinzufügen über den ufw-Befehl berechnet.
  • /etc/ufw/sysctl.conf: Diese Datei wird zum Optimieren des Kernel-Netzwerks verwendet.
  • /etc/ufw/ufw.conf: Diese Datei aktiviert UFW beim Booten.

Das ist es! UFW ist ein hervorragendes Frontend für iptables mit einer benutzerfreundlichen Oberfläche zum Definieren komplexer Regeln mit einem einzigen ufw-Befehl.

Wenn Sie Fragen oder Anregungen zu diesem ufw-Artikel haben, nutzen Sie das Kommentarformular unten, um uns zu erreichen.