Slowloris ist ein Denial-of-Service-Angriff, der von Robert „RSnake" Hansen 2009 als Proof of Concept vorgestellt wurde. Statt mit Datenvolumen zu überfluten, hält der Angriff viele HTTP-Verbindungen zu einem Webserver offen, bis dessen Verbindungslimit erreicht ist — legitime Besucher können sich dann nicht mehr verbinden.

So funktioniert der Angriff

Der Angreifer öffnet zahlreiche Verbindungen, sendet aber nur teilweise HTTP-Request-Header. Statt den Request abzuschließen, sendet er einzelne Header-Zeilen in großen zeitlichen Abständen. Der Server hält jede dieser Verbindungen offen, weil er auf weitere Daten wartet. Sind alle verfügbaren Verbindungen oder Threads belegt, kann er keine neuen Anfragen mehr bedienen. Der Trick: Der Angriff benötigt nur sehr wenig Bandbreite und ist schwer zu erkennen, weil die Pakete einzeln vollkommen normal wirken.

Gegenmaßnahmen

  • Timeout- und Limit-Einstellungen: Kürzere Request-Timeout-Werte und begrenzte Verbindungen pro IP lösen halbfertige Verbindungen auf.
  • Reverse-Proxy und Load-Balancer: Event-basierte Server wie nginx halten viele Verbindungen mit wenig Ressourcen.
  • Überwachung: Auffällig viele gleichzeitig offene, langsame Verbindungen sind ein Indikator — Schutzsysteme können sie kappen.

Verwandte Grundlagen: SYN-Flood attackiert die TCP-Ebene, Ping-Flood die ICMP-Ebene, Slowloris die Anwendungsebene — alle drei sind Formen eines DDoS-Angriffs.