A correctly functioning firewall is the most crucial part of the complete Linux system security. By default, Debian and Ubuntu distribution comes with a firewall configuration tool called UFW (Uncomplicated Firewall), is a most popular and easy-to-use command line tool for configuring and managing a firewall on Ubuntu and Debian distributions.
In diesem Artikel erklären wir, wie man eine UFW-Firewall auf den Ubuntu– und Debian-Distributionen installiert und einrichtet.
Voraussetzungen
Bevor Sie mit diesem Artikel beginnen, stellen Sie sicher, dass Sie sich als sudo-Benutzer auf Ihrem Ubuntu- oder Debian-Server angemeldet haben. Falls Sie keinen sudo-Benutzer haben, können Sie einen gemäß den folgenden Anweisungen als Root-Benutzer erstellen.
# adduser username # usermod -aG sudo username # su - username $ sudo whoami
UFW-Firewall auf Ubuntu und Debian installieren
Die UFW (Uncomplicated Firewall) sollte standardmäßig in Ubuntu und Debian installiert sein. Falls nicht, installieren Sie sie mithilfe des APT-Paketmanagers mit folgendem Befehl.
$ sudo apt install ufw
UFW-Firewall überprüfen
Nach Abschluss der Installation können Sie den Status von UFW durch Eingabe des folgenden Befehls überprüfen.
$ sudo ufw status verbose
Bei der ersten Installation ist die UFW-Firewall standardmäßig deaktiviert. Die Ausgabe wird ähnlich wie folgt sein.
Status: inactive
UFW-Firewall aktivieren
Sie können die UFW-Firewall mithilfe des folgenden Befehls aktivieren oder einschalten, der die Firewall lädt und sie für den Start beim Booten aktiviert.
$ sudo ufw enable
Um die UFW-Firewall zu deaktivieren, verwenden Sie den folgenden Befehl, der die Firewall entlädt und sie davon abhält, beim Booten zu starten.
$ sudo ufw disable
UFW-Standardrichtlinien
Standardmäßig blockiert die UFW-Firewall alle eingehenden Verbindungen und erlaubt nur ausgehende Verbindungen zum Server. Das bedeutet, dass niemand auf Ihren Server zugreifen kann, es sei denn, Sie öffnen den Port explizit, während alle laufenden Dienste oder Anwendungen auf Ihrem Server in der Lage sind, auf das externe Netzwerk zuzugreifen.
Die standardmäßigen UFW-Firewall-Richtlinien befinden sich in der Datei /etc/default/ufw
und können mit dem folgenden Befehl geändert werden.
$ sudo ufw default deny incoming $ sudo ufw default allow outgoing
UFW-Anwendungsprofile
Beim Installieren eines Softwarepakets mit dem APT-Paketmanager wird ein Anwendungsprofil im Verzeichnis /etc/ufw/applications.d
erstellt, das den Dienst definiert und die UFW-Einstellungen enthält.
Sie können alle verfügbaren Anwendungsprofile auf Ihrem Server mit dem folgenden Befehl auflisten.
$ sudo ufw app list
Abhängig von den Softwarepaketinstallationen auf Ihrem System wird die Ausgabe ähnlich aussehen wie folgt:
Available applications: APACHE APACHE Full APACHE SECURE CUPS OpenSSH Postfix Postfix SMTPS Postfix Submission
Wenn Sie weitere Informationen zu einem bestimmten Profil und den 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 von IPv6 mit UFW
Wenn Ihr Server mit IPv6 konfiguriert ist, stellen Sie sicher, dass Ihre UFW mit IPv6 und IPv4 Unterstützung konfiguriert ist. Überprüfen Sie dies, indem Sie die UFW-Konfigurationsdatei mit Ihrem bevorzugten Editor öffnen.
$ sudo vi /etc/default/ufw
Stellen Sie dann sicher, dass “IPV6” in der Konfigurationsdatei wie gezeigt auf "yes"
gesetzt ist.
IPV6=yes
Speichern und beenden Sie. Starten Sie dann Ihre Firewall mit den folgenden Befehlen neu:
$ sudo ufw disable $ sudo ufw enable
Zulassen von SSH-Verbindungen in UFW
Wenn Sie die UFW-Firewall bisher aktiviert haben, würde sie alle eingehenden Verbindungen blockieren, und wenn Sie von einem entfernten Standort über SSH mit Ihrem Server verbunden sind, können Sie sich nicht mehr erneut verbinden.
Lassen Sie uns SSH-Verbindungen zu unserem Server aktivieren, um zu verhindern, dass dies passiert, indem Sie den folgenden Befehl verwenden:
$ sudo ufw allow ssh
Wenn Sie einen benutzerdefinierten SSH-Port verwenden (zum Beispiel 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]
Bestimmte Ports in UFW aktivieren
Sie können auch einen bestimmten Port in der Firewall öffnen, um Verbindungen über diesen zu einem bestimmten Dienst zuzulassen. Wenn Sie beispielsweise einen Webserver einrichten möchten, der standardmäßig auf Port 80 (HTTP) und 443 (HTTPS) hört.
Unten finden Sie einige Beispiele, wie Sie eingehende Verbindungen zu Apache-Diensten zulassen können.
Ö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 auf einem Portbereich (5000-5003) ausgeführt werden sollen, können Sie all diese Ports mit folgenden Befehlen hinzufügen.
sudo ufw allow 5000:5003/tcp sudo ufw allow 5000:5003/udp
Bestimmte IP-Adressen zulassen
Wenn Sie Verbindungen von einer bestimmten IP-Adresse 192.168.56.1 auf allen Ports zulassen möchten, müssen Sie „from“ vor der IP-Adresse angeben.
$ sudo ufw allow from 192.168.56.1
Bestimmte IP-Adressen auf bestimmten Port zulassen
Zum Zulassen von Verbindungen auf einer bestimmten Portnummer (z.B. Port 22) von Ihrem HeimRechner mit der IP-Adresse 192.168.56.1 erfordert es, dass Sie jeder Port und die Portnummer nach der IP-Adresse hinzufügen, wie gezeigt.
$ sudo ufw allow from 192.168.56.1 to any port 22
Zulassen von Netzwerksubnetzen für bestimmten Port
Zum Zulassen von Verbindungen für bestimmte IP-Adressen, die von 192.168.1.1 bis 192.168.1.254 reichen, zum Port 22 (SSH), führen Sie das folgende Kommando aus.
$ sudo ufw allow from 192.168.1.0/24 to any port 22
Zulassen von bestimmtem Netzwerkschnittstellen
Um Verbindungen zu einem bestimmten Netzwerkschnittstellen eth2 für einen bestimmten Port 22 (SSH) zuzulassen, führen Sie das folgende Kommando aus.
$ sudo ufw allow in on eth2 to any port 22
Verbindungen auf UFW verweigern
Standardmäßig sind alle eingehenden Verbindungen blockiert,除非 Sie eine Verbindung auf UFW explizit geöffnet haben. Zum Beispiel haben Sie die Ports 80 und 443 geöffnet und Ihr Web-Server wird von einem unbekannten Netzwerk 11.12.13.0/24 angegriffen.
Um alle Verbindungen aus dieser besonderen Netzwerkrange 11.12.13.0/24 zu blockieren, können Sie das folgende Kommando 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 2 Möglichkeiten, UFW-Regeln zu löschen, durch Regelnummer und durch tatsächliche Regel.
Um eine UFW-Regel durch Verwendung Regelnummer zu löschen, müssen Sie zunächst die Regeln mit Nummern listen, indem Sie das folgende Kommando verwenden.
$ sudo ufw status numbered
Beispielausgabe
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere
Um die Regelnummer 1 zu löschen, verwenden Sie den folgenden Befehl.
$ sudo ufw delete 1
Der zweite Methode ist das Löschen einer Regel durch die tatsächliche Regel verwendet, z.B. löschen Sie eine Regel, geben Sie die Portnummer mit dem Protokoll an.
$ sudo ufw delete allow 22/tcp
Dry Run UFW Regeln
Sie können jeder ufw Befehl ohne tatsächliche Änderungen am Systemfirewall mit dem --dry-run
Flag ausführen, zeigt dies nur die geplanten Änderungen an.
$ sudo ufw --dry-run enable
UFW Firewall zurücksetzen
Aus irgendeinem Grund, wenn Sie alle Firewallregeln löschen oder zurücksetzen möchten, tippen Sie die folgenden Befehle ein, es wird all Ihre Änderungen rückgängig machen und neu starten.
$ sudo ufw reset $ sudo ufw status
UFW Fortgeschrittene Funktionalität
Die UFW Firewall kann alles verwalten, was iptables kann. Dies kann mit verschiedenen Satz von Regelfilen erfolgen, die nichts anderes als einfache iptables-restore Textdateien sind.
Optimierung der UFW Firewall oder Hinzufügen zusätzlicher iptables Befehle sind via ufw Befehl nicht zulässig, es ist nur eine Frage des Änderns der folgenden Textdateien
- /etc/default/ufw: Die Hauptkonfigurationsdatei mit vordefinierten Regeln.
- /etc/ufw/before[6].rules: In dieser Datei werden Regeln berechnet, bevor sie via ufw Befehl hinzugefügt werden.
- /etc/ufw/after[6].rules: In dieser Datei werden Regeln berechnet, nachdem sie via ufw Befehl hinzugefügt wurden.
- /etc/ufw/sysctl.conf: Diese Datei wird verwendet, um den Kernel-Netzwerktunings zu ändern.
- /etc/ufw/ufw.conf: Diese Datei aktiviert das ufw beim Booten.
Das ist es! UFW ist eine ausgezeichnete Benutzeroberfläche für iptables mit einer benutzerfreundlichen Oberfläche zum Definieren komplexer Regeln mit einem einzigen ufw-Befehl.
Wenn Sie Fragen oder Gedanken zu diesem ufw-Artikel haben, verwenden Sie das Kommentarformular unten, um uns zu erreichen.
Source:
https://www.tecmint.com/setup-ufw-firewall-on-ubuntu-and-debian/