Projekt Linux-Webserver – Teil 6 – Einrichtung der Firewall

Projekt Linux-Webserver – Teil 6 – Einrichtung der Firewall

23. Juli 2026 | Server, Netzwerk und Hosting | 0 Kommentare

So richtest du mit UFW eine einfache Firewall für deinen Ubuntu-Server ein und gibst nur die wirklich benötigten Ports frei.

Im letzten Teil dieser Serie kümmern wir uns um die Absicherung unseres Servers mit einer Firewall. Auch wenn unser Server nur als lokale Entwicklungsumgebung dient, ist es eine gute Angewohnheit, von Anfang an nur die Ports freizugeben, die wirklich gebraucht werden.

Dieser Beitrag baut auf Teil 5 – Installation PHPMyAdmin und HeidiSQL auf.

Was ist UFW?

UFW steht für „Uncomplicated Firewall“ und ist eine vereinfachte Oberfläche für das Linux-eigene Firewall-System iptables. Statt komplexer iptables-Regeln reicht bei UFW ein einfacher Befehl aus, um einen Port freizugeben oder zu sperren.

Ubuntu bringt UFW standardmäßig mit, es muss also nicht extra installiert werden. Trotzdem prüfen wir das gleich am Anfang einmal nach.

UFW installieren und Status prüfen

Falls UFW aus irgendeinem Grund doch fehlen sollte, installieren wir es mit folgendem Befehl nach:

sudo apt install ufw -y

Bevor wir UFW aktivieren, schauen wir uns erst einmal den aktuellen Status an:

sudo ufw status

Wichtiger Hinweis, bevor wir weitermachen: UFW darf erst aktiviert werden, nachdem wir die benötigten Ports freigegeben haben. Aktivierst du UFW zu früh, kann es passieren, dass du dich über SSH selbst aussperrst, weil auch der SSH-Zugang standardmäßig blockiert wird.

Benötigte Ports freigeben

UFW bringt für viele bekannte Dienste bereits fertige Profile mit. Welche das sind, können wir uns anzeigen lassen:

sudo ufw app list

Für unseren Webserver benötigen wir folgende Freigaben: SSH für die Fernwartung, HTTP und HTTPS für den Webserver, sowie die Samba-Ports für unsere Netzwerkfreigaben.

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow Samba

Zur Erläuterung:

Befehl / OptionBedeutung
allow OpenSSHNutzt das mitgelieferte Profil für SSH (Port 22/tcp). Wichtig, damit wir uns nach der Aktivierung weiterhin per Putty anmelden können.
80/tcpGibt den Standardport für HTTP-Verbindungen frei, den unser Apache-Webserver aus Teil 2 benötigt.
443/tcpGibt den Standardport für HTTPS-Verbindungen frei (verschlüsselte Verbindungen).
allow SambaNutzt das mitgelieferte Profil für Samba und gibt automatisch alle dafür nötigen Ports frei, die wir in Teil 1 und Teil 2 für unsere Netzwerkfreigaben eingerichtet haben.

UFW aktivieren und Status prüfen

Jetzt, nachdem alle benötigten Ports freigegeben sind, können wir UFW gefahrlos aktivieren:

sudo ufw enable

UFW fragt an dieser Stelle noch einmal nach, ob wir uns sicher sind, da eine aktive SSH-Verbindung dadurch kurz unterbrochen werden könnte. Wir bestätigen mit „y“.

Mit folgendem Befehl lassen wir uns eine ausführliche Übersicht aller aktiven Regeln anzeigen:

sudo ufw status verbose

Falls du dir später eine Regel wieder anschauen und gezielt löschen möchtest, lässt du dir die Regeln am besten nummeriert anzeigen:

sudo ufw status numbered

Eine einzelne Regel kannst du dann anhand ihrer Nummer wieder löschen. Ersetze dazu NUMMER durch die entsprechende Zeilennummer aus der vorherigen Ausgabe:

sudo ufw delete NUMMER

Fail2Ban zur Ergänzung

Der Vollständigkeit halber möchte ich an dieser Stelle noch Fail2Ban erwähnen. Fail2Ban überwacht Log-Dateien, z. B. von SSH, und sperrt IP-Adressen automatisch für eine gewisse Zeit, wenn sich von dort mehrfach hintereinander mit falschen Zugangsdaten angemeldet wurde. Das schützt effektiv vor sogenannten Brute-Force-Angriffen.

Für unseren Server ist Fail2Ban allerdings nicht wirklich notwendig. Da wir diesen Server ausschließlich als lokale Entwicklungsumgebung in unserem eigenen Netzwerk betreiben und er nicht aus dem Internet erreichbar ist, gibt es für Angreifer von außen gar keine Möglichkeit, sich überhaupt mit unserem SSH-Server zu verbinden.

Solltest du deinen Server später doch einmal aus dem Internet erreichbar machen wollen, empfehle ich dir, Fail2Ban zusätzlich zu installieren:

sudo apt install fail2ban -y

Nach der Installation ist Fail2Ban mit sinnvollen Standardeinstellungen sofort aktiv und überwacht bereits den SSH-Zugang. Den Status kannst du dir mit folgendem Befehl anzeigen lassen:

sudo systemctl status fail2ban

Eine detaillierte Konfiguration von Fail2Ban würde den Rahmen dieser Anleitung sprengen, da es für unseren lokalen Entwicklungsserver nicht erforderlich ist.

Abschluss Firewall und der Serie

Damit haben wir unseren Ubuntu-Server mit UFW abgesichert und nur die wirklich benötigten Ports freigegeben. Zusätzlich weißt du jetzt, wie du mit Fail2Ban nachrüsten kannst, falls der Server später doch einmal aus dem Internet erreichbar sein soll.

Damit ist auch diese Serie zum eigenen Webserver mit PHP, MySQL/MariaDB abgeschlossen. Von der Installation des Ubuntu-Servers in Teil 1 – Installation Ubuntu 24.04 LTS Server bis zur abgesicherten Firewall haben wir uns Schritt für Schritt einen kompletten, lokalen LAMP-Server mit wechselbaren PHP-Versionen aufgebaut. Viel Spaß beim Ausprobieren und Weiterentwickeln!

Wie hat dir dieser Beitrag gefallen?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Hier schreibt: Thomas

Hier schreibt: Thomas

Ich heiße Thomas und bin Inhaber einer Agentur für eCommerce und Online Marketing. Zusätzlich interessiere ich mich für CMS Systeme, Wordpress, Drupal, Grafik und Multimedia. Ihr findet mich auf Twitter und Facebook. Über einen Kommentar zu diesem Beitrag würde ich mich freuen.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Blog via E-Mail abonnieren

Gib Deine E-Mail-Adresse an, um diesen Blog zu abonnieren und Benachrichtigungen über neue Beiträge via E-Mail zu erhalten.

Schließe dich 2.594 anderen Abonnenten an

In eigener Sache

Mit einem Stern (*) markierten Links sind Affiliate-Links. Wenn du einen Kauf über diese Links tätigst, bekomme ich eine Provision und du unterstützt aktiv diesen Blog. Für dich ändert sich der Preis nicht.

Wichtig: Ich empfehle nur Produkte, die ich selbst verwende und/oder von denen ich überzeugt bin. Vielen Dank für deine Unterstützung!