Perl-Skript „slowloris“ legt Apache-Websites lahm

Unvollständige HTTP-Requests blockieren Apache-Server. Mit einem einzigen Angriffsrechner kann ein ganzer Server lahmgelegt werden. Die bisher bekannten Workarounds sind unbefriedigend.

Das letzte Woche im Internet veröffentlichte Tool „slowloris“ bereitet derzeit vielen Webmastern Kopfzerbrechen. Mit dem in Perl geschriebenen Programm ist es möglich, gegen jeden Apache-Webserver eine einfache, aber effektive DoS-Attacke zu fahren. Es sendet unvollständige HTTP-Request-Header an einen Apache-Server, der daraufhin in der Standardeinstellung fünf Minuten wartet, dass der fehlende Teil des Headers gesendet wird. So lange bleibt die TCP-Verbindung auf dem Apache-Server geöffnet.

Da jeder Apache-Prozess in der Default-Konfiguration maximal 256 TCP-Verbindungen zulässt, ist es innerhalb kürzester Zeit möglich, mit einem einzigen Angriffsrechner zu bewirken, dass ein Apache-Prozess keine weiteren Verbindungen annimmt und damit faktisch ausfällt. Meist arbeiten Apache-Server mit nur wenigen Prozessen, die sich auf diese Weise alle blockieren lassen.

Das Skript ist derart einfach zu bedienen, dass keine technischen Vorkenntnisse erforderlich sind. Betroffen sind alle Betreiber von Apache-Servern, die den direkten Zugriff aus dem Internet zulassen. Wer vorgeschaltete Komponenten, etwa einen Reverse-Proxy oder einen Load-Balancer verwendet, muss im Einzelfall prüfen, ob er betroffen ist. Der Apache-Web-Server hat laut Netcraft einen weltweiten Marktanteil von 47,12 Prozent, gefolgt von Microsofts Internet Information Server mit 24,80 Prozent, gemessen an der Anzahl der Domainnamen.

Bojan Zdrnja empfiehlt in einem Blogeintrag des Internet Storm Center allen betroffenen Webmastern bis zum Erscheinen eines Fixes, vorsichtig mit einer Herabsetzung der TimeOut-Direktive zu experimentieren. Setze man diese beispielsweise auf fünf Sekunden, so laufe man bereits Gefahr, legitime Nutzer mit langsamen Verbindungen auszusperren.

Die Herabsetzung dieses Wertes löse zwar das grundsätzliche Problem nicht, aber ein Angreifer müsse dann 256 Verbindungen innerhalb von weniger als fünf Sekunden öffnen, was slowloris in der Standardeinstellung nicht macht, um nicht durch eine intelligente Firewall entdeckt zu werden. Das könne viele Skript-Kiddies abhalten. Eine andere Möglichkeit zur Gefahrenabwehr sieht Zdrnja in der Verwendung des Moduls mod_limitpconn, dass die Anzahl der TCP-Verbindungen von einer einzigen IP-Adresse limitiert. Hier laufe man jedoch Gefahr, Nutzer aus größeren NAT-Installationen auszusperren, da alle Anwender dieselbe öffentliche IP-Adresse nutzen.

Neueste Kommentare 

1 Kommentar zu Perl-Skript „slowloris“ legt Apache-Websites lahm

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *