// Security · Checkliste

Fail2ban, UFW & Co.: Härtung deines Servers in einer Checkliste

📅 21.08.2026 ⏱ 7 Min. Lesezeit ✍️ Redaktion

Der Unterschied zwischen „läuft bei mir“ und „läuft sicher“ sind keine 200 € Sicherheitssoftware, sondern 14 konkrete Schritte. Diese Checkliste härtert jeden frischen Linux-Server in unter einer Stunde – getestet auf Debian/Ubuntu, komplett mit Open-Source-Tools.

Zugang & SSH härten

SSH ist das Einfallstor Nummer eins: Bots scannen das gesamte IPv4-Internet permanent nach offenen Port 22. Schritte 1–5 machen deinen Zugang praktisch immun gegen diese Angriffswelle:

  1. Nicht-Root-Benutzer mit sudo anlegen adduser admin && usermod -aG sudo admin – nie im Alltag als Root arbeiten.
  2. SSH-Schlüssel statt Passwort Schlüssel lokal erzeugen (ssh-keygen -t ed25519), dann mit ssh-copy-id admin@server übertragen und erst danach Passwort-Login abschalten.
  3. Root-Login verbieten In /etc/ssh/sshd_config: PermitRootLogin no und PasswordAuthentication no. Danach sudo systemctl restart ssh – aber erst, wenn der Schlüssel nachweislich funktioniert!
  4. Fail2ban aktivieren Bannt IPs nach wiederholten Fehlversuchen automatisch (Standard: 5 Versuche in 10 Minuten → 10 Minuten Sperre). Debian/Ubuntu: sudo apt install fail2ban. Die Jail für sshd ist standardmäßig aktiv.
  5. (Optional) SSH-Port ändern Port 22022 in der sshd_config reduziert das Log-Rauschen enorm – es ist aber Security-by-Obscurity und ersetzt keine der Schritte 1–4.

System härten

  1. Firewall: UFW auf „deny by default“ sudo ufw default deny incoming, dann nur die nötigen Ports öffnen: sudo ufw allow 22022/tcp (SSH) und sudo ufw allow 80,443/tcp (Web). Aktivieren mit sudo ufw enable. Docker-Container-Ports gehören nicht in UFW – sie laufen ohnehin nur auf 127.0.0.1 hinter dem Reverse Proxy.
  2. Automatische Sicherheitsupdates sudo apt install unattended-upgrades und aktivieren: sudo dpkg-reconfigure unattended-upgrades → „Ja“. Kernel-Updates werden mit eingeschlossen, ein Neustart-Hinweis landet per E-Mail.
  3. Sudo mit Passwort & ohne NOPASSWD-Kürzel Prüfen mit sudo cat /etc/sudoers.d/README – Skripte, die NOPASSWD verlangen, kritisch hinterfragen. Besser: gezielte sudo-Regeln pro Befehl statt pauschaler Freifahrtschein.
  4. Unnötige Dienste deaktivieren ss -tulpn zeigt alle offenen Ports. Alles, was du nicht kennst, stoppen und deaktivieren: sudo systemctl disable --now DIENST. Auf einem reinen Docker-Host sollten außer sshd, Docker und dem Monitoring praktisch keine Listener laufen.

Dienste & Container absichern

  1. Container-Ports nur auf 127.0.0.1 binden Die wichtigste Docker-Regel überhaupt: "127.0.0.1:8080:80" statt "8080:80". Alles, was kein Reverse Proxy ist, hat im Internet nichts verloren. Details im Docker-Compose-Tutorial.
  2. Read-only-Root & Least Privilege Container mit read_only: true starten, Schreibzugriff nur auf explizite Volumes. Privilegierte Container vermeiden – fast jede Docker-Eskalation beginnt dort. Wer Portainer/Watchtower nutzt, schützt deren Ports zusätzlich per IP-Allowlist im Proxy.
  3. Nur HTTPS nach außen Der Reverse Proxy (siehe Vergleich) erzwingt TLS mit HSTS-Header und leitet HTTP auf HTTPS um. Let's Encrypt erneuert die Zertifikate automatisch – abgelaufene Zertifikate sind ein Klassiker unter vergessenen Homelabs.

Überwachung & Backups

  1. Logs & Änderungen überwachen Uptime Kuma pingt deine Dienste von außen, logwatch fasst die Logs täglich per E-Mail zusammen. Wer tiefer geht, nutzt auditd oder Wazuh – für den Anfang reichen diese zwei.
  2. 3-2-1-Backup einrichten Drei Kopien deiner Daten, auf zwei Medien, eine davon extern. borgbackup auf einen anderen Standort (z. B. hetzner Storage Box oder ein Pi bei Verwandten) ist der Open-Source-Standard: borg create ssh://backup@host/./repo::host-{now} /pfad/zu/daten. Täglich testen, dass die Backups wiederherstellbar sind – ein Backup, das du nie wiederhergestellt hast, ist ein Wunsch, kein Backup.

Kontrollfragen & Fazit

Beantworte diese fünf Fragen ehrlich – ist alles mit „Ja“ beantwortbar, ist dein Server auf einem soliden Stand:

#Kontrollfrage
1Logge ich mich nur per SSH-Key ein, nie mit Passwort oder als Root?
2Lauscht kein einziger Dienst auf einer öffentlichen IP außer 80/443 (und SSH)?
3Installiert unattended-upgrades Sicherheitspatches automatisch?
4Würde Fail2ban mich nach 5 Fehlversuchen sperren?
5Habe ich im letzten Monat ein Backup erfolgreich wiederhergestellt?

Zum Mitnehmen: Sicherheit ist keine einmalige Aktion, sondern Routine: (1) SSH auf Schlüssel umstellen, (2) Root-Login aus, (3) UFW deny-by-default, (4) automatische Updates, (5) Container nur intern binden, (6) Backups regelmäßig testen. Damit liegst du über dem Sicherheitsniveau der meisten kommerziell betriebenen Kleinserver – für 0 €.

R
....

Sicherheitslücke gefunden? Melde sie uns direkt: info[at]huuu.biz