UFW – die Firewall die jeder kann

ufw – kurz für uncomplicated firewall

ufw ist in den gängigsten Distributionen enthalten und über den Paketmanegern installierbar:

sudo apt install ufw


für alle Debian basierten Distributionen

sudo pacman -S ufw


für alle Arch basierten Distributionen

Der Name ist Programm, was ufw nicht weniger mächtig macht als vergleichsweise spezialisierte Produkte wie ipfire.
Die Syntax ist ist simpel und geht gut von der Hand:

ufw status


erweiterbar mit

ufw status verbose


oder

ufw status numbered


gibt den Status der Firewall mit allen Regeln aus, zusätzlich mit den default Regeln mit verbose und nummerierte Regeln mit numbered, was unser neuer bester Freund wird wenn es darum geht Regeln zu löschen.

sudo ufw disable


zum deaktivieren und gleichzeitig wird ufw aus dem Autostart entfernt

sudo ufw enable


zum aktivieren und gleichzeitig wird ufw zum Autostart hinzugefügt

sudo ufw disable && sudo ufw enable


zum neustarten der Firewall und dem aktivieren der Regeln

Kleiner Tipp von mir:

sudo ufw disable && sudo ufw enable && sudo ufw status numbered


das startet die Firewall neu und gibt gleich die aktiven Regeln aus, was das arbeiten an der Firewall angenehmer gestatet.

Jetzt zum wichtigsten die Regeln.
Die Syntax der Regeln ist auch einfach und logisch aufgebaut, ein sehr einfaches Beispiel ist:

sudo ufw allow http


hier wird pauschal alles für http bzw. Port 80 freigegeben

die möglichen optinen sind

– allow = erlaubt Traffic
– deny = verbietet Traffic und gibt kein Response
– reject = verbietet Traffic und gibt Response
– limit = erlaubt Traffic, aber blockt Traffic sobald mehr als 6 Versuche von einer IP in 30 Sekunden erfolgen

Für die Protokolle(hinter allow|deny) kann alles verwendet werden was in der /etc/services steht oder direkt der Port angegeben werden.

Erweitern wir die Regel mit der Richtung:

sudo ufw allow in|out http

Das sollte sich von selbst erklären das „in“ alles eingehende ist und „out“ alles ausgehende ist.

Wo wir grade beim erweitern sind können wir auf die Regeln auf ein Netzwerkprotokoll spezifizieren mit:

sudo ufw allow in 80/tcp

würde Port 80 für tcp-Verkehr geöffnet aber blockt weiterhin udp blocken.

Um Zugriffe auf euer System besser einzugrenzen können wir in ufw Zugriffe für IPs und ganze Netze freigeben:

sudo ufw allow from 192.168.32.0/24

das gibt den Zugriff für das ganze Netz frei.

Abschliezend noch ein kleiner Praxistipp:
Am ende jeder Regel könnt ihr mir „comment“ noch eine eigene Beschreibung ergänzen, was das Zukünftige bearbeiten übersichtlicher macht:

sudo ufw allow http comment webserver_unverschluesselt

sieht dann wenn ihr fleißig wart so aus zum Beispiel:

Status: Aktiv

     Zu                         Aktion      Von
     --                         ------      ---
[ 1] Anywhere                   ALLOW IN    192.168.2.0/24             # homenetwork
[ 2] 80/tcp                     ALLOW IN    Anywhere                   # npm
[ 3] 443/tcp                    ALLOW IN    Anywhere                   # npm
[ 4] 22/tcp                     LIMIT IN    Anywhere                  
[ 5] 2812                       ALLOW IN    Anywhere                   # monitwebinterface
[ 6] 32400                      ALLOW IN    Anywhere                   # plex
[ 7] Anywhere                   ALLOW IN    172.28.0.0/24              # npmnetwork
[ 8] 25/tcp                     REJECT OUT  Anywhere                   (out)
[ 9] Anywhere                   ALLOW IN    192.168.32.0/24            # guacamoleproxynetwork
[10] 25565                      ALLOW IN    Anywhere                   # minecraft
[11] Anywhere                   ALLOW IN    172.21.0.0/24              # uptime-kuma_network
[12] 80/tcp (v6)                ALLOW IN    Anywhere (v6)              # npm
[13] 443/tcp (v6)               ALLOW IN    Anywhere (v6)              # npm
[14] 22/tcp (v6)                LIMIT IN    Anywhere (v6)             
[15] 2812 (v6)                  ALLOW IN    Anywhere (v6)              # monitwebinterface
[16] 32400 (v6)                 ALLOW IN    Anywhere (v6)              # plex
[17] 25/tcp (v6)                REJECT OUT  Anywhere (v6)              (out)
[18] 25565 (v6)                 ALLOW IN    Anywhere (v6)              # minecraft

Achtung: ufw funktioniert, wie alle Firewalls, nach dem Prinzip "first come, fist serve" was bedeutet, das die Regeln nacheinander abgearbeitet werden und die erste Regel greift, egal was danach für den Port/Dienst kommt. Gibt es keine Regel, greift der default, welcher mit ufw status verbose ausgelesen werden kann.

Wer nicht im Terminal arbeiten möchte kann sich auch mit dem Paket „gufw“ ein grafisches Tool installieren.

Vielen Dank für eure Aufmerksamkeit.

Das ganze ist Teil der Youtube Serie von Hauke, Jean und mir und kann hier gefunden werden:
YT Playlist

2 Kommentare zu „UFW – die Firewall die jeder kann“

  1. Pingback: Firewall auf Ubuntu/Debian/.. Server verwalten – ufw für Anfänger - Hosting solutions

  2. Pingback: Firewall auf Ubuntu/Debian/.. Server verwalten – ufw für Anfänger - Hinweise zum Systemadministrator

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.