====== LU12c - Gegenmassnahmen DDoS ======
Glücklicherweise gibt es auch gegen DoS/DDoS-Attacken wirksame Gegenmassnahmen. Anders als bei einer SQLi reicht dabei ein einzelnes Mittel selten aus – wirksamer Schutz entsteht erst durch die //Kombination// mehrerer Massnahmen (//Defense in Depth//). Die hier vorliegende Liste ist daher nur ein Ausschnitt mit den prominentesten.
===== Rate Limiting =====
Beim //Rate Limiting// wird die Anzahl Anfragen begrenzt, die ein einzelner Client (meist erkannt an der IP-Adresse) innerhalb eines bestimmten Zeitfensters stellen darf. Wer die Grenze überschreitet, wird verlangsamt oder vorübergehend abgewiesen. Damit werden vor allem einfache Floods von einzelnen Quellen wirkungsvoll ausgebremst.
**Wie funktioniert es?**
- Für jeden Client wird mitgezählt, wie viele Anfragen pro Sekunde eintreffen.
- Bis zu einem definierten Schwellenwert werden die Anfragen normal beantwortet.
- Übersteigt ein Client den Schwellenwert, werden weitere Anfragen verzögert oder mit einem Fehler (HTTP 429 «Too Many Requests») abgelehnt.
**Beispiel mit nginx**
# max. 10 Anfragen pro Sekunde je IP-Adresse zulassen
limit_req_zone $binary_remote_addr zone=schutz:10m rate=10r/s;
server {
location / {
limit_req zone=schutz burst=20 nodelay;
}
}
**Oder kurz:** Lass niemanden so oft anklopfen, wie er will.
===== Traffic-Filterung & Blackholing =====
Nicht jeder Verkehr muss den eigentlichen Server überhaupt erreichen. Auf Netzwerkebene lässt sich bösartiger Verkehr bereits am Rand (//Edge//) verwerfen, bevor er Ressourcen bindet. Beim //Blackholing// (auch //Null-Routing//) wird der Verkehr zu einer angegriffenen Adresse gezielt ins «Nichts» geleitet.
# einzelne, bekannte Angreifer-IP verwerfen
iptables -A INPUT -s 203.0.113.42 -j DROP
* **Blacklisting:** Bekannte bösartige IP-Adressen oder Netze werden blockiert.
* **Geo-Blocking:** Verkehr aus Regionen, die für den Betrieb irrelevant sind, wird abgewiesen.
* **Blackholing:** Der gesamte Verkehr zur Zieladresse wird verworfen – wirksam, aber der Dienst ist damit für //alle// nicht mehr erreichbar (Notmassnahme).
===== Load Balancing & Skalierung =====
Ein //Load Balancer// verteilt eingehende Anfragen auf mehrere Server. Fällt ein einzelner Server unter der Last aus oder wird überlastet, übernehmen die übrigen. In Kombination mit //Autoscaling// (automatisches Hochfahren zusätzlicher Server bei Bedarf) und einer gewissen Überkapazität an Bandbreite lässt sich ein Angriff abfedern.
* Die Last verteilt sich auf viele Systeme statt einen einzigen Flaschenhals.
* Zusätzliche Kapazität wird bei Bedarf automatisch bereitgestellt.
* Ein einzelner überlasteter Server führt nicht mehr zum Totalausfall.
Wichtig: Reine Skalierung ist ein //Wettrüsten// – gegen sehr grosse DDoS-Angriffe stösst man damit an (teure) Grenzen. Sie wird deshalb meist mit den nachfolgenden Massnahmen kombiniert.
===== DDoS-Scrubbing / Cloud-Mitigation =====
Spezialisierte Anbieter (z. B. Cloudflare, Akamai) leiten den gesamten Verkehr durch sogenannte //Scrubbing Center//. Dort wird der Datenstrom in Echtzeit analysiert: Schädlicher Verkehr wird herausgefiltert, nur der «saubere» Verkehr wird an den eigentlichen Server weitergeleitet.
**Wie Scrubbing grundsätzlich schützt**
* Der Angriffsverkehr trifft die spezialisierte Infrastruktur des Anbieters, nicht den eigenen Server.
* Die Anbieter verfügen über enorme Kapazitäten, die einzelne Betriebe nie vorhalten könnten.
* Angriffsmuster aus vielen Kunden fliessen zusammen und werden dadurch früher erkannt.
**Kurz:** Der Angriff läuft ins Filternetz des Anbieters, bevor er den eigenen Dienst überhaupt erreicht.
===== Web Application Firewall (WAF) =====
Gegen Angriffe auf der //Applikationsschicht// (Layer 7, z. B. HTTP-Flood oder Slowloris) hilft eine //Web Application Firewall//. Sie prüft die Anfragen inhaltlich und kann verdächtige Muster erkennen, die eine reine Netzwerk-Firewall nicht sieht.
* Erkennt automatisierte Bot-Anfragen anhand ihres Verhaltens.
* Kann verdächtige Clients mit einer //Challenge// (z. B. CAPTCHA) zu einem Nachweis zwingen, ein echter Mensch zu sein.
* Blockiert bekannte Angriffssignaturen gezielt auf HTTP-Ebene.
**Kurz:** Keine dieser Massnahmen ist für sich allein ein Freifahrtschein – erst ihre Kombination ergibt einen belastbaren Schutz.
----
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir