Este é um módulo de manobras evasivas para o Apache para fornecer um desvio em caso de DoS HTTP ou ataque DDoS ou ataque de força bruta. Ele também é projetado para ser uma ferramenta de detecção e gerenciamento de rede, e pode ser facilmente configurado para conversar com ipchains, firewalls, roteadores e etcetera. mod_evasive atualmente relata abusos por e-mail e instalações de syslog.

A detecção é feita através da criação de uma tabela dinâmica interna de hash de endereços IP e URIs, e negando qualquer único endereço IP de qualquer um dos seguintes:

  • Solicitando a mesma página mais do que algumas vezes por segundo
  • Fazendo mais de 50 solicitações simultâneas na mesma criança por segundo.
  • Fazer todos os pedidos enquanto temporariamente na lista negra (em uma lista de bloqueio)

Após instalar o modulo evasive no apache faça o teste para verificar seu funcionamento: Crie um script ‘teste_evasive.pl’ com o conteudo abaixo: De permissão de execusão sobre este arquivo e execute ./teste_evasive.pl

O resultado devera assim:

O resultado devera assim:

HTTP/1.1 200 OK
HTTP/1.1 200 OK
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

Conteúdo script teste_evasive.pl

#!/usr/bin/perl
# test.pl: small script to test mod_dosevasive’s effectiveness
use IO::Socket;
use strict;
for(0..100) {
    my($response);
    my($SOCKET) = new IO::Socket::INET( Proto   => “tcp”,
        PeerAddr=> “127.0.0.1:80”);
        if (! defined $SOCKET) { die $!; }
        print $SOCKET “GET /?$_ HTTP/1.0\n\n;
        $response = <$SOCKET>;
        print $response;
        close($SOCKET);
}