Twitter RSS

mod_evasive e un modul Apache care ofera o metoda eficienta de protectie impotriva atacurilor HTTP de tip DoS, DDoS sau brute force. Protectia exista datorita unor tabele de tip hash (Key->Value) interne care includ IP-urile vizitatorilor si URI-urile vizitate. Cand se cere de prea multe ori aceeasi pagina intr-un interval de o secunda IP-ul vizitatorului este blocat pentru o perioada de timp. De asemenea se blocheaza si cand se fac mai mult de 50 de cereri de la aceeasi adresa IP, pe acelasi proces apache.

Ultima varianta stabila a mod_evasive e 1.10.1 si o putem instala urmand pasii de mai jos:

[root@server ~]# mkdir install
[root@server ~]# cd install
[root@server ~/install]# wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
[root@server ~/install]# tar -zxvf mod_evasive_1.10.1.tar.gz
x mod_evasive/
x mod_evasive/.cvsignore
x mod_evasive/LICENSE
x mod_evasive/Makefile.tmpl
x mod_evasive/README
x mod_evasive/mod_evasive.c
x mod_evasive/mod_evasive20.c
x mod_evasive/mod_evasiveNSAPI.c
x mod_evasive/test.pl
x mod_evasive/CHANGELOG
[root@server ~/install]# cd mod_evasive
[root@server ~/install/mod_evasive]# /usr/local/sbin/apxs -cia mod_evasive.c
cc -DLOGIN_CAP  -funsigned-char -O2 -fno-strict-aliasing -pipe -DDOCUMENT_LOCATION="/usr/local/www/data" -DDEFAULT_PATH="/bin:/usr/bin:/usr/local/bin" -DHARD_SERVER_LIMIT=512 -fpic -DSHARED_MODULE -I/usr/local/include/apache  -c mod_evasive.c
cc -shared -o mod_evasive.so mod_evasive.o
[activating module `evasive' in /usr/local/etc/apache/httpd.conf]
cp mod_evasive.so /usr/local/libexec/apache/mod_evasive.so
chmod 755 /usr/local/libexec/apache/mod_evasive.so
cp /usr/local/etc/apache/httpd.conf.new /usr/local/etc/apache/httpd.conf
rm /usr/local/etc/apache/httpd.conf.new
[root@server ~/install/mod_evasive]#

Dupa cum se vede, am downloadat ultima versiune de mod_evasive, am dezarhivat-o folosind comanda tar -zxvf mod_evasive_1.10.1.tar.gz si apoi am instalat modulul folosind binarul apxs, care vine cu instalarea serverului apache /usr/local/sbin/apxs -cia mod_evasive.c. E posibil ca in functie de sistemul de operare folosit sau de modul de personalizare a instalarii apache locatia fisierului apxs sa difere caz in care trebuie sa cautati calea corecta catre binar.

Daca versiunea serverului apache e 2.x, nu 1.3 ca in cazul serverului pe care am instalat, trebuie sa inlocuiti parametrul transmis binarului apxs din mod_evasive.c in mod_evasive20.c.

In mod normal apxs modifica fisierul httpd.conf pentru a include modulul. Putem verifica daca a fost introdus folosind comanda awk:

[root@server ~/install]# awk '/mod_evasive/' /usr/local/etc/apache/httpd.conf
LoadModule evasive_module     libexec/apache/mod_evasive.so
AddModule mod_evasive.c
[root@server ~/install]#

De data asta modulul a fost adaugat corect. Daca nu gasiti cele doua linii in httpd.conf va trebui sa editati manual fisierul si sa le adaugati.

Dupa instalare putem personaliza putin modul de protectie adaugand urmatorul bloc de instructiuni in fisierul httpd.conf:

<ifmodule mod_evasive.c>
    DOSHashTableSize 3097
    DOSPageCount 2
    DOSSiteCount 50
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSBlockingPeriod 90
</ifmodule>

Cu toate ca e un modul foarte util, se pare ca autorul nu si-a facut timp pentru a scrie un manual de instructiuni. Oricum, numele directivelor sunt sugestive pentru orice cunoscator al limbii engleze.

Pe langa directivele de mai sus mai sunt cel putin inca doua care ar starni interesul. Prima este DOSWhitelist care permite crearea de exceptii si se foloseste de forma DOSWhitelist 1.2.3.4 unde 1.2.3.4 e IP-ul privilegiat. A doua este DOSSystemCommand cu ajutorul careia putem determina modulul sa interactioneze cu alte componente ale serverului – ex. firewall sau sistem de alertare. Pentru a bloca automat IP-urile care creaza probleme putem folosi directiva DOSSystemCommand sub forma DOSSystemCommand “sudo -u root /sbin/ipfw -q add 51000 deny ip from %s to any in via em0″.

Popularity: 3% [?]

Comentarii pentru “Protectie la DoS cu mod_evasive”

  • sunt atacat de 4-5 zile incontinu de un astfel de atac DoS , si nu pot face nimic problemea mea este ca sunt un noob la apache practic nu stiu nimic , spre exemplu as putea intelege explicatia facuta de tine daca as sti cum ai ajuns la acel root@server install , eu nu ajung acolo!! din cmd cum ce fac

Ai intrebari?

* Te rog sa postezi pe NetHelp orice intrebare care nu are legatura cu articolul.

Retele sociale
Reclamã
Sharing makes you cool!
Categorii
Apache
Articole si tutoriale legate de serverul web Apache.
/articole-tutoriale-apache/

cPanel
Articole si tutoriale legate de utilizarea si administrarea sistemului de gestiune a serverelor de hosting, cPanel.
/articole-tutoriale-cpanel-whm/

DNS
Vezi toate articolele din categoria DNS
/dns-bind-domain-name-services/

Linux
Articole si tutoriale legate de Linux, sisteme BSD sau alte sisteme de operare din familia UNIX.
/articole-tutoriale-linux/

Mail
Vezi toate articolele din categoria Mail
/mail/

MySQL
Articole si tutoriale despre serverul de baze de date MySQL.
/articole-tutoriale-optimizare-mysql/

Perl
Vezi toate articolele din categoria Perl
/perl-practical-extraction-and-report-language/

PHP
Vezi toate articolele din categoria PHP
/php-language-hypertext-preprocessor/

Retele
Tutoriale despre retele de calculatoare, configurarea interfetelor de retea si rutarea IP-urilor.
/retele-networking/

Virtualizare
Articole si tutoriale despre virtualizare si sistemel virtuale create cu Xen sau OpenVZ.
/virtualizare-xen-openvz/

Web hosting
Articole despre serviciile de gazduire web, dedicate sau in regim shared.
/web-hosting/

Webmin / Virtualmin
Articole si tutoriale legate de sistemul de gestiune gratuit Webmin sau modulul Virtualmin.
/webmin-virtualmin/





Newsletter
LAMP Recomandã
NetHelp
SRV.ro
cpadmin.ro
ABCDomenii