Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/01/2015, à 23:32

seabird2_fr

mod_evasive et DOSBlockingPeriod

Bonsoir,

J’ai un petit soucis avec la durée du blacklistage.

Voilà ce que j’ai fait pour test dans la configuration:
J'ai mis deux pages en 5s et 10 requêtes en 5s autant dire pas grand-chose.

<IfModule mod_evasive20.c>
    DOSHashTableSize 3097

    DOSPageCount 2
    DOSPageInterval 5

    DOSSiteCount 10
    DOSSiteInterval 5

  DOSBlockingPeriod 600
    DOSLogDir "/var/log/mod_evasive"
   #DOSWhitelist      127.0.0.1
</IfModule>

Si je fais le test manuellement depuis le navigateur . Je suis bien bloqué mais à peine 5s malgré mon DOSBlockingPeriod à 600

Si j'essai avec ab:
ex: ab -n 1000 -c 100 http://mon-ip-publique/  , 96% des requêtes ne passent pas (toujours un problème avec le durée du blacklist)

Voilà ce que j'obtiens en lançant le test perl qu’il y a en exemple. Ce qui est bizarre c'est que j'ai un premier 403 puis ça redevient OK puis ça repart en 403 .Et malgré mon DOSBlockingPeriod 600 , ca reste bloqué également à peine 5s
et je suis bien présent dans /var/log/mod_evasive  => dos-127.0.0.1

root@servertest:/usr/share/doc/libapache2-mod-evasive/examples# perl test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
.........

Merci pour vos suggestions,

Eric

Hors ligne

#2 Le 29/01/2015, à 21:34

tiramiseb

Re : mod_evasive et DOSBlockingPeriod

Salut,

Juste une supposition pour l'une de tes interrogations...

Ce qui est bizarre c'est que j'ai un premier 403 puis ça redevient OK puis ça repart en 403

Ça peut provenir du MPM que tu utilises, j'imagine qu'il faut que les processus (ou les threads) qui répondent aux requêtes et qui "décident" du blocage mettent un certain temps pour "propager" la nécessité du blocage aux autres.

Par contre, aucune idée pour le délai de 5 secondes.

Hors ligne

#3 Le 29/01/2015, à 22:38

seabird2_fr

Re : mod_evasive et DOSBlockingPeriod

Bonsoir,

C'est vrai que je n'ai toujours aucune idée concernant ce délai au alentour de 5s.
J'ai testé avec plusieurs valeurs différentes et toujours ces 5s. Il y a quelque chose qui apparemment prend le pas sur DOSBlockingPeriod.
Je cherche toujours...

Eric

Hors ligne

#4 Le 29/01/2015, à 22:59

tiramiseb

Re : mod_evasive et DOSBlockingPeriod

À tout hasard, que donne la commande suivante ?

grep -r DOS /etc/apache2

Hors ligne

#5 Le 29/01/2015, à 23:03

seabird2_fr

Re : mod_evasive et DOSBlockingPeriod

Voilà ce que j'obtiens.

root@servertest:/home# grep -r DOS /etc/apache2
/etc/apache2/magic:#0   leshort         0x76FF          squeezed data (CP/M, DOS)
/etc/apache2/magic:#0   leshort         0x76FE          crunched data (CP/M, DOS)
/etc/apache2/magic:# DOS
/etc/apache2/mods-available/mod-evasive.conf:     DOSHashTableSize 3097
/etc/apache2/mods-available/mod-evasive.conf:     DOSPageCount 2
/etc/apache2/mods-available/mod-evasive.conf:     DOSPageInterval 5
/etc/apache2/mods-available/mod-evasive.conf:     DOSSiteCount 10
/etc/apache2/mods-available/mod-evasive.conf:    DOSSiteInterval 5
/etc/apache2/mods-available/mod-evasive.conf:  DOSBlockingPeriod 600
/etc/apache2/mods-available/mod-evasive.conf:    DOSLogDir "/var/log/mod_evasive"
/etc/apache2/mods-available/mod-evasive.conf:   #DOSWhitelist      127.0.0.1

Hors ligne

#6 Le 29/01/2015, à 23:16

tiramiseb

Re : mod_evasive et DOSBlockingPeriod

Bon, tu n'as donc pas de configuration qui serait appliquée dans un autre fichier...

Il n'y a rien dans les logs d'Apache, notamment lorsque tu le relances, à ce propos ?

Hors ligne

#7 Le 29/01/2015, à 23:29

seabird2_fr

Re : mod_evasive et DOSBlockingPeriod

Je ne vois rien de particulier dans /var/log/apache2/access.log

xx.xxx.xx.xxx - - [29/Jan/2015:22:21:46 +0100] "GET /bid.php HTTP/1.1" 200 347 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"
xx.xxx.xx.xxx - - [29/Jan/2015:22:21:58 +0100] "GET /bid.php HTTP/1.1" 200 347 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"
xx.xxx.xx.xxx - - [29/Jan/2015:22:21:59 +0100] "GET /bid.php HTTP/1.1" 200 346 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"
xx.xxx.xx.xxx - - [29/Jan/2015:22:22:00 +0100] "GET /bid.php HTTP/1.1" 200 346 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"
xx.xxx.xx.xxx - - [29/Jan/2015:22:22:01 +0100] "GET /bid.php HTTP/1.1" 403 427 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"
xx.xxx.xx.xxx - - [29/Jan/2015:22:22:10 +0100] "GET /bid.php HTTP/1.1" 200 347 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"
xx.xxx.xx.xxx - - [29/Jan/2015:22:22:11 +0100] "GET /bid.php HTTP/1.1" 200 346 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0"

Je vois bien la page bloquée à 22:22 et débloquée à 22:22:10

Dernière modification par seabird2_fr (Le 29/01/2015, à 23:30)

Hors ligne

#8 Le 29/01/2015, à 23:31

tiramiseb

Re : mod_evasive et DOSBlockingPeriod

Dans le "error.log" au moment du redémarrage.

Hors ligne

#9 Le 29/01/2015, à 23:39

seabird2_fr

Re : mod_evasive et DOSBlockingPeriod

Rien de particulier non plus sauf le message lors du blocage:

[Thu Jan 29 22:36:38 2015] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/testsite/www/bid.php

Visiblement, je ne suis pas le seul à avoir ce problème:
http://mail-archives.apache.org/mod_mbo … ail.com%3E

Dernière modification par seabird2_fr (Le 29/01/2015, à 23:52)

Hors ligne

#10 Le 31/01/2015, à 14:30

LeoMajor

Re : mod_evasive et DOSBlockingPeriod

De mémoire,  pour DOSBlockingPeriod > 10, ll faut utiliser DOSSystemCommand, pour créer un log sur mesure, et parser analyser avec fail2ban.

DOSSystemCommand "(/bin/echo $(/bin/date) evasive: %s ip bannie) >> /var/log/mod-evasive/dos_evasive.log"

Pour DOSBlockingPeriod < 10, c'est inutile;

DOSBlockingPeriod 6

A remarquer, que le mod-evasive est pour simuler, ce qu'un humain peut faire, a contrario d'un bot. Par extension, DOS ... Ce forum en est équipé, lorsqu'apache est utilisé ( un message s'affiche sur le forum, en disant un truc "veuillez patienter 10 secondes ..., ", lorsqu'on sollicite trop de requêtes en peu de temps).
En ce moment, c'est Koala web server, qui tourne, donc pas de mod_evasive

Pour les attaques signées, les aspirateurs de site, les logiciels de vulnérabilté, wget ..., bref, l'user-agent est détectable, et le mode opératoire aussi (voir log), il y a un exemple avec env=bad_bot (voir phpmyadmin)

Hors ligne

#11 Le 31/01/2015, à 15:31

seabird2_fr

Re : mod_evasive et DOSBlockingPeriod

Bonjour,

Tewis a écrit :

De mémoire,  pour DOSBlockingPeriod > 10, ll faut utiliser DOSSystemCommand, pour créer un log sur mesure, et parser analyser avec fail2ban.

DOSSystemCommand "(/bin/echo $(/bin/date) evasive: %s ip bannie) >> /var/log/mod-evasive/dos_evasive.log"

Pour DOSBlockingPeriod < 10, c'est inutile;

DOSBlockingPeriod 6

Ok , merci, je vais voir ça. En plus, je veux l'utiliser avec fail2ban.
Ce qui est étonnant, lorsque j'ai parcouru le web, c'est qu'à aucun moment je vois ce problème de DOSBlockingPeriod > 10 . Pourtant très souvent ils ont des valeurs > 10.

Eric

Dernière modification par seabird2_fr (Le 31/01/2015, à 15:32)

Hors ligne

#12 Le 31/01/2015, à 15:52

LeoMajor

Re : mod_evasive et DOSBlockingPeriod

Ce qui est étonnant...

je ne sais pas. cela a été peut-être corrigé

Ensuite, selon la webapplication, mod_evasive peut être contre-productif ou à re-configurer. Par exemple, une galerie de miniatures photos, avec des effets décoratifs (animation), où il y a beaucoup de requêtes; evasive peut faire planter l'animation.

Dernière modification par Tewis (Le 31/01/2015, à 15:56)

Hors ligne