So richten Sie eine Firewall auf einem Ubuntu-Server ein
Veröffentlicht: 15. Februar 2025 um 21:32:51 UTC
Zuletzt aktualisiert: 12. Januar 2026 um 08:36:49 UTC
Dieser Artikel erklärt anhand einiger Beispiele, wie man unter GNU/Linux eine Firewall mit ufw einrichtet. ufw steht für Uncomplicated Firewall – und der Name ist treffend, denn es ist wirklich eine sehr einfache Möglichkeit, sicherzustellen, dass nicht mehr Ports geöffnet sind als nötig.
How to Set Up a Firewall on Ubuntu Server
Die Informationen in diesem Beitrag basieren auf Ubuntu Server 14.04 x64. Sie sind möglicherweise nicht für andere Versionen gültig. (Update: Ich kann bestätigen, dass die Informationen in diesem Beitrag auch unter Ubuntu Server 24.04 grundsätzlich noch gültig und funktionsfähig sind. Allerdings hat sich ufw in den letzten zehn Jahren durch die Bereitstellung von Profilen für gängige Serveranwendungen (z. B. kann man „Nginx full“ anstelle der Ports 80 und 443 separat aktivieren) deutlich verbessert, und das Deaktivieren/Aktivieren der gesamten Firewall zum Anwenden neuer Regeln ist nicht mehr erforderlich.)
Als ich anfing, mit GNU/Linux (Ubuntu)-Servern zu arbeiten, erforderte die Einrichtung einer Firewall das manuelle Erstellen und Pflegen einer unter Umständen komplexen Konfigurationsdatei für iptables. Vor Kurzem habe ich jedoch ufw entdeckt, was für Uncomplicated Firewall steht – und das trifft es wirklich :-)
Auf meiner Ubuntu Server 14.04-Installation war ufw bereits installiert. Falls es bei Ihnen nicht der Fall ist, installieren Sie es einfach aus den Repositories:
UFW ist lediglich ein Tool, das die iptables-Konfiguration vereinfacht. Im Hintergrund übernehmen weiterhin iptables und die Linux-Kernel-Firewall die Filterung, weshalb UFW weder sicherer noch unsicherer ist. Da UFW die korrekte Firewall-Konfiguration jedoch deutlich vereinfacht, kann es das Risiko menschlicher Fehler verringern und ist daher möglicherweise sicherer für unerfahrene Administratoren.
Wenn Ihr Server sowohl IPv4 als auch IPv6 unterstützt, stellen Sie sicher, dass dies auch für UFW aktiviert ist. Bearbeiten Sie die Datei `/etc/default/ufw` und suchen Sie nach der Zeile `IPV6=yes`. Bei meiner Installation war diese Zeile bereits vorhanden. Falls sie fehlt oder `no` lautet, sollten Sie sie bearbeiten.
Verwenden Sie anschließend einfach die Eingabeaufforderung, um die gewünschten Ports zu öffnen. Wenn Sie per SSH mit Ihrem Server verbunden sind, stellen Sie sicher, dass Sie auch diese Ports zulassen, da es sonst zu Verbindungsabbrüchen und möglicherweise sogar zu einer Serveraussperrung kommen kann. Je nachdem, ob Sie physischen Zugriff auf den Server haben oder nicht, kann dies ziemlich unpraktisch sein. ;-)
Wenn Sie beispielsweise SSH auf dem Standardport 22 verwenden und einen Webserver konfigurieren, der sowohl unverschlüsselte (HTTP auf Port 80) als auch verschlüsselte (HTTPS auf Port 443) Verbindungen unterstützt, würden Sie die folgenden Befehle ausführen, um ufw zu konfigurieren:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Falls Sie weitere Regeln benötigen, fügen Sie diese einfach wie oben beschrieben hinzu.
Wenn Sie eine statische IP-Adresse haben und sich nur von einem Standort aus per SSH verbinden müssen, können Sie SSH-Verbindungen auch auf eine einzige Ursprungsadresse beschränken, wie folgt:
Geben Sie stattdessen natürlich Ihre eigene IP-Adresse ein.
Aktivieren Sie anschließend ufw durch Eingabe von:
Und das war's! Die Firewall läuft und startet automatisch, wenn Sie Ihren Server neu starten :-)
Wenn Sie Änderungen an der ufw-Konfiguration vornehmen, müssen Sie diese möglicherweise deaktivieren und anschließend wieder aktivieren, damit die Änderungen wirksam werden, etwa so:
sudo ufw enable
Um die aktuelle Konfiguration anzuzeigen, geben Sie einfach Folgendes ein:
Wenn ufw nicht aktiviert ist, wird lediglich eine „inaktive“ Meldung angezeigt, andernfalls werden die aktuell definierten Regeln aufgelistet.
