ufw › Wiki › ubuntuusers.de (2024)

Dieser Artikel wurde für die folgendenUbuntu-Versionen getestet:

  • Ubuntu 20.04 Focal Fossa

Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Installation von Programmen

  2. ⚓︎ Ein Terminal öffnen

  3. ⚓︎ Grundlegendes Verständnis von netfilter / iptables

Inhaltsverzeichnis

  1. Installation
  2. Benutzung
    1. Status, Start, Stop
    2. Firewall-Regeln
    3. Logging
    4. Applikations-Filter
  3. Links

ufw 🇬🇧 steht für uncomplicated firewall. Ziel von ufw ist es, ein unkompliziertes kommandozeilen-basiertes Frontend für das sehr leistungsfähige, aber nicht gerade einfach zu konfigurierende iptables zu bieten. ufw unterstützt sowohl IPv4 als auch IPv6.

Gufw 🇬🇧 ist eine grafische Oberfläche für ufw, aber kein offizieller Bestandteil von ufw.

Hinweis:

An dieser Stelle sei darauf hingewiesen, dass eine "normale" Desktop-Installation von Ubuntu keine Firewall benötigt. Mehr Informationen findet man in den Artikeln Personal Firewalls und Sicherheits 1x1.

Installation

ufw ist in der Standardinstallation enthalten, kann ansonsten aber auch über die folgenden Pakete installiert werden [1]:

  • ufw

  • gufw (universe, optionale grafische Oberfläche)

Befehl zum Installieren der Pakete:

sudo apt-get install ufw gufw 

Oder mit apturl installieren, Link: apt://ufw,gufw

Benutzung

Wie bereits oben erwähnt ist ufw ein Programm für die Kommandozeile, d.h. alle Aufrufe etc. erfolgen im Terminal [2]. Des Weiteren sind für alle Befehle Root-Rechte erforderlich.

Status, Start, Stop

Als erstes sollte man prüfen, ob das Programm aktiv ist. In der Regel ist ufw deaktiviert, da dies im Zuge der Standardinstallation so vorgegeben wird. Den Status überprüft man mit

Firewall not loaded

In diesem Falle ist der Dienst nicht aktiv. Aktiviert werden kann die Firewall mittels:

sudo ufw enable 
Firewall started and enabled on system startup

So wird ufw auch als Dienst eingerichtet, d.h. beim Neustart des Rechners wird diese direkt aktiviert. Um ufw wieder abzuschalten, dient der Befehl:

sudo ufw disable 
Firewall stopped and disabled on system startup

was auch den automatischen Start des Programms deaktivert.

Firewall-Regeln

Das Aktivieren der Firewall ohne die Definition von Regeln führt bereits dazu, dass alle eingehenden Verbindungen verboten sind und alle abgehenden Verbindungen erlaubt sind!

Hinweis:

Bevor man anfängt, Regeln zu definieren, sollte man sich bewusst sein, dass in der Standard-Einstellung von ufw alle nicht explizit erlaubten Verbindungen verboten sind. Wenn man den fraglichen Rechner nicht physisch vor sich hat, sondern z.B. nur per SSH verbunden ist, kann dies dazu führen, dass man sich selber aussperrt. Deshalb sollte man in diesem Fall unbedingt zuerst die Regeln anpassen (siehe weiter unten) oder die gewünschten Verbindungen explizit erlauben und erst danach die Firewall aktivieren.

Bei den Regeln ist immer zu bedenken, dass unter Linux (bzw. Unix allgemein) die Netzwerkschnittstelle auch zu Rechner-internen Kommunikation genutzt wird. Eine falsche Konfiguration kann also auch dazu führen, dass z.B. der XServer nicht mehr ansprechbar ist! [3]

ufw verwendet ein dreistufiges Regelwerk, welches in drei Konfigurationsdateien hinterlegt ist. Diese werden in der folgenden Reihenfolge gelesen und ausgewertet:

  1. /etc/ufw/before.rules

  2. /var/lib/ufw/user.rules (oder /lib/ufw/user.rules - in welche auch die in der Kommandozeile definierten Regeln persistiert werden)

  3. /etc/ufw/after.rules

Das heißt also, dass Regeln in user.rules ggf. die in before.rules überschreiben und Regeln in after.rules die von user.rules

In den Original-Regeldateien sind nur einige grundlegenden Regeln hinterlegt, die den problemlosen internen Netzwerkverkehr regeln. Das Hinzufügen von Regeln mittels ufw ist recht einfach. Die einfachste allgemeine Syntax ist:

sudo ufw allow|deny|reject SERVICE 

wobei mit allow der SERVICE erlaubt wird. Mit deny würde der Netzwerkverkehr für SERVICE geblockt. Der Unterschied von reject gegenüber deny ist, dass mit reject der Absender des Netzwerkpakets eine Nachricht erhält, dass es abgelehnt wurde. SERVICE kann dabei z.B. eines der in der Datei /etc/services genannten Protokolle sein, wie z.B. POP3, HTTP oder auch - falls installiert - SSH.

Der folgenden Befehl würde z.B. SSH für die Firewall freischalten:

sudo ufw allow ssh 

Mit dieser (einfachen) Regel wird pauschal das komplette Protokoll freigegeben bzw. gesperrt. Natürlich beherrscht ufw auch detailliertere Regeln, die allgemeine Syntax lautet:

sudo ufw allow|deny [proto <protokoll>] [from <adresse> [port <port>]] [to <addresse> [port <port>]] [comment <kommentar>] 

wobei die folgenden Parameter gesetzt werden können:

ufw Parameter
ParameterErklärung
proto PROTOKOLL PROTOKOLL definiert das Protokoll, also TCP oder UDP
from ADRESSE Definiert die Absenderadresse, auf die die Regel zutrifft, <adresse> ist dabei die (IP-)Adresse.
to ADRESSE Definiert die Zieladresse, auf die die Regel angewendet wird, <adresse> ist dabei die (IP-)Adresse.
port PORT Definiert den Port, auf die die Regel (für Ausgangs- / Zieladresse) angewendet wird.
comment KOMMETAR Fügt den Kommentar an die Regel an, der bei ufw status angezeigt wird.

Grundsätzlich kann für PROTOKOLL, ADRESSE und PORT auch immer any als Wert gesetzt werden. Dann trifft die Regel für den entsprechenden Parameter auf alle möglichen Fälle zu. Eine Regel mit ufw kann z.B. so aussehen:

sudo ufw allow proto tcp from any to 123.456.78.90 port 22 

Dies erlaubt das TCP-Protokoll von jedem Port eines beliebigen Systems zum Rechner mit der IP-Adresse 123.456.78.90 und dem dortigen Port 22. Wichtig zum Verständnis: verbirgt sich hinter 123.456.78.90 der eigene Rechner (damit ist der Rechner gemeint, auf dem gerade ufw konfiguriert wird), so hat man gerade Port 22 für eingehende Verbindungen von einem beliebigem Rechner aus geöffnet. Hat der eigene Rechner hingegen nicht die IP 123.456.78.90, gilt folgendes Regelwerk: der eigene Rechner kann Pakete, die über den Port 22 herausgeschickt werden, nur an 123.456.78.90 schicken; es sei denn, man definiert eine weitere Regel.

Am besten stellt man es sich so vor, dass die Firewall "zwischen" dem eigenen Rechner und dem Rest der Welt hockt und jedes durchlaufende Paket auf Quelle und Ziel überprüft. Der eigene Rechner hat also keine besonderen Privilegien und Pakete vom eigenen Rechner werden also genauso herausgefiltert, wenn sie die Regeln nicht erfüllen, wie die Pakete eines jeden beliebigen anderen Rechners, die die Firewall passieren müssen.

Es ist auch möglich, Übertragungsprotokolle (TCP/UDP) pauschal für einen Port freizugeben, was das folgende Beispiel zeigt:

sudo ufw allow 80/tcp 

Damit werden alle TCP-Pakete auf Port 80 erlaubt, egal von welchem Rechner sie kommen bzw. zu welchen Programm/Dienst sie gehen.

Wie man sieht, ist die Regeldefinition im Wesentlichen mit der von iptables identisch. Allerdings ist sie deutlich einfacher zu merken, da ufw "Klartext" statt kryptische Parameter verwendet.

Natürlich nutzt es wenig, wenn man einzelne Protokolle und Programme reglementiert, alle anderen Protokolle/Ports/... aber undefiniert lässt. Daher wird fast immer eine globale Regel gesetzt, die entweder allow oder deny sein kann. Diese werden über ufw wie wie folgt gesetzt:

sudo ufw default allow # alles erlaubensudo ufw default deny # alles verbieten 

Dies bewirkt folgendes: Mit default allow wird jeglicher Netzwerkverkehr freigeben, d.h. wenn man eine spezielle Regel definiert, ist diese in der Regel eine deny-Regel. Dieser Fall wird nur dann angewendet, wenn man spezielle Programme/Protokolle/Zielrechner sperren will, der überwiegende Teil des Verkehrs aber frei sein soll.

Mit default deny wird jeglicher Netzwerkverkehr geblockt, d.h. wenn man eine spezielle Regel definiert, ist diese in der Regel eine allow-Regel. Dies ist der gängigere Fall, da hier dann gezielt Programme/Protokolle/Ports freigegeben werden, d.h. nur dieser Verkehr ist frei.

Sind alle Regeländerungen durchgeführt, müssen diese der Firewall noch bekannt gegeben werden:

sudo ufw reload 

Logging

Damit ufw alle Aktionen der Firewall "mitschreibt", muss das Logging explizit aktiviert werden. Dies geschieht über den Befehl:

sudo ufw logging on 

Das Logging erfolgt dabei im Syslog, also der Datei /var/log/syslog und unter Ubuntu aufgrund der Verwendung von Rsyslog zusätzlich in die ufw-eigene Logdatei /var/log/ufw.log.

Unterstützt werden dabei verschiedenen Detail-Stufen - low (Standard), medium, high und full - die über den folgenden Befehl festgelegt werden können:

sudo ufw logging STUFE 

Selbst bei wenigen Details fallen sehr viele Einträge an und die Logdateien können entsprechend groß werden. Möchte man das Logging wieder deaktivieren, so ersetzt man im oben genannten Befehl einfach on durch off.

sudo ufw logging off 

Applikations-Filter

Die unter Ubuntu eingesetzten Versionen von ufw kennen auch Applikationsfilter. Diese werden i.d.R. automatisch mit der Installation eines durch ufw zu schützenden Dienstes/Programms mit installiert. Die entsprechenden Konfigurationsdateien befinden sich im Verzeichnis /etc/ufw/applications.d/. Es handelt sich um einfache Textdateien, welche den Dienstnamen, eine kurz Beschreibung sowie die zu öffnenden Ports und Protokolle enthalten.

Eine Übersicht über alle aktuellen Applikationsfilter erhält man mit dem Befehl

sudo ufw app list 

Dies sieht dann z.B. so aus:

Available applications: Apache Apache Full Apache Secure CUPS

Möchte man nun Details z.B. zu CUPS haben, so ruft man den Befehl:

sudo ufw app info CUPS 

auf. Die Ausgabe sieht dann so aus:

Profile: CUPSTitle: Common UNIX Printing System serverDescription: CUPS is a printing system with support for IPP, samba, lpd,and other protocols.Port: 631

Hinweis:

Für Programmnamen wie z.B. Apache Full muss der Name in Hochkommata gefasst werden, also z.B.

sudo ufw app info 'Apache Full' 

Weiterführende Details zu ufw app findet man in den Manpages oder im englischen Ubuntu-Wiki (siehe Links).

Links

  • Personal Firewalls - weiterführender Wiki-Artikel zu diesem Thema

  • ufw 🇬🇧 im englischen Ubuntu-Wiki

  • ufw 🇬🇧 - Manpage

ufw › Wiki › ubuntuusers.de (2024)

FAQs

Should I reject or deny UFW? ›

You use reject when you want the other end (attacker) to know the port or IP is unreachable. However, we use deny for connections to attackers (hosts) you don't want people to see at all. In other words the reject sends a reject response to the source, while the deny (DROP) target sends nothing at all.

Is UFW a real firewall? ›

The Uncomplicated Firewall (ufw) is a frontend for iptables and is particularly well-suited for host-based firewalls.

Does UFW block everything by default? ›

By default, UFW is configured to deny all incoming traffic and allow all outgoing traffic. This means that nobody is able to reach your system, while you can make outgoing requests from any application or service.

How to check UFW rules in Ubuntu? ›

Check Open Ports in UFW
  1. To check whether UFW is running: sudo ufw status.
  2. To check whether UFW is running with additional information such as logging and profile status: sudo ufw status verbose.
  3. To find the rule number for UFW rules: sudo ufw status numbered.
  4. Then you can remove the rule: sudo ufw delete 1.
Dec 1, 2023

What happens if you disable ufw? ›

Disabling the firewall on Ubuntu can expose your system to security risks, especially when connected to the internet or a network with other devices. It's generally recommended to keep the firewall enabled and properly configured to protect your system from unauthorized access and malicious activities.

Is ufw blocking SSH? ›

If you were to enable your UFW firewall now, it would deny all incoming connections. This means that you'll need to create rules that explicitly allow legitimate incoming connections — SSH or HTTP connections, for example — if you want your server to respond to those types of requests.

Is UFW still active? ›

The UFW continues organizing in major agricultural sectors, chiefly in California.

Which is better, FirewallD or UFW? ›

For simple rules, I prefer UFW since it's much simpler but it's true that it quickly becomes hard to read and write, at least for me. Firewalld is also much better documented so it's easy to figure it out in case you don't use it often or need something specific.

Is UFW better than iptables? ›

iptables is the most widely used firewall, but it can be challenging to use for those who are not familiar with the command line. UFW and FirewallD provide easier-to-use interfaces for managing iptables rules, while nftables and Shorewall offer more advanced features and capabilities.

Does ufw block ping? ›

By default, UFW allows ping requests.

You may find you wish to leave (icmp) ping requests enabled to diagnose networking problems.

Does Ubuntu have a built-in firewall? ›

The default firewall configuration tool for Ubuntu is ufw . Developed to ease iptables firewall configuration, ufw provides a user-friendly way to create an IPv4 or IPv6 host-based firewall. ufw by default is initially disabled.

How to clear ufw rules? ›

To delete a rule that you previously set up within UFW, use ufw delete followed by the rule ( allow or deny ) and the target specification. The following example would delete a rule previously set to allow all connections from an IP address of 203.0. 113.101 : sudo ufw delete allow from 203.0.

What are the advanced rules of UFW? ›

Advanced Rules

Along with allowing or denying based solely on port, UFW also allows you to allow/block by IP addresses, subnets, and a IP address/subnet/port combinations. proto tcp can be removed or switched to proto udp depending upon your needs, and all instances of allow can be changed to deny as needed.

How to open port in Ubuntu permanently? ›

To open ports on Ubuntu, you can follow these steps:
  1. Step 1: Open Terminal. ...
  2. Step 2: Check Firewall Status. ...
  3. sudo ufw status. ...
  4. Step 3: Allow the Port. ...
  5. sudo ufw allow 80/tcp. ...
  6. sudo ufw allow 80/udp. ...
  7. Step 4: Verify Firewall Status. ...
  8. You should see a line that shows the status of the port you just allowed.
Mar 3, 2023

How to see UFW logs? ›

Logs will be located in /var/logs/ufw . Log levels can be set by running sudo ufw logging low|medium|high . The default setting is low .

What is reject or deny in firewall? ›

Both deny and reject are intended to block traffic. The difference is that when the value is deny, traffic will be blocked without response, and if the value is reject, traffic will be blocked with a response message Destination host unreachable.

Should you drop or deny requests when configuring a firewall? ›

Firewall administrators should configure rules to permit only the bare minimum required traffic for the needs of a network, and let the remaining traffic drop with the default deny rule built into pfSense® software.

What is the deny rule on a firewall? ›

Deny – This means that when a communication is found to match the conditions of an Access Rule with the Deny action, the communication will not be permitted to proceed. The communication is Dropped by the firewall.

Is it to refuse to approve or to reject? ›

Some common synonyms of reject are decline, refuse, repudiate, and spurn. While all these words mean "to turn away by not accepting, receiving, or considering," reject implies a peremptory refusal by sending away or discarding.

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Pres. Carey Rath

Last Updated:

Views: 6507

Rating: 4 / 5 (41 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Pres. Carey Rath

Birthday: 1997-03-06

Address: 14955 Ledner Trail, East Rodrickfort, NE 85127-8369

Phone: +18682428114917

Job: National Technology Representative

Hobby: Sand art, Drama, Web surfing, Cycling, Brazilian jiu-jitsu, Leather crafting, Creative writing

Introduction: My name is Pres. Carey Rath, I am a faithful, funny, vast, joyous, lively, brave, glamorous person who loves writing and wants to share my knowledge and understanding with you.