UFW auf Ubuntu installieren
Im letzten Artikel Linux Firewall habe ich dir ein paar Tools vorgestellt, mit denen du iptables, die native Firewall von Ubuntu, verwalten kannst. UFW ist eine, die ich dir heute etwas näher zeigen möchte.
Der UFW-Syntax ist auf jeder Distro der gleiche, lediglich die Installation unterscheidet sich. Ich zeige dir die Installation anhand eines Ubuntu 16.04 LTS Servers.
Server vorbereiten
Erstelle dir bei einem Cloud-Provider deiner Wahl einen Ubuntu Server und verbinde dich mit ihm. Bei gridscale.io kannst du dich direkt über die Konsole verbinden, brauchst also kein SSH-Client. Sollte dein Provider diese Funktion nicht anbieten, kannst du die Installation auch über SSH vornehmen. Beachte hier allerdings, dass du dich leicht aussperren kannst, wenn du die Firewall sofort aktivierst. Halte dich daher genau an die Anleitung.Nutze für das folgende Tutorial deinen Root-Account oder setze sudo
vor die Befehle.
Vor jeder Installation ist es wichtig, den Server auf den aktuellste Stand zu bringen.
apt -y update &&apt -y upgrade
UFW installieren und für SSH-Verbindung einrichten.
Die Installation ist ziemlich einfach, da APT das Paket zur Verfügung stellt:
apt -y install ufw
Nach der Installation ist UFW erstmal deaktiviert. Falls du deinen Server über SSH konfigurierst, ist es wichtig SSH frei zugeben bevor du UFW aktivierst:
ufw allow ssh
Damit wird der Port 22 sowohl für IPv4 als auch für IPv6 geöffnet und wenn du UFW jetzt aktivierst, bleibt die SSH Verbindung weiter bestehen.
Bist du bereit zu starten?
Oder hast du noch Fragen? Lasse dir jetzt dein Konto erstellen oder dich in einem persönlichen Gespräch beraten.
UFW Steuerung
Grundlegende Steuerung:
Einschalten:
ufw enable
Ausschalten:
ufw disable
Status abfragen:
ufw status
Verbindungen erlauben:
Um Verbindungen zu erlauben kannst du entweder das Protokoll angeben, welches du freigeben möchtest, den Port oder sogar Port-Ranges. Außerdem kann man Ports und Protokolle auch nur für einzelne IPs festlegen, die gewhitlistet wurden.
Achtung! Das Folgende sind Beispiele, bitte nur benutzen, wenn du weißt, was du tust!
Protokoll freigeben:
ufw allow ssh
Port freigeben:
ufw allow 22
oder
ufw allow 22/tcp
oder
ufw allow 22/udp
Port Ranges freigeben:
ufw allow 1000:2000
Um Ports nur für bestimmte IPs freizugeben, benutze folgenden Befehl (Achtung! Diese Funktion ergibt nur Sinn mit festen IPs, keinesfalls mit dynamischen IPs nutzen):
ufw allow 22 from 123.456.789.789
Verbindungen verbieten:
Das Verbieten ist genauso einfach wie das Erlauben. Anstelle von allow
einfach deny
einsetzen.
Protokoll verbieten:
ufw deny ssh
Port verbieten:
ufw deny 22
oder
ufw allow 22/tcp
oder
ufw deny 22/udp
Port Ranges verbieten:
ufw deny 1000:2000
oder
ufw deny 22 from 123.456.789.789
Regel löschen:
Manchmal kann es Sinnvoll sein, eine Regel auch wieder zu löschen. Am besten lässt du dir alle Regeln noch einmal anzeigen:
ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
In diesem Beispiel ist SSH erlaubt. Um diese Regel zu widerufen einfach folgenden Befehl benutzen:
ufw delete allow ssh
Wenn du lange Regeln angelegt hast, kann es einfacher sein, folgende Befehle zu nutzen:
ufw status numbered
All deine Regeln werden dir jetzt durchnummeriert angezeigt. Mit der zu der Regel, die du löschen möchtest, gehörenden Nummer, kannst du dann folgenden Befehl nutzen:
ufw delete [Nummer]
In dem Artikel Linux Firewall, mit der Übersicht der verschiedenen Tools zum Verwalten von iptables, habe ich eine Tabelle angelegt, in der die wichtigsten Standartports dargestellt sind. Solltest du dennoch nicht wissen, welchen Port du benötigst, hilft dir der Befehl netstat. Dieser zeigt dir Informationen über deine Netzwerkverbindungen, sowohl eingehende als auch ausgehende. Mit dem Parameter -tulpen werden dir aktive Programme und deren genutzten Ports angezeigt. Hier kannst du zum Beispiel sehen, welchen Port dein Apache verwendet.
netstat -tulpen
Zusammenfassung
Ein Server ohne aktive Firewall ist ein sehr hohes Risiko, daher ist es wichtig iptables richtig zu konfigurieren. Mit UFW ist dies sehr einfach. Achte aber immer drauf, dass du dich nicht selbst aussperrst.