Erste Schritte mit UFW (Uncomplicated Firewall) auf Ubuntu 20.04

UFW oder Uncomplicated Firewall ist eine Anwendung zur Verwaltung einer iptables-basierten Firewall unter Ubuntu. UFW ist das Standard-Firewall-Konfigurationswerkzeug für Ubuntu Linux und bietet einen benutzerfreundlichen Weg, die Firewall zu konfigurieren. Die UFW-Befehle sind genau wie die englische Sprache, so dass die Befehle leicht zu merken sind. Die UFW Firewall unterstützt IPv4 und IPv6.

UFW bietet auch eine GUI-Anwendung, wenn du einen GNOME-Desktop verwendest, kannst du gufw installieren, oder wenn du einen KDE-Desktop verwendest, kannst du kcm-ufw installieren.

Voraussetzungen

  • Ubuntu Version zwischen 15.04 und 21.04. Neuere Ubuntu Versionen sollten ebenfalls funktionieren.
  • Root-Rechte

Was wird in diesem Tutorial behandelt?

  1. Die Installation von UFW.
  2. Die grundlegende UFW Befehlssyntax.
  3. Der UFW Allow und Deny Befehl.
  4. Erweiterte UFW-Befehle.
  5. Löschen einer Regel in UFW.
  6. Deaktivieren und Zurücksetzen von UFW.

Installation von UFW

Standardmäßig sollte UFW auf ubuntu 20.04 bereits installiert sein. Du kannst dies mit dem Befehl testen:

which ufw

Wenn dieser nicht den Pfad zum Befehl zurückgibt, dann installiere UFW mit dem folgenden apt Befehl:

sudo apt-get install ufw

Für die folgenden Befehle benutze bitte sudo oder root-Rechte. Du kannst Root-Benutzer werden mit dem Befehl:

sudo -s

Führe dann den folgenden Befehl aus, um UFW zu aktivieren:

ufw enable

Ergebnis:

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

Der grundlegende UFW-Befehl

Der „ufw enable“ Befehl wird UFW mit den Standardregeln einschalten. Du kannst überprüfen, dass UFW läuft, indem du diesen Befehl ausführst:

ufw status verbose

Ergebnis:

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

Wenn du UFW deaktivieren oder ausschalten möchtest, kannst du dies mit:

ufw disable

Ergebnis:

Firewall stopped and disabled on system startup

UFW aktivieren

Der UFW Allow und Deny Befehl

1. UFW Erlauben Befehl

UFW wird alle eingehenden Verbindungen verweigern, nachdem du es eingeschaltet hast. Das erste, was du also tun solltest, ist den SSH-Zugriff für den Server zu erlauben, wenn du das System aus der Ferne verwalten möchtest. Der Befehl „ufw allow sshport“ erlaubt den Zugriff per SSH, ersetze SSHPORT mit dem Port des SSH Dienstes, der Standard SSH Port ist 22.

ufw allow 22

Ergebnis:

Rules updated
Rules updated (v6) #For IPv6

Wenn du eingehende Verbindungen auf Port 22 nur für TCP erlauben möchtest, füge am Ende des Befehls „/tcp“ hinzu, wie im folgenden Beispiel gezeigt.

ufw allow 22/tcp

Wenn der Dienst, dem du den Zugriff erlauben willst, auf seinem Standardport lauscht, kannst du den Namen des Dienstes anstelle der Portnummer verwenden. Dies macht es einfacher, den Port zu öffnen, da du den Port vielleicht nicht kennst. UFW wird dann die richtige Portnummer in /etc/services für dich nachschlagen.

Dieser Befehl wird den Standard SSH Port öffnen:

ufw allow ssh

Überprüfe nun die Regel mit:

ufw status

SSH in UFW zulassen

2. UFW Deny Befehl

Der „deny“ Befehl funktioniert ähnlich wie der „allow“ Befehl und wird verwendet, um einen Port in der Firewall zu schließen:

Deny mit der Option Port:

ufw deny 80

Ergebnis:

Rule added
Rule added (v6)

UFW Deny Befehl.

Beispiel für „deny“ mit Dienstname. In diesem Beispiel werde ich http Port/80 blockieren:

ufw deny http

UFW dementieren http.

Hinweis:

Du kannst alle Ports und ihre Dienstnamen in der Datei „/etc/services“ sehen.

Erweiterte UFW-Befehle

Jetzt werden wir tiefer in die UFW-Befehlssyntax eindringen, lernen, wie man Teilbereiche zulässt (z.B. für die passiven FTP-Ports und wie man den Zugriff nur von einer IP oder einem Subnetz erlaubt.

1. Erlaube einen Portbereich

Du kannst einen Bereich von Ports in UFW erlauben. Einige Dienste wie FTP oder IRC benutzen einen Bereich von Ports, um mit ihren Clients zu kommunizieren.

In diesem Beispiel werden wir den Portbereich zulassen, der von ircd auf meinem Server verwendet wird, der Bereich ist Port 6660 bis 6670:

sudo ufw allow 6660:6670/tcp
sudo ufw allow 6660:6670/udp

Der Befehl wird Verbindungen zu den Ports 6660-6670 über das TCP und UDP Protokoll erlauben.

2. Erlaube eine bestimmte IP Adresse

Du kannst auch eine bestimmte IP-Adresse hinzufügen, um den Zugriff auf alle Dienste zu erlauben, indem du die Option„from“ hinzufügst. Dies ist z.B. nützlich, wenn du eine statische IP zu Hause oder im Büro hast und von dort aus den Zugriff auf alle Dienste deines Servers erlauben möchtest. Der folgende Befehl erlaubt der IP 192.168.1.106 den Zugriff auf alle Ports des Servers:

ufw allow from 192.168.1.106

Ergebnis:

Rule added

3. Subnetz zulassen

Wenn du alle IP-Adressen in deinem Subnetz erlauben willst, kannst du das IP-Subnetz (Bereich von IP-Adressen) zum UFW-Befehl wie folgt hinzufügen:

ufw allow from 192.168.1.1/24

Ergebnis:

WARN: Rule changed after normalization
Rule added

4. Zugriff von einer bestimmten IP-Adresse auf einen Port zulassen

Wenn du den Zugriff auf einen Port nur von einer bestimmten IP erlauben möchtest, kannst du die UFW-Befehle, die wir oben gelernt haben, kombinieren.

Zum Beispiel kann nur die IP 192. 168.1.106 auf den ssh Port 22 tcp zugreifen und andere IPs werden von diesem Port abgewiesen, du kannst den folgenden Befehl verwenden:

ufw allow from 192.168.1.106 proto tcp to any port 22

Ergebnis:

Rule added

5. Allen eingehenden Verkehr auf einem bestimmten Port zulassen

Wenn du den gesamten Verkehr auf Port 80 erlauben möchtest, kannst du diesen Befehl verwenden:

ufw allow to any port 80

Löschen einer UFW-Firewall-Regel

In diesem Abschnitt lernst du, wie du eine Regel, die in UFW gespeichert ist, löschen kannst. Du kannst den„delete„-Befehl verwenden, um die ufw-Regel zu löschen. Bitte gib den Befehl„ufw delete“ ein, gefolgt von der Option, die gelöscht werden soll, allow oder deny.

Hier sind einige Beispiele:

Löschen der allow SSH Regel mit dem Dienstnamen:

ufw delete allow ssh

Ergebnis:

Rule deleted
Rule deleted (v6)

Dieser Befehl löscht die Regel„allow ssh„. Sei vorsichtig, sperre dich nicht aus dem Server aus.

Lösche die Regel „deny“ auf Port 80:

ufw delete deny 80

Ergebnis:

Rule deleted
Rule deleted (v6)

Wenn du eine komplexe Regel hast, dann gibt es einen einfachen Weg, die Regel anhand ihrer Regel-ID zu identifizieren und zu löschen. Führe den folgenden Befehl aus, um eine Liste aller Regeln mit ihren ID’s zu erhalten:

ufw status numbered

Ergebnis:

Status: active

To                         Action      From
—                         ——      —-
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 22/tcp (v6)                ALLOW IN    Anywhere (v6)

Lösche nun die SSH Regel für IPv6 nur anhand der Nummer der Regel:

ufw delete 2

UFW deaktivieren und zurücksetzen

Wenn du UFW ausschalten möchtest , ohne deine Regeln zu löschen, kannst du den Befehl„disable“ verwenden:

ufw disable

Ergebnis:

Firewall stopped and disabled on system startup

Der UFW Status Befehl.

Wenn du UFW komplett abschalten und alle Regeln löschen willst, kannst du den Befehl„reset“ verwenden:

ufw reset

Ergebnis:

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20150918_190351'
Backing up 'user.rules' to '/lib/ufw/user.rules.20150918_190351'
Backing up 'after.rules' to '/etc/ufw/after.rules.20150918_190351'
Backing up 'before.rules' to '/etc/ufw/before.rules.20150918_190351'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20150918_190351'
Backing up 'user6.rules' to '/lib/ufw/user6.rules.20150918_190351'

Fazit

UFW (Uncomplicated Firewall) ist das Standard-Firewall-Konfigurationswerkzeug in Ubuntu. Die UFW-Befehle sind der englischen Sprache ähnlich, das macht sie einfach zu benutzen und zu merken. Dieses UFW-Tutorial ist eine Anleitung, um mit diesem netten Firewall-Tool loszulegen. Wenn du mehr über UFW wissen willst, kannst du auf das Ubuntu-Wiki oder die ufw-Manpage gehen.

Das könnte dich auch interessieren …