Slowloris
# Slowloris

Slowloris ist eine Software, mit der ein einzelner Rechner unter minimaler Verwendung von Netzwerkressourcen einen Webserver lahmlegen kann. Slowloris greift speziell den Webserver an, gegen andere Dienste wirkt es nicht. Autor der Software ist Robert „RSnake“ Hansen.

Slowloris versucht, möglichst viele Verbindungen zum Zielserver aufzubauen und diese so lange wie möglich offen zu halten. Dieser Effekt wird durch paralleles Öffnen von Verbindungen und Senden von Teilanfragen erreicht. Von Zeit zu Zeit werden die Teilanfragen durch weitere HTTP-Header ergänzt, die Anfragen werden aber nie vollständig abgeschlossen. Dadurch steigt die Anzahl offener Verbindungen rasch an. Da die Anzahl offener Verbindungen, die ein Webserver gleichzeitig halten kann, begrenzt ist, werden legitime Anfragen von Webbrowsern abgelehnt – der Server ist lahmgelegt.

## Betroffene Webserver

Viele Webserver sind für diese Art des Angriffs anfällig, darunter Apache 1.x, Apache 2.x, dhttpd und der GoAhead WebServer.

## Gegenmaßnahmen

Es gibt derzeit kein wirksames Mittel gegen einen Slowloris-Angriff, aber es gibt Möglichkeiten, dessen Auswirkungen zu verringern. Diese umfassen:

* die maximale Anzahl gleichzeitiger Verbindungen des Webserver erhöhen
* die maximale Anzahl von Verbindungen von einer IP-Adresse beschränken
* die Zeitspanne, die ein Client verbunden bleiben darf, verringern

Speziell für den Apache-Webserver gibt es eine Reihe von Modulen, die den Schaden durch Slowloris verringern können, so zum Beispiel mod_limitipconn, mod_qos, mod_evasive, mod_security, mod_noloris, und mod_antiloris. Ab Version 2.2.15 enthält Apache das Modul mod_reqtimeout, welches von den Entwicklern als offizielle Lösung vorgeschlagen wird.

Weitere Gegenmaßnahmen sind Reverse-Proxys, Firewalls, Load Balancer, Layer-3-Switches und die Verwendung eines Webservers, der immun gegen diese Art des Angriffs ist.

## Verwendung

Während der Präsidentschaftswahlen 2009 im Iran wurde Slowloris gegen die Webserver der iranischen Regierung eingesetzt.

Slowloris wurde gegenüber einem traditionellen Denial-of-Service-Angriff bevorzugt, weil ein traditioneller Angriff sehr viele Netzwerkressourcen verbraucht und damit auch der Protestbewegung geschadet hätte.

Von den Angriffen waren gerdab.ir, leader.ir und president.ir betroffen.

## Ähnliche Programme

Seit der Veröffentlichung von Slowloris sind einige weitere Programme erschienen, die die Funktion von Slowloris nachahmen und weitere Funktionen bieten oder in anderen Umgebungen laufen:

* PyLoris – eine Pythonimplementierung, die Tor- und SOCKS-Proxys unterstützt.
* QSlowloris – ein Binärprogramm, das unter Windows läuft und eine Qt-Oberfläche hat.
* Eine (unbenannte) PHP-Version, die ironischerweise im Apache-HTTP-Server läuft.
* Slowloris.hx – eine Implementation in der Programmiersprache Haxe
