Zum Inhalt

UFW verstehen und einrichten

Vorwort

Mir geht es nicht darum UFW bis ins Detail abzubilden, vielmehr ein Nachschlagewerk zu erstellen in dem man bei Bedenken schnell und übersichtlich suchen kann.

Konfiguration

Nachfolgende Commands erlauben beispielhaft SSH Traffic auf Port 22 via TCP.

sudo ufw allow ssh comment 'SSH Server'
sudo ufw allow 22/tcp comment 'SSH Server'

UFW Defaults

Standardmäßig allen eingehenden Traffic blockieren

sudo ufw default deny incoming

HINWEIS: UFW starten, bitte stellt sicher, dass ihr euch nicht selbst aussperrt, SSH Zugang sollte als Regel bereits angelegt sein!

sudo ufw enable

IP's sperren

Mit nachstehendem Command kann eine IP, aber auch ein ganzes Subnet gesperrt werden:

sudo ufw deny from 123.123.123.123 comment 'Reason for single IP'
sudo ufw deny from 123.0.0.0/8 comment 'Reason for Subnet'

IP's erlauben

Mit nachstehendem Command kann eine IP oder ein Subnet zum Zugriff berechtigt werden:

sudo ufw allow from 123.123.123.123 comment 'Reason for single IP'
sudo ufw allow from 123.0.0.0/8 comment 'Reason for Subnet'

Portranges erlauben

Natürlich ist es auch möglich eine Reihe an Ports auf einmal zu öffnen, wenn es eine Anwendung erfordert:

Ports 8000 bis 9000 mit TCP erlauben

sudo ufw allow 8000:9000/tcp comment 'Application XY'

Ports 8000 bis 9000 mit UDP erlauben

sudo ufw allow 8000:9000/udp comment 'Application XY'

Status der UFW ausgeben Der Output könnte dann wie folgt aussehen:

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere                  
51820/udp                  ALLOW       Anywhere                  
80,443/tcp                 ALLOW       Anywhere                   
22/tcp (v6)                ALLOW       Anywhere (v6)             
51820/udp (v6)             ALLOW       Anywhere (v6)             

Regeln löschen

Zuerst bestehende Regeln nummeriert ausgeben:

sudo ufw status numbered

Anschließend die passende Nummer notieren und im Folgecommand ersetzen:

sudo ufw delete <Nummer>

Firewall Einstellungen

Starten / Stoppen / Status von UFW ausgeben lassen

sudo ufw {start|stop|status}

Firewall neu laden - Nützlich nach dem Hinzufügen / Editieren von Regeln

sudo ufw reload

UFW zurücksetzen

sudo ufw reset

Anwendungen

Dienste erlauben

Mit dem Command ufw app list können installierte Anwendungen gelistet werden, die ein Profil für UFW mitbringen. Alternativ kann der Port (mit entsprechendem Protokoll) ebenso per Hand freigegeben werden.

Webserver

Webserver laufen für gewöhnlich auf den Ports 80 und 443 jeweils via TCP. Dieser Traffic kann über folgende Commands erlaubt werden:

Webtraffic von allen IPs zulassen

sudo ufw allow proto tcp from any to any port 80,443 comment 'Webserver'

Webtraffic nur von bestimmten IPs zulassen

sudo ufw allow proto tcp from 123.123.123.123 to any port 80,443 comment 'Restricted Access'

MySQL / MariaDB

Zugang zum lokalen Datenbankserver vom LAN erlauben, hierbei habe ich das gesamte 10.0.0.0/8 Subnet angegeben, dies kann enstprechend eingegrenzt werden.

sudo ufw allow from 10.0.0.0/8 to any port 3306 comment 'Datenbankserver XY'

Verkehr auf bestimmte Interfaces beschränken Port 22 / TCP auf Interface eth0 erlauben:

sudo ufw allow in on eth0 to any port 22