Wie kann ich Slowloris erkennen?

14

Ich bin mir ziemlich sicher, dass ich von Slowloris angegriffen wurde. Ich habe eine iptables-Regel eingerichtet, um die maximale Anzahl der Verbindungen zu meinem Webserver zu begrenzen. Ich möchte jedoch wissen, wie ich herausfinden kann, ob es sich wirklich um einen Slowloris-Angriff handelt und wenn ja, wie ich die IP-Adresse des Angreifers finde. Ich möchte die Logs wirklich gerne an seinen ISP weiterleiten.

Vielen Dank

rauben
quelle

Antworten:

5

Slowloris-Angriffe funktionieren, indem Anforderungsdaten so langsam wie möglich gesendet werden. Wenn Sie also die Bandbreitennutzung pro IP-Adresse messen können und diese unter einem bestimmten Schwellenwert liegt (ermittelt durch Messen der Bandbreite bei einem bekannten Slowloris-Angriff), wissen Sie, dass Sie angegriffen werden.

Um Angriffe zu verhindern, schlage ich vor, die Webserver-Software zu wechseln. Ich benutze Cherokee, das in seiner Standardkonfiguration resistent ist. Ich kann nicht feststellen, ob nginx anfällig ist, aber lighttpd. Ich kann auch nicht sicher sein, ob die Verwendung eines resistenten Webservers als Proxy einen Unterschied macht.

Weitere Informationen: http://ha.ckers.org/blog/20090617/slowloris-http-dos/

dan_waterworth
quelle
10

Stufe 1: einfaches Slowloris DOS


Um die IP-Adresse des Slowloris-Angreifers zu ermitteln, verwende ich die folgende Befehlszeile:

netstat -ntu -4 -6 |  awk '/^tcp/{ print $5 }' | sed -r 's/:[0-9]+$//' |  sort | uniq -c | sort -n

Dies gibt Ihnen die Anzahl der aktiven Verbindungen für jede verbundene IP

Wenn Sie sich unter einer einfachen DOS-Attacke befinden, einem Kind mit einer oder mehreren IP-Adressen, ist die mit 50-100 Verbindungen (oder mehr) höchstwahrscheinlich ein Slowloris-Angreifer, den Sie ablegen können.

Dies dient zum Erkennen und Löschen (mit iptables oder Ihrem bevorzugten hlfw) in "Echtzeit", wenn Sie während des Angriffs mit dem Server verbunden sind.

Das Hinzufügen der Verarbeitungszeit (% D oder% T) in Ihren Apache-Protokollen kann wahrscheinlich auch dazu beitragen, Slowloris-Angriffe "postmortem" zu erkennen, indem Sie die Protokolle analysieren. Wenn Sie diese Informationen nicht in Ihren Protokollen haben, können Sie nichts Interessantes finden . Die Protokollkonfiguration finden Sie unter http://httpd.apache.org/docs/current/mod/mod_log_config.html .

Level 2: Real Big Slowloris DDOS


Mit netstat (verwenden Sie watch netstat zum Aktualisieren) können Sie weiterhin feststellen, dass einige IPs nur immer verbunden sind

Um gegen Slowloris vorzugehen, installieren Sie auf Apache die erforderlichen Timeout-Module und richten Sie sie ein. Beispiel:

http://pastebin.com/3BNNwfyb

Danach ist jede 408, die Sie in access_log sehen, zu 99,999% sicher, dass es sich um eine Slowloris-Angreifer-IP handelt.

Mit dem Apache-Modul reqtimeout können Sie problemlos Tausenden von IPS und Tausenden von Paketen pro Sekunde auf einem anständigen dedizierten Server standhalten

Iptables können auch ein wenig helfen, wenn es um Folgendes geht:

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP
neofutur
quelle