Ubuntu UFW

UFW Installation / Konfiguration

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 pfeil_linkiptables zu bieten. ufw unterstützt sowohl IPv4 als auch IPv6.

  • Installation
  • Terminal öffnen
Code:
sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny
  • Status, Start, Stop
  • Terminal öffnen
Code:
sudo ufw status
sudo ufw enable
sudo ufw disable

Wenn die ufw aktiv ist werden folgende Regeln befolgt:

  • alle loopback-Verbindungen akzeptieren, d.h.lokal kann man auf jeden Port zugreifen
  • alle ausgehenden Verbindungen zulassen
  • alle eingehenden Verbindungen ablehnen
  • alle abgelehnten Pakete in die Syslog schreiben (–limit 3/min), max. drei Einträge pro Minute
  • Anwendungen freigeben
  • Beispiel: CUPS, Bittornado & SSH für das lokale Netz freischalten:
Code:
sudo ufw allow from 192.168.0.0/16 to any app CUPS
sudo ufw allow Bittornado
sudo ufw allow proto tcp to any port 22 from 192.168.0.0/16
  • Das 192.168.0.0/16 erlaubt jeden mit der IP: 192.168.x.x den Zugriff auf die Freigaben (weitere Netzwerkklassen*)
  • Die Regeln werden in /var/lib/ufw/user.rules gespeichert.
  • Um einzelne Anwendungen/Ports frei zu schalten, erstellt man ein paar zusätzliche Profile im Verzeichnis /etc/ufw/applications.d/
  • Beispiele:
Code:
[CUPS]
title=Common UNIX Printing System server
description=CUPS is a printing system
ports=631
Code:
[Bittornado]
title=Bittornado
description=Open source bittorrent client.
ports=50500,50501/tcp
  • * Definierten privaten Netzwerkklassen des Standards IPv4:
  • Klasse A: 10.0.0.0 – 10.255.255.255, Subnetz: 255.0.0.0
  • Klasse B: 172.16.0.0 – 172.31.255.255, Subnetz: 255.255.0.0
  • Klasse C: 192.168.0.0 – 192.168.255.255, Subnetz: 255.255.255.0
  • Eine Übersicht über alle aktuellen Applikationsfilter erhält man mit dem Befehl:
Code:
sudo ufw app list
  • Möchte man nun Details z.B. zu CUPS haben, so ruft man den Befehl:
Code:
sudo ufw app info CUPS
  • Normalerweise sollte nach einem sudo ufw enable die Firewall bei jedem Neustart auch aktiviert werden. Falls dies nicht der Fall ist, muss man ggfs. in der Datei /etc/ufw/ufw.conf ENABLED auf yes setzen:
Code:
# /etc/ufw/ufw.conf
#
# set to yes to start on boot
ENABLED=yes
  • Samba für das lokale Netz freischalten
  • In der Datei /etc/default/ufw sollte die netbios_ns Zeile eingetragen werden, dies ist für den Samba-Traffic wichtig
  • Danach können die Port-Freigaben eingerichtet werden
Code:
# The nf_contrack_netbios_ns has been added
IPT_MODULES="nf_conntrack_ftp nf_nat_ftp nf_conntrack_irc nf_nat_irc nf_conntrack_netbios_ns"
Code:
#Samba sharing
sudo ufw allow proto tcp to any port 135 from 192.168.0.0/16
sudo ufw allow proto udp to any port 137 from 192.168.0.0/16
sudo ufw allow proto udp to any port 138 from 192.168.0.0/16
sudo ufw allow proto tcp to any port 139 from 192.168.0.0/16
sudo ufw allow proto tcp to any port 445 from 192.168.0.0/16

#Allow avahi/bonjour/zeroconf
sudo ufw allow proto udp to any port 5353 from 192.168.0.0/16
  • Regeln entfernen
  • Hier z.B. die lokale Freigabe für das SSH entfernen
Code:
sudo ufw delete allow proto tcp to any port 22 from 192.168.0.0/16
  • ufw zurücksetzen
  • dabei gehen alle bereits erstellten Regeln verloren. Die bereits angelegten Profile im Verzeichnis /etc/ufw/applications.d/ bleiben erhalten.
  • nach der Deinstallation muss das Paket neu installiert werden. Wichtig ist das nach der Neuinstallation die Firewall wieder auf enable zu setzen! (siehe oben) Die Regeln müssen ebenfalls neu eingerichtet werden.
Code:
sudo apt-get purge ufw
sudo apt-get install ufw

Weitere Informationen und Anleitungen findet man hier:

Nur für fortgeschrittene /  erfahrene Anwender!

  • Alle ausgehende Verbindungen blockieren
Code:
sudo ufw deny out to any
  • Es werden alle ausgehende Verbindungen geblockt! Es bedeutet: ohne eine Regel für die ausgehende Verbindung, gibt es wirklick keine Verbindung nach „Draußen“. :-) so lange die UFW (Firewall) aktiv ist!
  • Um weiter Surfen, Emailen usw. zu können, müssen für diese Dienste / Ports natürlich Regeln erstellt werden. Hier paar wichtige Dienste:
  • DNS (Domain Name Service) = UDP/Port 53, Webbrowser = TCP/Port 80, SSL Webbrowser = TCP/Port 443
  • Samba verwenden mehrere Ports: UDP/Port 137 und 138 und TCP/Port 139 und 445
  • Tipp: Liste der TCP- und UDP-Ports (Deutsch) (Englisch ausführlicher) (eine ganz ausführliche Liste)
  • und hier ein Beispiel wie man diese Dienste für die ausgehende Verbindungen freigibt:
Code:
sudo ufw allow out 53,137,138/udp
sudo ufw allow out 80,443/tcp
  • Wichtig: beachte bitte die Reihenfolge der Regeln. Grundsätzlich gilt: Erlauben muss vor dem Verbieten stehen!  Hier ein Beispiel:
Code:
 sudo ufw status numbered
  • Nun sehen wir z.B. folgendes:
Code:
Status: active
 To     Action      From
 --     ------      ----
 [ 1] 53,137,138/udp  ALLOW OUT Anywhere (out)
 [ 2] 80,443/tcp ALLOW OUT Anywhere (out)
 [ 3] Anywhere DENY OUT Anywhere (out)
  • Nun möchten wir z.B. Port 21 (FTP) für die ausgehende Verbindungen freigeben
Code:
ufw insert 3 allow out 21

Kommentare sind geschlossen.