Firewall
Die Syntax der iptables und nftables ist einerseits sehr leistungsfähig und flexibel, andererseits wird sie auch als komplex empfunden. Auf der Linux Variante Ubuntu wird daher ein unkompliziertes kommandozeilen-basiertes Frontend namens ufw (uncomplicated firewall) bereitgestellt.
ufw
verwendet ein dreistufiges Regelwerk, welches in drei
Konfigurationsdateien hinterlegt ist. Diese werden in der folgenden
Reihenfolge gelesen und ausgewertet:
▪ /etc/ufw/before.rules
▪ /var/lib/ufw/user.rules oder /lib/ufw/user.rules
▪ /etc/ufw/after.rules
Rufen Sie die zuvor genannten Dateien mit dem cat Befehl auf, um die hinterlegten iptables zu sehen.
Durch die Abfolge der Dateiauswertung ergibt sich, dass Regeln in user.rules ggf. die in before.rules überschreiben und Regeln in after.rules die von user.rules.
Ufw bietet eine einfache allgemeine Syntax zur Erstellung von Regeln an.
sudo ufw allow|deny|reject service
Beispiel
sudo ufw allow ssh erlaubt allen Paketen, die SSH nutzen wollen, den Datenverkehr über die Firewall.
Neben der Möglichkeit ein ganzes Protokoll für alle Pakete freizugeben, gibt es 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:
proto 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
beliebigen 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.
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
sudo ufw status
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.