UFW + fail2ban
Du baust dir eine erste, einfache Server-Firewall mit UFW (Default-Deny + Whitelist) und schützt SSH gegen Brute-Force-Versuche per fail2ban. 6 Aufgaben, ca. 55 Minuten.
Firewall einschalten und fail2ban scharfstellen
Was ist eine Firewall — und was ist fail2ban?
Dieses Modul kombiniert zwei Schutzschichten für einen Linux-Server:
- UFW (Uncomplicated Firewall) ist eine einfach bedienbare Firewall. Sie entscheidet anhand fester Regeln, welche Ports von außen erreichbar sind. Eine Firewall ist statisch: „Port erlaubt oder nicht".
- fail2ban ist ein Intrusion-Prevention-System (IPS). Es liest laufend die Logdateien und sperrt automatisch IP-Adressen, die sich verdächtig verhalten (z. B. viele fehlgeschlagene SSH-Logins). fail2ban ist dynamisch: „reagiert auf Verhalten".
Beide ergänzen sich: Die Firewall macht die Grundabsicherung, fail2ban wehrt aktive Angreifer ab.
Das Default-Deny-Prinzip
Eine sichere Firewall blockiert standardmäßig alles und erlaubt dann gezielt nur das Nötige (Default-Deny + Whitelist). Das Gegenteil — alles erlauben und einzelnes sperren — ist unsicher.
Dein Ziel in dieser Lektion
Du richtest UFW mit Default-Deny ein, erlaubst SSH, aktivierst die Firewall, startest fail2ban, schützt den SSH-Dienst mit einem Jail und weist die Schutzwirkung mit einem kontrollierten Angriffstest nach.
⚠️ Reihenfolge ist wichtig: Erst SSH erlauben, dann die Firewall aktivieren — sonst sperrt man sich auf einem echten Server aus. Auf dieser Übungs-VM ist das ungefährlich.
Aufgaben
1. Default-Deny einschalten
Begriff: Default-Policy. Die Default-Policy legt fest, was mit Verkehr passiert, für den keine Regel existiert. Sicher ist: eingehend (incoming) alles verwerfen, ausgehend (outgoing) erlauben. Ausgehend muss erlaubt bleiben, sonst kann der Server keine DNS-Anfragen oder Updates mehr machen.
Setze die Default-Policy:
sudo ufw default deny incoming sudo ufw default allow outgoingKontrolle:
sudo ufw status verbosezeigtdeny (incoming)undallow (outgoing).2. SSH-Port 22 erlauben
Begriff: Port-Freigabe. Bevor du die Firewall scharf schaltest, musst du SSH (Port 22) ausdrücklich erlauben — sonst kappt die Firewall im nächsten Schritt deine eigene Verbindung.
Erlaube TCP-Port 22:
sudo ufw allow 22/tcp⚠️ Vergisst du diesen Schritt und aktivierst trotzdem die Firewall, sperrst du dich auf einem echten Server für den Rest der Sitzung aus. Auf der Lab-VM hat der Prüfer einen eigenen Zugang — du nicht.
Kontrolle:
sudo ufw statuslistet eine Regel für22/tcp.3. UFW aktivieren
Begriff: Firewall scharf schalten. Erst mit
ufw enablewerden Default-Policy und Regeln tatsächlich aktiv — vorher sind sie nur vorbereitet.Aktiviere die Firewall:
sudo ufw --force enable--forceüberspringt die interaktive Rückfrage (nötig im Lab). Prüfe vorher mitsudo ufw status, dass Port 22 erlaubt ist.Kontrolle:
sudo ufw statusmeldetStatus: active.4. fail2ban-Service starten
Begriff: Dienst (Service). fail2ban läuft als Hintergrund-Dienst. Ein Dienst muss gestartet (läuft jetzt) und aktiviert (startet automatisch beim Booten) sein.
enable --nowmacht beides in einem Schritt.Starte und aktiviere fail2ban:
sudo systemctl enable --now fail2banKontrolle:
systemctl is-active fail2banmeldetactive.5. sshd-Jail aktivieren
Begriff: Jail. Ein Jail sagt fail2ban, welche Logdatei es überwachen und wann es sperren soll. Der
[sshd]-Jail beobachtet die SSH-Logins: zu viele Fehlversuche von einer IP → diese IP wird zeitweise gesperrt.Lege
/etc/fail2ban/jail.localan (sudo nano /etc/fail2ban/jail.local) mit:[sshd] enabled = trueDanach fail2ban neu laden:
sudo systemctl reload fail2ban⚠️ Die Whitelist in
/etc/fail2ban/jail.d/00-validator-whitelist.confnicht verändern — sonst sperrst du den Plattform-Prüfer aus.Kontrolle:
sudo fail2ban-client status sshdfunktioniert (der Jail ist aktiv).6. Brute-Force-Test ausführen
Begriff: Verifizieren statt vertrauen. „Sieht fertig aus, ist es aber nicht" ist die schlimmste Falle in der IT-Sicherheit. Statt nur die Konfiguration anzusehen, testest du live, dass fail2ban wirklich sperrt.
Führe den eingebauten, rein defensiven Brute-Force-Simulator aus (er greift nur
localhostan — kein echtes Ziel) und prüfe dann den Jail-Status:sudo /usr/local/bin/lab-bruteforce-simulator sudo fail2ban-client status sshdIn der Ausgabe muss
Total bannedmindestens1sein — fail2ban hat den simulierten Angreifer gesperrt.Kontrolle:
fail2ban-client status sshdzeigt mindestens eine gebannte IP (Total banned: 1oder mehr).
Jetzt selbst üben
Lesen ist gut – selbst machen ist besser. Starte diesen Kurs an einer echten Linux-VM, direkt im Browser. Ein kostenloses Konto genügt.
Kostenlos startenLab-Inhalte unter CC BY 4.0 – frei nutzbar mit Namensnennung (© TechLogia).
