Moduly pro Apache IV – mod_loadavg
Modul mod_loadavg je velice málo známým, ale poměrně zajímavým, modulem doplňujcí druhou bariéru webserveru (první bariéra je např. firewall, druhá bariéra se obvykle používá až po průniku přez první a má pomoci administrátorovi problém řešit). V Případě DoS nebo DDoS útoku na server je obvykle problém v tom že na serveru není dostatek systémových zdrojů k tomu aby se administrátor přihlásil nebo situaci nějak řešil…
No a tohle nám celkem elegantně vyřeší mod_loadavg. Tento modul naleznete na adrese http://www.defunced.de/modules/, ale nějakou rozsáhlejší dokumentaci nebo howto asi budete hledat marně. Bohužel v tomto případě platí že jediná použitelná dokumentace je zdrojový kód.
A teď jak to funguje – modul se nahraje do webserveru apache a při příchodu požadavku zkontroluje jestli zátěž serveru není větší než nastavená spínací úroveň. Pokud je vše vpořádku, požadavek je normálně vyřízen, pokud ne, je požadavek zablokován a klientovi je odeslán HTTP chybový kód 503.
Kompilace
Instalace je celkem jednoduchá, stačí stahnout soubor mod_loadavg2.c.gz, rozbalit a pomocí apxs zkompilovat.
gunzip mod_loadavg2.c.gz apxs -c mod_loadavg2.c
Nastavení
do souboru httpd.conf stačí přidat následující kus konfigurace a restartovat apache.
LoadModule loadavg_module modules/mod_loadavg.so ModLoadavg On Loadavg1 12.0 Loadavg5 9.0 Loadavg15 9.0
Jak je vidět v ukázce konfigurace, je celá konfigurace mimořádně jednoduchá, stačí nahrát modul, zapnout ho a nastavit tři spínací úrovně, které odpovádají průměrné zátěži za 1, 5 a 15 minut. K zablokování požadavku stačí aby byla překročena i jen jedna z těchto hodnot.
Pokud by původní umístění souboru nebylo funkční, je možné mod_loadavg stáhnout i zde.
