Jag_cz - Fotolia
Uncomplicated Firewall: Linux mit UFW und Gufw absichern
Uncomplicated Firewall (UFW) hilft dabei, iptables unter Linux im Terminal zu steuern. Mit Gufw gibt es für UFW auch eine grafische Oberfläche, mit der das noch einfacher geht.
Wer die Linux-Firewall konfiguriert, findet mit Uncomplicated Firewall (UFW) eine gute Erweiterung, die dabei hilft Regeln im Terminal einfach zu steuern. Zusätzlich lässt sich noch Gufw unter Ubuntu installieren. Dabei handelt es sich um eine grafische Oberfläche für UFW, um wiederum iptables zu steuern.
Für die Konfiguration der Linux-Firewall mit UFW und Gufw sind Root-Rechte notwendig. Damit Sie Änderungen durchführen können, müssen Sie also mit Sudo arbeiteten. Beim Öffnen von Gufw ist das Kennwort eines Admin-Benutzers einzugeben.
UFW und Gufw installieren sowie aktivieren
Bei Ubuntu ist UFW automatisch auf dem System installiert. Ist das nicht der Fall, können Sie UFW und Gufw auf einmal installier:
sudo apt-get install ufw gufw
Wird für die Verwaltung der Firewall auch Gufw installiert, ist das Programm Firewall-Konfiguration bei den installierten Tools zu finden. Wird das Programm gestartet, dann ist auch gleich zu sehen ob die Firewall auf dem System aktiv ist oder nicht.
Im Terminal können Sie den Status der lokalen Linux-Firewall nach der Installation von UFW mit dem folgenden Befehl überprüfen:
sudo ufw status
Wenn die Firewall nicht aktiv ist, lässt sie sich mit dem folgenden Befehl schnell und einfach starten:
sudo ufw enable
Deaktivieren lässt sich die Firewall mit
sudo ufw disable
Regeln für iptables erstellen
Mit UFW und Gufw können Anwender und Administratoren einfacher Regeln für iptables erstellen. Dabei gibt es mehrere Möglichkeiten, die einfachste davon sind sicherlich Gufw und der Menüpunkt Regeln. Standardmäßig sind keine Regeln definiert. Um in Gufw eine neue Regel zu erstellen, stehen im unteren Bereich die Icons für das Erstellen, Löschen und Bearbeiten von Regeln zur Verfügung.
Für das Erstellen von Regeln gibt es drei verschiedene Menüs: Vorkonfiguriert hilft dabei, Standardregeln schnell und einfach zu erstellen. Mit Einfach lassen sich benutzerdefinierte Regeln konfigurieren. Mit Erweitert können Sie umfassende Regeln erstellen, ohne sich mit den Optionen aus dem Terminal auseinandersetzen zu müssen.
Um Linux-Firewallregeln mit UFW im Terminal zu erstellen, stehen ebenfalls einfache Möglichkeiten zur Verfügung, da die Syntax von UFW genutzt werden kann. Soll zum Beispiel SSH erlaubt sein, können Sie das mit folgender Syntax konfigurieren:
ufw allow ssh/tcp
Durch den Befehl werden die entsprechenden Ports automatisch ausgewählt.
Firewall-Regeln im Terminal und der grafischen Oberfläche verwalten
UFW erkennt die Dienste in Linux, die in etc/service aufgelistet sind und kann Firewall-Regeln auf deren Basis erstellen. Dazu ist auch Gufw in der Lage. UFW unterstützt dazu Anwendungsprofile und kann für bekannte Anwendungen automatisch entsprechende Ports und Konfigurationen freischalten. Alle bekannten Anwendungen können Sie mit dem folgenden Befehl anzeigen:
Ufw app list
Um sich genauere Informationen zu sehen, können Sie sich auch die Details eines Profils anzeigen lassen:
ufw app info Postfix
Natürlich können Sie für das Erstellen von Regeln auch direkt die Ports verwenden, zum Beispiel mit:
ufw allow 22/tcp
Soll in diesem Beispiel in UFW der Zugriff per SSH nur von einer einzelnen IP-Adresse erlaubt sein, können Sie das auch im Terminal steuern:
ufw allow from 192.168.178.15 port 22
Umgekehrt lassen sich auch einzelne IP-Adresse komplett blockieren:
ufw deny from 10.0.0.0
Neben TCP-Regeln können Sie welche für UDP anlegen. Dazu ist beim Erstellen die Option <Port>/udp zu verwenden. Erfolgt keine Angabe, legt UFW die Regeln für TCP und UDP an.
Die erstellten Regeln erscheinen natürlich auch in der grafischen Oberfläche. Diese muss allerdings in den meisten Fällen neu gestartet werden, damit sie die Regeln aus Linux einlesen kann. Regeln lassen sich also in UFW und Gufw erstellen und auf beiden Seiten auch bearbeiten.
Regeln überprüfen und löschen
Um sich die aktuellen Regeln im Terminal anzuzeigen, verwenden Sie den folgende Befehl:
Ufw status
Die Regeln werden im System nummeriert. Um sich die Nummern anzeigen zu lassen, verwebnden Sie diesen Befehl:
Ufw status numbered
Über die ID einer Regel kann diese auch wieder gelöscht werden. Dazu verwenden Sie diesen Befehl:
Ufw delete <Nummer>
Um Regeln ohne Nummer zu löschen, wird die Syntax ufw delete allow <Port> oder ufw delete deny <Port> verwendet.
UFW hilft auch bei der Abwehr von Angriffen, zum Beispiel von Brute-Force-Attacken. Dazu lassen sich die Verbindungen limitieren. Im folgenden Befehl werden beispielsweise zu viele Verbindungsversuche blockiert, die mit SSH aufgebaut werden sollen:
ufw limit ssh/tcp
Der Befehl blockiert Verbindungen, wenn mehr als sechs Verbindungsversuche innerhalb von 30 Sekunden aufgebaut werden sollen. Auch hier lässt sich der Status wieder mit ufw status anzeigen.
Für das Zurücksetzen der gesamten Firewall ist dieser Befehl vorhanden:
ufw reset
Um dabei auch alle iptables-Chains zu löschen, ist noch das folgende Kommando notwendig:
/lib/ufw/ufw-init flush-all
Dabei wird die Firewall auch deaktiviert. Um sie wieder zu aktivieren, verwenden Sie diesen Befehl:
sudo ufw enable
Firewall-Protokolle auslesen
Um das Protokoll der Firewall anzuzeigen, nutzen Sie entweder den Menüpunkt Protokoll in Gufw oder die Datei /var/log/ufw.log. Die Protokollierung wird mit ufw logging on aktiviert und mit ufw logging off deaktiviert. Damit die Protokollierung eingestellt werden kann, muss die Firewall deaktiviert sein. Das lässt sich zum Beispiel mit ufw disable durchführen. Aktiviert wird die Firewall wieder mit ufw enable.