Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Einfaches Firewall Management mit UFW

profile picture
Author
Marcel Deglau
Published
2021-07-09
Time to read
7 minutes reading time

Einführung

UFW steht für "Uncomplicated Firewall" was übersetzt so viel wie "Unkomplizierte Firewall" bedeutet. Dabei baut das Programm eine zusätzliche Anwendungsebene um das Tool IPTables welches auf der Netfilter Firewall basiert.

Standardmäßig ist UFW bereits in allen Ubuntu-Installation seit Version 8.04 LTS mitinstalliert. Das Programm kann jedoch auch in anderen Linux-Distributionen installiert werden.

Voraussetzungen

  • Jeder Server auf welchen Sie Root-Zugriff haben und eine Linux-Distribution verwendet (Zum Beispiel Ubuntu oder Debian)
  • Wenn Sie nicht mit dem Root-Benutzer arbeiten, müssen Sie möglicherweise das Kommando sudo den nachfolgenden Befehlen voranstellen

Schritt 1 - UFW installieren

Ubuntu

Standardmäßig ist UFW bereits in allen Ubuntu-Installation seit Version 8.04 LTS mitinstalliert und muss nicht separat installiert werden. Für den Fall, dass Sie UFW neu installieren möchten oder es doch nicht enthalten ist, verwenden Sie den folgenden Befehl:

$ apt-get install ufw

Debian

Das Installationspaket für UFW unter Debian befindet sich bereits im offiziellen Debian Paket Repository und kann ganz einfach über den Paket-Manager nachinstalliert werden:

$ apt-get install ufw

CentOS

Leider ist UFW nicht von Haus aus in den CentOS Paket-Repositorys enthalten. Um das Paket jedoch zu installieren, müssen die EPEL Repositorys im System hinzugefügt werden:

$ yum install epel-release -y

Anschließend kann UFW in Referenz auf das EPEL Repository mit folgendem Befehl installiert werden:

$ yum install --enablerepo="epel" ufw

Schritt 2 - Erste Schritte

Nachdem UFW erfolgreich installiert wurde, ist es notwendig, dass der UFW Service aktiviert wird, welcher sicherstellt das UFW auch korrekt bei jedem Neustart des Servers mit gestartet wird.

Einrichten der Standard-Regeln

Nach der Installation von UFW existieren noch keine Regeln im System. Es wird empfohlen, die Standard-Regeln für UFW zu setzten welche als Fallback-Optionen agieren und greifen, wenn keine anderen Regeln erkannt werden.

Mit den nachfolgenden Befehlen wird UFW dahingehend konfiguriert alle eingehenden Verbindungen zu blockieren und alle ausgehenden Verbindungen zu erlauben.

$ ufw default deny incoming
$ ufw default allow outgoing

Diese Regeln sind jedoch noch nicht aktiv, da wir UFW an dieser Stelle noch nicht final aktiviert haben.

Wichtig - Erlauben von SSH Verbindungen

Wichtig an diesem Punkt: Wenn Sie an einem Remote-System arbeiten, sollten Sie nun eine Regel hinzufügen, um Ihren SSH-Server beziehungsweise SSH-Port freizugeben, anderenfalls sperren Sie sich gegebenenfalls selbst aus dem System aus.

Wenn Sie eine Standard-SSH-Konfiguration verwenden, lauscht der SSH-Server auf Port 22. In diesem Fall können Sie einen Shortcut verwenden, um diesen Service freizugeben:

$ ufw allow ssh

Sollten Sie den SSH-Port Ihres Servers auf einen anderen Port gelegt haben, finden Sie nachfolgend einen Befehl, um diesen manuell freizugeben. In diesem Fall ist der Beispiel-Port 2222:

$ ufw allow 2222/tcp

Nach diesem Schritt können wir fortfahren, UFW auf dem Server zu aktivieren.

UFW aktivieren

Sobald Sie eine Regel für Ihren SSH-Dienst angelegt haben (siehe vorheriger Abschnitt) können Sie UFW mit dem folgenden Befehl aktivieren:

$ ufw enable

Möglicherweise sehen Sie einen Warn-Hinweis, welcher Sie darauf hinweist, dass es nötig ist eine Regel für SSH-Verbindungen zu erstellen. Diese Nachricht können Sie mittels y Eingabe bestätigen und ENTER drücken.

Die UFW Firewall und der UFW Service sind nun aktiviert. Sie können den Status der UFW Firewall jederzeit über das folgende Kommando überprüfen:

$ ufw status

Aktivieren von IPv6 für UFW (Optional)

Wenn Sie IPv6 verwenden, empfiehlt es sich, in der UFW-Konfigurationsdatei nach den Optionseinstellungen zu suchen, welche die IPv6-Komponente aktivieren. In den meisten Fällen ist diese Option bereits aktiviert. Sie können die Datei zum Beispiel mit nano oder einem anderen Texteditor öffnen:

$ nano /etc/default/ufw

Suchen Sie nun nach dem Schlüssel mit dem Namen IPV6 und setzen Sie den Wert auf yes, wie im Beispiel unten gezeigt:

IPV6=yes

Wenn der Wert bereits auf yes gesetzt ist, können Sie die Datei unverändert lassen, da IPv6 für UFW bereits aktiviert ist.

Schritt 3 - Konfiguration von UFW

Hinzufügen einer Regel

Nachdem Sie die Grundlagen für UFW eingerichtet haben, können Sie weitere Regeln für Ihre Dienste hinzufügen. Dies kann auf zwei verschiedene Wege geschehen:

Option 1

Sie müssen diese Option verwenden, wenn Sie nicht die Standard-Ports der Anwendungen verwenden oder die vorkonfigurierten Profile von UFW nicht nutzen möchten.

Die folgende Beispielregel öffnet den Port 25 mittels des TCP-Protokolls:

$ ufw allow 25/tcp

Durch Ändern des Ports oder auch des Protokolls, zum Beispiel auf UDP, wenn Sie einen Port für UDP-Verbindungen zulassen wollen, kann jede netzwerkbezogene Anwendung in die Firewall-Liste aufgenommen werden.

Option 2

Wenn Sie Standardanwendungsports verwenden, können Sie auch die Shortcut-Konfigurationen verwenden. Um die verfügbaren Dienste aufzulisten, können Sie den folgenden Befehl ausführen:

$ ufw app list
 Available applications:
   AIM
   Bonjour
   CIFS
   CUPS
   DNS
   Deluge
   IMAP
   IMAPS
   IPP
   KTorrent
   Kerberos Admin
   Kerberos Full
   Kerberos KDC
   Kerberos Password
   LDAP
   LDAPS
   LPD
   MSN
   MSN SSL
   Mail submission
   NFS
   POP3
   POP3S
   PeopleNearby
   SMTP
   OpenSSH
   Socks
   Telnet
   Transmission
   Transparent Proxy
   VNC
   WWW
   WWW Cache
   WWW Full
   WWW Secure
   XMPP
   Yahoo
   qBittorrent
   svnserve

Um eines dieser Profile zu aktivieren, müssen Sie nur den Befehl UFW enable aufrufen und dabei zum Beispiel den Dienstnamen als Argument verwenden:

$ ufw allow OpenSSH

Als Bestätigung teilt UFW Ihnen die Regeln/Ports mit, die zur Liste hinzugefügt wurden.

Regeln auflisten

Um eine Übersicht über alle aktivierten Regeln zu erhalten, können Sie diesen Befehl verwenden:

$ ufw status

Löschen einer Regel

Manchmal kommt es vor, dass Sie eine Regel löschen möchten. Der einfachste Weg ist, die nummerierte Version der aufgelisteten Regeln anzuzeigen und den Löschbefehl zu verwenden.

Um zunächst die nummerierte Liste anzuzeigen, führen Sie bitte diesen Befehl aus:

$ ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[..] [...]                      [...]       [...]

Anschließend kann die entsprechende Regel gelöscht werden, indem Sie die Nummer der Regel in den folgenden Befehl einfügen:

$ ufw delete 1

Nun wurde die zugehörige Regel erfolgreich gelöscht und ist nicht mehr aktiv.

Deaktivieren von UFW

Wenn Sie die UFW-Firewall zum Beispiel zu Debug-Zwecken deaktivieren müssen, können Sie dies mit dem folgenden Befehl tun:

$ ufw disable

Wenn Sie die Firewall wieder aktivieren möchten, können Sie den oben aufgeführten Anweisungen unter dem Punkt Schritt 2 - Erste Schritte / UFW aktivieren folgen.

Zurücksetzten von UFW

Vielleicht müssen Sie einmal alle Regeln und Einstellungen auf die Standardwerte zurücksetzen, zum Beispiel um mit einer neuen Konfiguration zu beginnen. Hierfür können Sie den folgenden Befehl nutzen:

$ ufw reset

Fazit

Herzlichen Glückwunsch - Sie haben erfolgreich die "Uncomplicated Firewall" auf Ihrem Server installiert und konfiguriert, die für mehr Sicherheit auf Ihrem Server sorgt und ihn vor Spam-Traffic schützt.

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue
Try Hetzner Cloud

Get €20/$20 free credit!

Valid until: 31 December 2024 Valid for: 3 months and only for new customers
Get started
Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more