Laying under Siege

Igor Warneck

Registered User
Liebe Leute,

ich habe versucht das Thema zu finden, doch keine Chance. Siege ist ja bekanntermassen ein gutes Tool um Webserver unter Stress zu testen. Geht sehr gut.

Leider habe ich jemanden der mich nicht mag und das Ding gegen meinen Server fährt. Solange bis der Server umgeht. Swap voll - 70.00 uptime - in Kurz der Horror.

Was muss ich machen um dem Apache zu sagen (prefork) das er bei sowas einfach aufgibt und die Verbindung killt?

Zur Zeit ist die Config so:

# prefork MPM
<IfModule prefork.c>
# number of server processes to start
StartServers 5
# minimum number of server processes which are kept spare
MinSpareServers 5
# maximum number of server processes which are kept spare
MaxSpareServers 10
# highest possible MaxClients setting for the lifetime of the Apache process.
ServerLimit 100
# maximum number of server processes allowed to start
MaxClients 100
# maximum number of requests a server process serves
MaxRequestsPerChild 0
</IfModule>

Tausend Dank!

Igor
 
Lieber HornOx,

mod_evasive setze ich ein, nur das dieses bei mir mittlerweile mod_secure heisst. Das kann aber nur greifen und greift auch, wenn es auf die Browserkennung angesetzt wird. Da man aber bei Siege auch eine normale Browserkennung angeben kann, greift mod_secure nat. nicht.

IP-Tables basteln hört sich schön an. Ahnung hab ich davon nicht. Any Ideas?

Gruss,
Igor
 
mod_evasive setze ich ein, nur das dieses bei mir mittlerweile mod_secure heisst. Das kann aber nur greifen und greift auch, wenn es auf die Browserkennung angesetzt wird.
Meist du mod_security? Die beiden Module haben nicht viel miteinander zu tun, abgesehen davon kann mod_security mit zu umfangreichen Regeln richtig Performance kosten. mod_evasive kann z.b., unabhänig von der Browserkennung, bei mehr als xx Verbindungen pro y Sekunden von einer IP Apache veranlassen dieser IP für einen gewissen Zeitraum nur noch mit Fehlermeldungen zu antworten oder die IP mit iptables ganz blocken.
IP-Tables basteln hört sich schön an. Ahnung hab ich davon nicht. Any Ideas?
Kommt der Angriff von einer statischen oder von dynamischen IPs? Abgesehen davon ist "iptables" ein ganz tolles Stichwort für google :D
 
Argh. Das kommt davon wenn man unter Hacker-Stress nach Lösungen sucht. Ich schaue mir das andere mod_ mal genauer an.

So wie ich es in Erinnerung habe, kam ich von evasive auf security - aber vielleicht hau ich da auch was durcheinander. mod_security geht wirklich extrem auf die Last.

Die Angriffe kommen derzeit von einer statischen IP für einen Zeitraum - dann wechseln sie.

Wenn noch jemandem was einfällt - ich bin DANKbar :-)

Igor
 
Ich merke es schon. Ist ein tolles Mod_

Aber ...

Entweder liegts an Suse 9.3 oder meiner Dummheit ... er weigert sich ein Logfile zu schreiben und die Doku ist doch sehr dünn ...

Config Tipps?

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify xxx@xxx.de
DOSLogDir "/var/log/apache2/mod_evasive"
</IfModule>

Danke!

Igor
 
Nutze mal die Boardsuche - ich hatte das gleiche Problem. Wie Huschi mir dann erklärte, ist LogDir eine schlechte Wahl der Variablenbenennung. Wie gesagt, nutze die Boardsuche nach mod_evasive.
 
Jungs Ihr SPITZE!

Brauch ich noch :-)

Also: Soweit alles im Griff. Ein Log ist ein Lock und das ist jetzt im /tmp. Ok.

test.pl greift ausgezeichnet.

Simulation Siege:

siege -c50 -t3M

Ergebnis:

Transactions: 20 hits
Availability: 8.00 %
Elapsed time: 180.12 secs
Data transferred: 0.13 MB
Response time: 20.13 secs
Transaction rate: 0.11 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 2.24
Successful transactions: 20
Failed transactions: 230
Longest transaction: 33.97
Shortest transaction: 0.00

ABER:
Es gibt nur einen Connection timed out und keinen 304er wie angekündigt.

Den hätte ich aber gern.

mod_security läuft nebenher auch noch - vielleicht gibts da auch noch eine Möglichkeit.

Ich fände es aber schöner wenn mod_evasiv einfach zumachen würde.

Bitte jetzt nicht den Verweis auf die IP_Tables - das ist wirklich was das ich noch nicht verstehe. Gebt mir dafür noch einen Monat :-)

Gruss,
Igor
 
Es geht doch nix über Intuition:

<IfModule mod_suphp.c>
suPHP_Engine on
php_admin_flag engine off
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddHandler x-httpd-php .php
DirectoryIndex index.php
DirectoryIndex index.php3
DirectoryIndex index.php4
</IfModule>

... war schuld das es keinen 403 gab.

Jetzt schnurrt er durch und macht keine Last mehr.

Seht Ihr einen SInn darin mod_suphp.c zu behalten?

Gruss,
Igor
 
Nachtrag:

Aber nur Intern.

Lege ich Siege gegen eine Webseite auf dem eigenen Server liefert es einen 304er - lege ich Siege von einem anderen Server gegen die Webseite entsteht viel viel Last und keine 304er ...

Grmpf. Das kann es doch nicht sein. Oder?

Grübelnde Grüße,
Igor
 
Back
Top