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.