DoS & DDoS Mitigation
Diese Anleitung erklärt, wie Sie Ihren Linux- oder Windows-Server mit serverseitigen Maßnahmen gegen DoS- und DDoS-Angriffe schützen: Rate-Limiting mit iptables und nftables, Fail2Ban, Nginx-Rate-Limiting und RDP-Beschränkung. Sie zeigt auch, wo serverseitiger Schutz an seine Grenzen stößt.
DoS vs. DDoS: Ein einfacher DoS-Angriff kommt von einer einzelnen Quelle und kann effektiv auf dem Server selbst abgewehrt werden. Ein verteilter DDoS-Angriff mit Tausenden von Quell-IPs übersteigt die Kapazitäten eines einzelnen Servers — hier ist ein vorgelagerter DDoS-Schutzdienst die einzig wirksame Lösung.
Schutzmaßnahmen im Überblick
Ein vollständiger DoS-Schutz besteht aus mehreren Schichten. Die folgende Tabelle zeigt, welche Maßnahmen auf welcher Ebene wirken:
| Maßnahme | Betriebssystem | Ebene | Schützt gegen |
|---|---|---|---|
| iptables / nftables Rate-Limit | Linux | Netzwerk | SYN-Floods, Verbindungsfluten |
| Fail2Ban | Linux | Anwendung | Brute-Force, SSH-Angriffe, HTTP-Scans |
| Nginx / Apache Rate-Limiting | Linux | HTTP | Slowloris, HTTP-Floods, API-Missbrauch |
| SSH härten / Port verlegen | Linux | Dienst | SSH-Brute-Force, automatisierte Scans |
| Windows Defender Firewall | Windows | Netzwerk | RDP-Brute-Force, Port-Scans |
| Abwehr auf Carrier-Ebene | Alle | Vorgelagert | Volumetrische DDoS-Angriffe |
Empfohlene Werte nach Servertyp
Die richtigen Rate-Limit-Werte hängen vom Einsatzzweck ab. Diese Tabelle gibt Orientierungswerte — starten Sie großzügiger und beobachten Sie die Logs, zu strenge Limits blockieren legitime Nutzer.
| Servertyp | SSH | HTTP/HTTPS | Hinweis |
|---|---|---|---|
| Webserver / WordPress | 3/min, burst 5 | 20/s, burst 100 | Zusätzlich Nginx Rate-Limiting empfohlen |
| Game Server | 3/min, burst 5 | — | Game-Ports (z. B. TCP 25565 für Minecraft) separat schützen, großzügigere Burst-Werte für Spieler |
| Mailserver | 3/min, burst 5 | — | SMTP (25), IMAP (993), POP3 (995) zusätzlich mit Fail2Ban schützen |
| VPS / Allgemein | 3/min, burst 5 | 10/s, burst 50 | Konservative Grundkonfiguration — je nach Dienst anpassen |
1. Rate-Limiting mit iptables Linux
Mit den Modulen limit, hashlimit und recent können Sie die Anzahl neuer Verbindungen insgesamt oder pro IP und Zeitfenster begrenzen. Die Regeln setzen voraus, dass die ESTABLISHED,RELATED-Regel aus der iptables-Anleitung bereits aktiv ist.
SSH-Port absichern (Port 22)
Im Mittel maximal 3 neue SSH-Verbindungen pro Minute (Burst 5, insgesamt über alle IPs) — weitere Versuche werden verworfen:
Webserver absichern (Port 80 / 443)
Verwirft neue Verbindungen einer einzelnen IP oberhalb von 20 pro Sekunde (Burst 100) — schützt gegen HTTP-Verbindungsfluten. Passen Sie den Wert an Ihren normalen Traffic an:
Temporäres IP-Blocking mit dem recent-Modul
IPs, die innerhalb von 60 Sekunden mehr als 15 neue Verbindungen öffnen, werden automatisch blockiert:
2. Rate-Limiting mit nftables Linux
Mit nftables lässt sich Rate-Limiting direkt in der Konfigurationsdatei definieren — übersichtlicher und performanter als iptables.
SSH-Brute-Force-Schutz
Maximal 5 neue SSH-Verbindungen pro Minute (insgesamt, nicht pro IP). Fügen Sie diese Zeilen in den input-Block Ihrer nftables-Konfiguration ein:
HTTP-Flood-Schutz
Begrenzt neue HTTP/HTTPS-Verbindungen auf 100 pro Sekunde:
SYN-Flood-Schutz
Verwirft eingehende SYN-Pakete (neue TCP-Verbindungsversuche) oberhalb von 1000 pro Sekunde (Burst 2000) — mindert die Wirkung von SYN-Floods:
Laden Sie die Konfiguration nach jeder Änderung mit nft -f /etc/nftables.conf neu.
3. Fail2Ban — automatisches IP-Blocking Linux
Fail2Ban überwacht Log-Dateien und sperrt automatisch IPs, die zu viele fehlgeschlagene Versuche produzieren. Es arbeitet nahtlos mit iptables und nftables zusammen.
Installation
SSH-Schutz konfigurieren
Erstellen Sie die folgende neue Datei. Sie legt fest, dass eine IP nach 5 fehlgeschlagenen SSH-Anmeldungen innerhalb von 10 Minuten für 1 Stunde gesperrt wird. backend = systemd liest das SSH-Log aus dem systemd-Journal, das aktuelle Debian-Versionen statt /var/log/auth.log verwenden:
Dienst starten & Status prüfen
4. Nginx Rate-Limiting Linux
Nginx bietet integriertes Rate-Limiting auf HTTP-Ebene — ideal gegen Slowloris, API-Missbrauch und HTTP-Floods, die die Firewall bereits passiert haben.
Schritt 1: Rate-Limit-Zone definieren
Fügen Sie folgende Zeile in den http-Block Ihrer Nginx-Hauptkonfiguration ein:
Schritt 2: Rate-Limit auf einen Server-Block anwenden
Fügen Sie Folgendes in den location-Block Ihrer Site-Konfiguration ein:
rate=10r/s erlaubt 10 Anfragen pro Sekunde pro IP. burst=20 erlaubt kurze Spitzen — danach werden überschüssige Anfragen mit HTTP 503 abgelehnt.
5. Windows Defender Firewall & RDP absichern Windows
Unter Windows Server (verfügbar auf Server4You Dedicated Servern) erfolgt der Schutz über die Windows Defender Firewall und Kontorichtlinien. Der kritischste Angriffspunkt ist RDP (Port 3389).
RDP auf eine bestimmte IP einschränken
Erlaubt RDP-Zugriff ausschließlich von einer vertrauenswürdigen IP. Legen Sie keine zusätzliche Blockierregel für Port 3389 an — Blockierregeln haben Vorrang vor Zulassungsregeln und würden Sie aussperren. Die Standard-Eingangsrichtlinie blockiert alle anderen Quellen bereits:
Empfohlene Werte für Windows-Server
| Servertyp | RDP | Empfehlung |
|---|---|---|
| Webserver (IIS) | Nur Admin-IP | IIS Dynamic IP Restrictions Modul aktivieren |
| Game Server | Nur Admin-IP | Game-Ports explizit freigeben, alle anderen blockieren |
| Mailserver | Nur Admin-IP | SMTP/IMAP/POP3-Ports nur für notwendige Quellen öffnen |
Kontosperrungsrichtlinie konfigurieren
Öffnen Sie secpol.msc → Kontorichtlinien → Kontosperrungsrichtlinie — wirkt wie Fail2Ban für RDP und lokale Anmeldungen:
| Einstellung | Empfohlener Wert |
|---|---|
| Kontosperrungsschwellenwert | 5 Fehlversuche |
| Kontosperrdauer | 30 Minuten |
| Beobachtungsfenster | 15 Minuten |
6. Regeln persistent speichern Linux
iptables-Regeln gehen nach einem Neustart verloren — speichern Sie sie dauerhaft:
Debian / Ubuntu
AlmaLinux / Rocky Linux
nftables (alle Distributionen)
7. Externer DDoS-Schutz
Bei volumetrischen DDoS-Angriffen (mehrere Gbit/s) sind serverseitige Maßnahmen wirkungslos — die Leitung ist bereits überlastet, bevor Pakete den Server erreichen:
Weiterführende Firewall-Anleitungen
Für vollständige Firewall-Konfigurationen mit Default-Deny-Strategie empfehlen wir unsere detaillierten Anleitungen.