Zum Hauptinhalt springen Skip to page footer

UFW: Einfache Installation und Konfiguration einer sicheren Netzwerk-Firewall auf Linux

| Tutorial | Linux

Erfahren Sie, wie Sie die UFW (Uncomplicated Firewall) auf Ihrem Linux-System installieren und konfigurieren können. Unser Tutorial bietet Ihnen ein benutzerfreundliches Bash-Skript, das die automatische Einrichtung einer sicheren Netzwerkumgebung ermöglicht. Erfahren Sie, wie Sie die Firewall richtig einrichten, Ports öffnen und grundlegende Dienste wie SSH, HTTP und HTTPS aktivieren. Schützen Sie Ihr System vor unerwünschtem Netzwerkverkehr, während Sie gleichzeitig eine zugängliche Umgebung aufrechterhalten. Lesen Sie weiter, um herauszufinden, wie Sie mit Leichtigkeit eine starke Firewall erstellen können.

Installation und Grundkonfiguration der UFW (Uncomplicated Firewall) unter Linux mit einem Bash-Skript

Die UFW ist ein benutzerfreundliches Frontend für die iptables-Netzwerk-Firewall und bietet eine einfache Möglichkeit, den Netzwerkverkehr auf Ihrem Linux-System zu steuern und zu überwachen. In diesem Tutorial werden wir ein Bash-Skript erstellen, das die UFW installiert und grundlegende Konfigurationen für eine sichere und dennoch zugängliche Netzwerkumgebung durchführt.

Das Skript automatisiert den Prozess der Installation und Konfiguration, sodass Sie Zeit sparen und sicherstellen können, dass Ihre Firewall richtig eingerichtet ist. Es öffnet auch die Ports für SSH, HTTP und HTTPS, um grundlegende Dienste zu ermöglichen.

Bitte beachten Sie, dass dieses Tutorial für Debian-basierte Linux-Distributionen wie Ubuntu entwickelt wurde. Wenn Sie ein anderes Betriebssystem verwenden, müssen Sie möglicherweise einige Anpassungen vornehmen.

Um das Skript zu verwenden, stellen Sie sicher, dass Sie über Root-Rechte verfügen, da die Installation und Konfiguration der UFW administrative Berechtigungen erfordert. Sie können das Skript als Root-Benutzer ausführen oder den Befehl sudo verwenden.

Wir empfehlen Ihnen, das Skript sorgfältig zu überprüfen und gegebenenfalls anzupassen, um sicherzustellen, dass es Ihren spezifischen Anforderungen entspricht. Denken Sie daran, dass die Firewall eine wichtige Sicherheitsmaßnahme ist, und es ist wichtig, die Regeln entsprechend Ihren Bedürfnissen und den Diensten auf Ihrem System zu konfigurieren.

Das Skript ufw_setup.sh

#!/bin/bash

# Überprüfen, ob das Skript mit Root-Rechten ausgeführt wird
if [ "$EUID" -ne 0 ]; then
    echo "Bitte führen Sie das Skript als Root-Benutzer aus."
    exit
fi

# Installation der UFW
apt update
apt install ufw -y

# Grundkonfiguration der UFW
ufw default deny incoming  # Eingehenden Verkehr standardmäßig blockieren
ufw default allow outgoing  # Ausgehenden Verkehr standardmäßig erlauben

# Öffnen von Ports
ufw allow ssh  # SSH-Zugriff erlauben (Port 22)
ufw allow http  # HTTP-Zugriff erlauben (Port 80)
ufw allow https  # HTTPS-Zugriff erlauben (Port 443)

# Aktivieren der Firewall
ufw --force enable

# Anzeigen der aktuellen Firewall-Regeln
ufw status verbose

Speichere das Skript unter dem Namen “ufw_setup.sh”.

Geben Sie danach im Terminal den folgenden Befehl ein, um das Skript ausführbar zu machen:

chmod +x ufw_setup.sh

Danach können Sie das Skript mit folgendem Befehl starten:

./ufw_setup.sh

Erklärungen

Installation der UFW

apt update
apt install ufw -y

Der Befehl `apt update` wird verwendet, um die Paketlisten auf dem Linux-System zu aktualisieren. Das Linux-Paketverwaltungssystem verwendet diese Paketlisten, um Informationen über verfügbare Softwarepakete und deren Versionen abzurufen. Durch das Aktualisieren der Paketlisten stellen Sie sicher, dass Ihr System über die neuesten Informationen zu verfügbaren Softwareaktualisierungen und neuen Paketen verfügt.

Der Befehl `apt install ufw -y` wird verwendet, um das UFW-Paket zu installieren. `apt install` ist der Befehl, der zum Installieren von Paketen unter Debian-basierten Linux-Distributionen verwendet wird. `ufw` ist der Name des Pakets, das installiert werden soll. Die Option `-y` gibt an, dass alle Bestätigungsanfragen während der Installation mit "Ja" beantwortet werden sollen, sodass der Installationsprozess automatisch abläuft.

Durch die Ausführung dieser beiden Befehle stellen wir sicher, dass wir über die neuesten Informationen zu verfügbaren Softwarepaketen verfügen und dann die UFW-Paketinstallation automatisieren, ohne dass Benutzerinteraktion erforderlich ist. Dies ermöglicht es uns, die UFW schnell und effizient auf unserem System zu installieren, während wir unser Bash-Skript ausführen.

Grundkonfiguration der UFW

ufw default deny incoming  # Eingehenden Verkehr standardmäßig blockieren
ufw default allow outgoing  # Ausgehenden Verkehr standardmäßig erlauben

Die UFW (Uncomplicated Firewall) verwendet Standardregeln, um den eingehenden und ausgehenden Netzwerkverkehr zu steuern. Mit den Befehlen `ufw default deny incoming` und `ufw default allow outgoing` werden die Standardregeln für eingehenden und ausgehenden Verkehr festgelegt.

`ufw default deny incoming` legt die Standardregel für eingehenden Verkehr fest, die besagt, dass eingehender Netzwerkverkehr standardmäßig blockiert werden soll. Das bedeutet, dass alle eingehenden Verbindungsanfragen von außen standardmäßig abgelehnt werden, es sei denn, es wurde eine spezifische Regel erstellt, um den Verkehr zu erlauben. Diese Regel trägt dazu bei, die Sicherheit Ihres Systems zu verbessern, indem unerwünschter eingehender Verkehr standardmäßig blockiert wird.

`ufw default allow outgoing` legt die Standardregel für ausgehenden Verkehr fest, die besagt, dass ausgehender Netzwerkverkehr standardmäßig erlaubt werden soll. Das bedeutet, dass Ihr System standardmäßig Verbindungen zu anderen Geräten und Servern im Netzwerk oder Internet herstellen kann, ohne dass spezifische Regeln erforderlich sind. Diese Regel ermöglicht es Ihrem System, grundlegende Netzwerkdienste wie das Abrufen von Webseiten oder das Senden von E-Mails zu verwenden, ohne dass weitere Konfiguration erforderlich ist.

Indem wir diese beiden Befehle in unserem Skript verwenden, setzen wir die Standardregeln für eingehenden und ausgehenden Verkehr der UFW entsprechend unseren Anforderungen. Beachten Sie jedoch, dass Sie möglicherweise zusätzliche Regeln erstellen müssen, um spezifische Verbindungen oder Dienste zu ermöglichen oder einzuschränken. Die Konfiguration der UFW kann je nach den Anforderungen Ihres Systems variieren.

Öffnen von Ports

ufw allow ssh  # SSH-Zugriff erlauben (Port 22)
ufw allow http  # HTTP-Zugriff erlauben (Port 80)
ufw allow https  # HTTPS-Zugriff erlauben (Port 443)

Diese Befehle werden verwendet, um bestimmte Netzwerkports für den Zugriff von außen zu öffnen und den Verkehr für bestimmte Dienste zu erlauben.

`ufw allow ssh` öffnet den Port 22 für den SSH-Zugriff. SSH (Secure Shell) ist ein sicheres Protokoll, das verwendet wird, um sichere Remote-Verbindungen zu einem entfernten System herzustellen. Durch das Ausführen dieses Befehls wird der eingehende Verkehr auf Port 22 erlaubt, was es Ihnen ermöglicht, SSH-Verbindungen zu Ihrem System herzustellen.

`ufw allow http` öffnet den Port 80 für den HTTP-Zugriff. HTTP (Hypertext Transfer Protocol) ist das Standardprotokoll für den Austausch von Webseiten im Internet. Durch das Ausführen dieses Befehls wird der eingehende Verkehr auf Port 80 erlaubt, sodass Ihr System Webseitenanfragen empfangen und Webinhalte bereitstellen kann.

`ufw allow https` öffnet den Port 443 für den HTTPS-Zugriff. HTTPS (Hypertext Transfer Protocol Secure) ist die sichere Version von HTTP und wird für den sicheren Austausch von Webseiteninhalten verwendet. Durch das Ausführen dieses Befehls wird der eingehende Verkehr auf Port 443 erlaubt, was es Ihnen ermöglicht, sichere HTTPS-Verbindungen zu Ihrem System herzustellen.

Durch das Hinzufügen dieser Befehle zu unserem Skript öffnen wir die erforderlichen Ports für SSH, HTTP und HTTPS, damit diese Dienste ordnungsgemäß funktionieren können. Beachten Sie, dass Sie je nach Ihren Anforderungen weitere Ports öffnen oder den Zugriff auf bestimmte Ports einschränken müssen. Es ist wichtig, die Ports entsprechend Ihren spezifischen Anforderungen und Sicherheitsrichtlinien zu konfigurieren.

Aktivieren der Firewall

ufw --force enable

Der Befehl `ufw --force enable` wird verwendet, um die UFW (Uncomplicated Firewall) zu aktivieren, indem er die Firewall-Regeln sofort in Kraft setzt, ohne eine Bestätigung vom Benutzer zu erfordern.

Normalerweise würde der Befehl `ufw enable` eine Bestätigung vom Benutzer verlangen, um sicherzustellen, dass die Firewall-Konfiguration korrekt ist und dass der Benutzer nicht versehentlich den Zugriff auf sein System einschränkt. Dies ist eine Sicherheitsmaßnahme, um mögliche versehentliche Sperrungen zu verhindern.

Mit der Option `--force` wird die Bestätigung umgangen und die UFW wird sofort aktiviert. Dadurch wird die Firewall entsprechend der aktuellen Konfiguration aktiviert und alle eingestellten Regeln werden wirksam.

Die Verwendung von `ufw --force enable` in unserem Skript stellt sicher, dass die UFW ohne Benutzerinteraktion aktiviert wird. Dies ist nützlich, wenn das Skript automatisch ausgeführt wird und keine manuelle Bestätigung erforderlich ist.

Bitte beachten Sie, dass Sie vorsichtig sein sollten, wenn Sie die UFW mit `--force` aktivieren, da dies dazu führen kann, dass die Firewall-Regeln ohne Überprüfung in Kraft gesetzt werden. Stellen Sie sicher, dass Sie die Konfiguration der UFW sorgfältig überprüfen, bevor Sie diese Option verwenden, um sicherzustellen, dass die Firewall Ihren Anforderungen entspricht und keine unerwünschten Zugriffsbeschränkungen auferlegt werden.

Anzeigen der aktuellen Firewall-Regeln

ufw status verbose

Zum Schluss  lassen wir uns die aktuellen Firewall-Regeln anzeigen.

Der Befehl `ufw status verbose` wird verwendet, um den aktuellen Status der UFW (Uncomplicated Firewall) anzuzeigen, einschließlich aller aktivierten Firewall-Regeln und deren Konfiguration.

Die Option `status` gibt den Befehl an, den Status der UFW anzuzeigen. Die Option `verbose` gibt an, dass der Status ausführlich angezeigt werden soll, einschließlich detaillierter Informationen zu den Regeln und deren Konfiguration.

Durch die Ausführung von `ufw status verbose` erhalten Sie eine umfassende Übersicht über den aktuellen Zustand Ihrer Firewall. Sie können Informationen wie den Standardregelmodus (Blockieren oder Zulassen), die eingehenden und ausgehenden Regeln, die geöffneten Ports, die Protokolle (wie TCP oder UDP), die Quell- und Ziel-IP-Adressen und andere spezifische Konfigurationsdetails anzeigen.

Die Verwendung von `ufw status verbose` am Ende unseres Skripts ermöglicht es uns, den aktuellen Status der UFW anzuzeigen, nachdem wir die Installation und Grundkonfiguration abgeschlossen haben. Dies hilft uns zu überprüfen, ob die Firewall korrekt konfiguriert ist und die gewünschten Regeln implementiert wurden.

Es ist wichtig, den Status der Firewall regelmäßig zu überprüfen, um sicherzustellen, dass die Regeln Ihren Anforderungen entsprechen und Ihr System angemessen geschützt ist.