Website-Suche

So installieren und verwenden Sie die UFW-Firewall unter Linux


Einleitung

UFW, auch bekannt als Uncomplicated Firewall, ist eine Schnittstelle zu iptables und eignet sich besonders gut für hostbasierte Firewalls. UFW bietet eine einfach zu bedienende Oberfläche für Anfänger, die mit Firewall-Konzepten nicht vertraut sind. Es ist das beliebteste Firewall-Tool, das von Ubuntu stammt. Es unterstützt sowohl IPv4 als auch IPv6.

In diesem Tutorial erfahren Sie, wie Sie die UFW-Firewall unter Linux installieren und verwenden.

Anforderungen

  • Jede Linux-basierte Distribution, die auf Ihrem System installiert ist
  • Einrichtung von Root-Rechten auf Ihrem System

UFW installieren

Ubuntu

Standardmäßig ist UFW in den meisten Ubuntu-basierten Distributionen verfügbar. Wenn es gelöscht wird, können Sie es installieren, indem Sie den folgenden Linux-Befehl ausführen.

apt-get install ufw -y 

Debian

Sie können UFW in Debian installieren, indem Sie den folgenden Linux-Befehl ausführen:

apt-get install ufw -y

Centos

Standardmäßig ist UFW im CentOS-Repository nicht verfügbar. Sie müssen also das EPEL-Repository auf Ihrem System installieren. Sie können dies tun, indem Sie den folgenden Linux-Befehl ausführen:

yum install epel-release -y

Sobald das EPEL-Repository installiert ist, können Sie UFW installieren, indem Sie einfach den folgenden Linux-Befehl ausführen:

yum install --enablerepo="epel" ufw -y

Starten Sie nach der Installation von UFW den UFW-Dienst und aktivieren Sie ihn für den Start beim Booten, indem Sie den folgenden Linux-Befehl ausführen.

ufw enable 

Überprüfen Sie als Nächstes den Status von UFW mit dem folgenden Linux-Befehl. Die folgende Ausgabe sollte angezeigt werden:

ufw status 
Status: active 

Sie können die UFW-Firewall auch deaktivieren, indem Sie den folgenden Linux-Befehl ausführen:

ufw disable 

Festlegen der UFW-Standardrichtlinie

Standardmäßig ist die UFW-Standardrichtlinie so eingerichtet, dass der gesamte eingehende Datenverkehr blockiert und der gesamte ausgehende Datenverkehr zugelassen wird.

Sie können Ihre eigene Standardrichtlinie mit dem folgenden Linux-Befehl einrichten.

ufw default allow outgoing 
ufw default deny incoming 

Hinzufügen und Löschen von Firewallregeln

Sie können Regeln für das Zulassen von ein- und ausgehendem Datenverkehr auf zwei Arten hinzufügen: mithilfe der Portnummer oder des Dienstnamens.

Dies ist beispielsweise der Fall, wenn Sie sowohl eingehende als auch ausgehende Verbindungen des HTTP-Dienstes zulassen möchten. Führen Sie dann den folgenden Linux-Befehl mit dem Dienstnamen aus.

ufw allow http 

Oder führen Sie den folgenden Befehl mit der Portnummer aus:

ufw allow 80 

Wenn Sie Pakete basierend auf TCP oder UDP filtern möchten, führen Sie den folgenden Befehl aus:

ufw allow 80/tcp 
ufw allow 21/udp 

Sie können den Status der hinzugefügten Regeln mit dem folgenden Linux-Befehl überprüfen.

ufw status verbose 

Die folgende Ausgabe sollte angezeigt werden:

Status: active 
Logging: on (low) 
Default: deny (incoming), allow (outgoing), deny (routed) 
New profiles: skip 

To                         Action      From 
--                         ------      ---- 
80/tcp                     ALLOW IN    Anywhere 
21/udp                     ALLOW IN    Anywhere 
80/tcp (v6)                ALLOW IN    Anywhere (v6) 
21/udp (v6)                ALLOW IN    Anywhere (v6) 

Sie können auch jederzeit ein- und ausgehenden Datenverkehr mit den folgenden Befehlen ablehnen:

ufw deny 80 
ufw deny 21 

Wenn Sie zulässige Regeln für HTTP löschen möchten, stellen Sie der ursprünglichen Regel einfach das Präfix delete voran, wie unten gezeigt:

ufw delete allow http 
ufw delete deny 21 

Erweiterte UFW-Regeln

Sie können auch eine bestimmte IP-Adresse hinzufügen, um den Zugriff auf alle Dienste zu erlauben oder zu verweigern. Führen Sie den folgenden Befehl aus, um der IP 192.168.0.200 den Zugriff auf alle Dienste auf dem Server zu ermöglichen:

ufw allow from 192.168.0.200 

So verweigern Sie der IP 192.168.0.200 den Zugriff auf alle Dienste auf dem Server:

ufw deny from 192.168.0.200 

Sie können den Bereich der IP-Adresse in UFW zulassen. Führen Sie den folgenden Befehl aus, um alle Verbindungen von IP 192.168.1.1 bis 192.168.1.254 zuzulassen:

ufw allow from 192.168.1.0/24 

Führen Sie den folgenden Linux-Befehl aus, um der IP-Adresse 192.168.1.200 den Zugriff auf Port 80 über TCP zu ermöglichen:

ufw allow from 192.168.1.200 to any port 80 proto tcp 

Um den Zugriff auf den TCP- und UDP-Portbereich von 2000 bis 3000 zu ermöglichen, führen Sie den folgenden Linux-Befehl aus:

ufw allow 2000:3000/tcp 
ufw allow 2000:3000/udp 

Wenn Sie den Zugriff auf Port 22 von IP 192.168.0.4 und 192.168.0.10 blockieren, aber allen anderen IP-Adressen den Zugriff auf Port 22 erlauben möchten, führen Sie den folgenden Befehl aus:

ufw deny from 192.168.0.4 to any port 22 
ufw deny from 192.168.0.10 to any port 22 
ufw allow from 192.168.0.0/24 to any port 22 

Um HTTP-Datenverkehr über die Netzwerkschnittstelle eth0 zuzulassen, führen Sie den folgenden Linux-Befehl aus:

ufw allow in on eth0 to any port 80 

Standardmäßig lässt UFW Ping-Anfragen zu. Wenn Sie eine Ping-Anfrage ablehnen möchten, müssen Sie die Datei /etc/ufw/before.rules bearbeiten:

nano /etc/ufw/before.rules 

Entfernen Sie die folgenden Zeilen:

-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT 

Speichern Sie die Datei, wenn Sie fertig sind.

Wenn Sie jemals UFW zurücksetzen und alle Ihre Regeln entfernen müssen, können Sie dies über den folgenden Linux-Befehl tun.

ufw reset 

Konfigurieren von NAT mit UFW

Wenn Sie die Verbindungen von der externen Schnittstelle zur internen Schnittstelle mit UFW. Dann können Sie dies tun, indem Sie die Dateien /etc/default/ufw und /etc/ufw/before.rules bearbeiten.
Öffnen Sie zunächst die Datei /etc/default/ufw mit dem Nano-Editor:

nano /etc/default/ufw

Ändern Sie die folgende Zeile:

DEFAULT_FORWARD_POLICY="ACCEPT"

Als nächstes müssen Sie auch die IPv4-Weiterleitung zulassen. Sie können dies tun, indem Sie die Datei /etc/ufw/sysctl.conf bearbeiten:

nano /etc/ufw/sysctl.conf

Ändern Sie die folgende Zeile:

net/ipv4/ip_forward=1 

Als Nächstes müssen Sie NAT zur Konfigurationsdatei von ufw hinzufügen. Sie können dies tun, indem Sie die Datei /etc/ufw/before.rules bearbeiten:

nano /etc/ufw/before.rules

Fügen Sie die folgenden Zeilen direkt vor den Filterregeln ein:

NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]

Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

don't delete the 'COMMIT' line or these nat table rules won't
be processed
COMMIT
Save the file when you are finished. Then restart UFW with the following linux command:
ufw disable
ufw enable

Konfigurieren der Portweiterleitung mit UFW

Wenn Sie Datenverkehr von Public IP weiterleiten möchten, z. B. 150.129.148.155 Port 80 und 443 zu einem anderen internen Server mit der IP-Adresse 192.168.1.120. Dann können Sie dies tun, indem Sie /etc/default/before.rules bearbeiten:

nano /etc/default/before.rules

Ändern Sie die Datei wie unten gezeigt:

:PREROUTING ACCEPT [0:0] 
-A PREROUTING -i eth0 -d 150.129.148.155   -p tcp --dport 80 -j  DNAT --to-destination 192.168.1.120:80 
-A PREROUTING -i eth0 -d 150.129.148.155   -p tcp --dport 443 -j  DNAT --to-destination 192.168.1.120:443 
-A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE 

Starten Sie anschließend UFW mit dem folgenden Befehl neu:

ufw disable
ufw enable

Als nächstes müssen Sie auch die Ports 80 und 443 zulassen. Führen Sie dazu den folgenden Befehl aus:

ufw allow proto tcp from any to 150.129.148.155 port 80
ufw allow proto tcp from any to 150.129.148.155 port 443

Verwandte Artikel: