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