Open Source im professionellen Einsatz
Linux-Magazin 05/2010
Public Domain, Jellrancher

Public Domain, Jellrancher

Aus dem Alltag eines Sysadmin: Mod_qos gegen Slowloris

In der Klammer

Ein nach entschleunigten Affen benanntes Tool führt einfache, aber tödliche Angriffe auf Webserver aus. Doch mit einem Apache-Modul lässt sich Schutz organisieren.

428

Verteilte Denial-of-Service-Angriffe gegen Webserver brachte ich bisher mit brachialer Gewalt in Verbindung: Zehntausende gleichzeitige HTTP-Verbindungen setzen das Opfer so unter Dampf, dass es für seine eigentlichen Aufgaben keinen CPU-Takt mehr übrig hat.

Slowloris [1] beweist, dass DoS auch anders geht. Statt mehr Verbindungen aufzubauen, als der Server verarbeiten kann, gewinnt das Tool den Kampf durch Langsamkeit. Slowloris übergibt jeden HTTP-Request homöopathisch, mit langen Pause, ohne ihn je abzuschließen. Die Intervalle zwischen den Header-Häppchen sind gerade lang genug, dass der Server die Verbindung nicht wegen Zeitüberschreitung schließt.

Sind alle Sockets von Slowloris-Verbindungen belegt, ist der Server für reguläre HTTP-Requests blockiert. Dabei verausgaben sich weder Angreifer noch Opfer, beide verbringen wie bei Godot die meiste Zeit mit Warten. Eine bizarre Situation, der Slowloris auch seinen Namen verdankt: Slow Loris sind Faulaffen [2]. Eine gewisse Prominenz erlangte das Tool, als Regierungsgegner im Zuge der iranischen Präsidentenwahl 2009 damit Server der Regierung lahmlegten.

Ein normal konfigurierter Apache ist auf diese Weise angreifbar. Um den Planeten nicht kampflos den Affen zu überlassen, gibt es mehrere Module, die den Server schützen. Eines davon ist Mod_qos [3]. Seine Abwehrstrategie: Fällt der Datendurchsatz auf einem Socket unter einen Wert (den »QS_SrvMaxConnClose« konfiguriert), trennt er die Verbindung und der Socket steht wieder zur Verfügung.

Monkey, Monkey

Nach dem Download kompiliere ich das Modul mit Apxs2:

tar xvzpf mod_qos-9.9.tar.gz
cd mod_qos-9.9/apache2
apxs2 -ci mod_qos.c

Nun lege ich eine »/etc/apache/mods_available/qos.load« mit dem Inhalt

LoadModule qos_module /usr/lib/apache2/modules/mod_qos.so

an. Ich brauche noch eine Grundkonfiguration, die ich als »qos.conf« im selben Verzeichnis hinterlege, Abbildung 1 zeigt die meines Testservers. Wer einen stark belasteten Host in Pflege hat, muss die Werte erhöhen. Ist das Setup geschafft, fährt Apache mit

Abbildung 1: Die Konfigurationsdatei »qos.conf«, mit der Charly seinen Webserver vor Slowloris' Umklammerung bewahrt.

a2enmod qos
/etc/init.d/apache2 restart

die Schilde hoch. Für extravagantere Konfigurationen lohnt sich ein Blick in das »docs«-Verzeichnis des Tarballs, denn Mod_qos kann mehr als nur Faulaffen auf Bäume scheuchen. (jk)

Infos

[1] Slowloris: [http://ha.ckers.org/slowloris/]

[2] Faulaffen: [http://de.wikipedia.org/wiki/Loris]

[3] Mod_qos: [http://sourceforge.net/projects/mod-qos/]

Der Autor


Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein in Kamp-Lintfort. Zu seinen Aufgaben gehören die Sicherheit und Verfügbarkeit der Firewalls und der DMZ. Im heißen Teil seiner Freizeit frönt er dem Kochen, im feuchten Teil der Süßwasseraquaristik und im östlichen lernt er Japanisch.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Ausgabe 01/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.