apache 2.2 slots freigeben

From: Marian Hettwer <MH(at)kernel32.de>
Date: Mon, 11 Dec 2006 12:42:15 +0100

Hallo Liste,

ich kämpfe hier grade gegen dDoS attacken gegen einen Webserver den ich
administriere.

Die Anfragen gehen alle auf den selben File, der so nicht mehr existiert.
Da 404 werfen auch nicht schön ist, habe ich folgendes in meiner httpd.conf

Redirect permanent /foobar.txt http://127.0.0.1

Getreu dem Motto, nervt euch doch selbst.

Das Problem ist, dass der Apache slot erstmal belegt bleibt, da die bots
die dort angreifen natürlich ihre http Verbindung nicht ordentlich beenden.

Kennt jemand eine Möglichkeit das im apachen zu tun?
Sozusagen: Wenn /foobar.txt, dann Redirect und danach Slot freigeben und
nicht warten was die gegenstelle dazu sagt.

Den timeout habe ich auf 30 Sekunden runtergedreht, den KeepAlive auf 1
Sekunde, was schon sehr niedrig ist.

Zusätzlich bin ich recht gemein und sperre die IP's für 30 minuten mit
diesem kleinen Hack:
pfctl -t www-spammers -T add $(grep ${PHP1} ${LOGFILE} | grep -Eiv
"google|gigabot|inktomi|msnbot|yahoo|slurp" | grep -E "2006:$(date
+\%H:\%M)" | awk '{ print $1 }' | sort -u)

Wobei $PHP1 der file ist den die Bots haben wollen und $LOGFILE das
Apache access.log
Das miniscript läuft via cronjob 1 mal pro minute. Damit hat jeder bot
im Prinzip 1 Minute zeit meinen Server zu nerven... danach ist schluss.

Die IP's die da rausfallen landem im pf table <www-spammers> und mit
denen passiert:
block quick on $ext_if proto tcp from <www-spammers> to $ext_if port 80

Dennoch bleiben erstmal wertvolle Apache slots belegt.

Das overload feature von pf(4) kennt das argument "flush global".
Scheinbar gibts da aber kein pendant zur block regel...

Und ich weiß auch nicht wie der apache reagiert, wenn pf die
Verbindungen wegräumt ;)

Irgendwelche Ideen?
Der Hintergrund ist klar: Irgendwie vor dDoS attacken von irgendwelchen
bots schützen, bzw. den Schaden minimieren...

Informationen zum System:
Rootserver mit 1 GB Ram, FreeBSD 6.2-PRERELEASE, apache 2.2 mit
mpm-event + accf_http(9) Modul + php 5.2.0

Dank mpm-event schafft die Kiste immerhin sportliche 2048 apache slots
zur Verfügung zu stellen... :)

Danke & Beste Grüße,
Marian

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 11 Dec 2006 - 12:45:23 CET

search this site