Zum Inhalt springen
SHIELDMYSERVER

DDoS: was auf deiner Seite hilft und was nicht

Volumenangriff, Zustandserschöpfung und Anwendungsflut sind drei Probleme. Welches man selbst begrenzt, welches der Anbieter lösen muss, und was man vorher klärt.

mittelDiesen Monat. Wichtig, aber kein Feuer.

veröffentlicht 18.08.2026 · 3 min

Titelbild: DDoS: was auf deiner Seite hilft und was nicht

„DDoS“ beschreibt drei sehr verschiedene Vorgänge, die unterschiedliche Antworten brauchen. Wer sie vermischt, kauft Schutz gegen das Problem, das er nicht hat, und steht beim tatsächlichen Vorfall ohne da.

Warum mittel

Verfügbarkeit, nicht Vertraulichkeit: Ein Angriff dieser Art stiehlt nichts, er schaltet ab. Für kleine Betriebe ist die realistische Vorbereitung ein Nachmittag und die wichtigste Erkenntnis ist, welchen Teil man gar nicht selbst lösen kann.

Drei Balken übereinander. Beim Volumenangriff füllt der Anteil Anbieter den ganzen Balken, bei der Zustandserschöpfung etwa die Hälfte, bei der Anwendungsflut nur einen schmalen Streifen, der Rest ist der eigene Anteil.
Die Aufteilung ist die eigentliche Aussage: gegen die häufigste Sorte hilft nur die eigene Anwendung.

Die drei Sorten#

SorteWas passiertWer kann etwas tun
Volumen (L3/4)Leitung voll, verstärkt über UDP-Dienstenur der Anbieter/das Netz davor
ZustandVerbindungstabellen und offene Sitzungen erschöpftAnbieter und du (Kernelparameter, Grenzen)
Anwendung (L7)wenige Anfragen, teure Antworten (Suche, Export, Login)überwiegend du

Die dritte Sorte ist bei kleinen Seiten die häufigste und sie sieht in der Statistik oft gar nicht nach Angriff aus, sondern nach einem sehr eifrigen Crawler.

Was du selbst tun kannst#

Teure Endpunkte begrenzen. Nicht alles gleich behandeln: Suche, Login, Export, Registrierung.

# nginx: getrennte Zonen für teure Pfade
limit_req_zone $binary_remote_addr zone=allgemein:10m rate=20r/s;
limit_req_zone $binary_remote_addr zone=login:10m     rate=1r/s;

server {
  location / {
    limit_req zone=allgemein burst=40 nodelay;
  }
  location /login {
    limit_req zone=login burst=5;
    limit_req_status 429;
  }
  limit_conn_zone $binary_remote_addr zone=verbindungen:10m;
  limit_conn verbindungen 20;
}

Verbindungen begrenzen, bevor sie den Anwendungsprozess erreichen:

# nftables: SYN-Rate je Quelle
nft add rule inet filter input tcp flags syn tcp dport 443 \
  meter syn-fluten { ip saddr limit rate 25/second burst 50 packets } accept
nft add rule inet filter input tcp flags syn tcp dport 443 drop

Nicht selbst zum Verstärker werden. Offene DNS-Auflöser, NTP und Memcached ohne Zugriffsschutz sind der Grund, warum Volumenangriffe funktionieren und sie führen zur Abuse-Meldung im eigenen Postfach. Prüfen: Eingehend dichtmachen.

Statisches statt dynamisch ausliefern. Eine zwischengespeicherte Seite kostet ein Tausendstel dessen, was eine Datenbankabfrage kostet. Der Cache ist die wirksamste Maßnahme gegen Anwendungsfluten, die es gibt.

Der Teil, den man nicht selbst löst

Ist die Leitung voll, hilft keine Regel auf der Maschine, die Pakete sind bereits über die Leitung gekommen, für die man zahlt. Diese Sorte löst nur, wer davor sitzt: der Anbieter mit Filterung im Netz oder ein vorgelagerter Dienst. Vorher klären, nicht während des Angriffs: Bietet der Hoster Filterung an? Automatisch oder auf Zuruf? Wie erreicht man ihn außerhalb der Geschäftszeiten? Wird die IP im Zweifel nullgeroutet, also abgeschaltet, um andere zu schützen?

Vorgelagerte Dienste: was sie kosten#

Ein Reverse-Proxy-Dienst vor der Seite absorbiert Volumen und filtert Anwendungsfluten. Der Preis ist nicht nur Geld:

  • Der Anbieter sieht den entschlüsselten Verkehr. Das ist eine Auftragsverarbeitung und gehört in die Datenschutzdokumentation, oft mit Drittlandsbezug.
  • Die echte IP-Adresse muss geheim bleiben, sonst umgeht der Angriff den Schutz einfach. Also: Ursprung nur für die Proxy-Adressen erreichbar machen.
  • Fehlersuche wird umständlicher, weil eine Schicht dazwischenliegt.

Für Gameserver gilt zusätzlich, dass UDP-Verkehr anders behandelt wird als HTTP, dort ist die Filterung des Anbieters meist die einzige praktikable Antwort.

Vorbereiten, was im Ernstfall zählt#

  1. Zugang unabhängig vom Webdienst: Verwaltung über Overlay-Netz, nicht über dieselbe überlastete Schnittstelle.
  2. Kontaktweg zum Anbieter notiert, inklusive Kundennummer und Rufbereitschaft.
  3. Messen können, was passiert:
# Wer erzeugt gerade wie viele Verbindungen?
ss -tn state established | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -rn | head

# Welche Pfade werden gerade angefragt?
tail -n 5000 /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
  1. Eine Notfallseite, statisch, die man vorschalten kann, besser als eine Zeitüberschreitung.

Und die Alarmierung, die auffällt, bevor der erste Kunde anruft: Alarme, die nachts ankommen.

MRMedia

Geschrieben aus dem laufenden Betrieb: MRMedia betreibt eigene Hosts, Kundendienste und deren Härtung in der EU. Eine veraltete Anleitung ist hier ein Sicherheitsproblem, kein Schönheitsfehler. Korrekturen bitte über Discord.