mod_evasive para evitar ataques DDoS!

O que é mod_evasive?

mod_evasive é um módulo para o Apache que fornece ação evasiva no caso de um ataque de negação de serviço distribuído (DDoS / DoS) ou ataque de força bruta.

Ele também é projetado para ser uma ferramenta de gerenciamento de rede e detecção e pode ser facilmente configurado para falar com ipchains, firewalls, roteadores e muito mais. mod_evasive atualmente denuncia abuso por e-mail e instalações de syslog.

Pré-requisitos;

O mod_evasive tem apenas um pré-requisito além da instalação padrão do LAMP. Para instalar este módulo, execute o seguinte como root:

 

Debian / Ubuntu:

apt-get install apache2-utils

CentOS / Fedora:

yum install httpd-devel

Instale o mod_evasive;

1º - Faça o download do pacote mod_evasive, descompacte-o e instale-o usando apxs:

cd /usr/src

wget https://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz

tar xzf mod_evasive_1.10.1.tar.gz

cd mod_evasive

apxs2 -cia mod_evasive20.c

2º - Para adicionar a configuração mod_evasive ao seu arquivo de configuração do Apache, encontre a seção apropriada para sua configuração do Apache:

Debian / Ubuntu:

Use o comando, nano /etc/apache2/apache2.conf

# Include module configuration:

Include mods-enabled/*.load

 

Include mods-enabled/*.conf

CentOS / Fedora:

Use o comando,  nano/etc/httpd/conf/httpd.conf

LoadModule evasive20_module /usr/lib/httpd/modules/mod_evasive20.so

3º - Abaixo dessa seção, adicione a configuração mod_evasive:

<IfModule mod_evasive20.c>

    DOSHashTableSize 3097

    DOSPageCount 2

    DOSSiteCount 50

    DOSPageInterval 1

    DOSSiteInterval 1

    DOSBlockingPeriod 60

    DOSEmailNotify <[email protected]ÍNIO.COM.BR>

</IfModule>

4º - Reinicie o Apache para que suas alterações entrem em vigor:

Debian / Ubuntu:

/etc/init.d/apache2 restart

CentOS / Fedora:

/etc/init.d/httpd restart

 

mod_evasive, opções de configuração permalink;

Essas descrições de opções de configuração foram obtidas diretamente do arquivo README empacotado com o tarball mod_evasive que você baixou durante a instalação.

ParteDeDashTableSize Permalink

O tamanho da tabela de hash define o número de nós de nível superior para a tabela de hash de cada criança. Aumentar esse número fornecerá um desempenho mais rápido, diminuindo o número de iterações necessárias para chegar ao registro, mas consumindo mais memória para o espaço de tabelas. Você deve aumentar isso se tiver um servidor web ocupado. O valor que você especificar será automaticamente escalonado até o próximo número primo na lista de primos (veja mod_evasive.c para uma lista de primos usados).

DOSPageCount Permalink

Esse é o limite para o número de solicitações para a mesma página (ou URI) por intervalo de página. Quando o limite para esse intervalo for excedido, o endereço IP do cliente será adicionado à lista de bloqueio.

DOSSiteCount Permalink

Esse é o limite para o número total de solicitações para qualquer objeto pelo mesmo cliente no mesmo ouvinte por intervalo de site. Quando o limite para esse intervalo for excedido, o endereço IP do cliente será adicionado à lista de bloqueio.

DOSPageInterval Permalink

O intervalo para o limite de contagem de páginas; O padrão é de intervalos de 1 segundo.

DOSSiteInterval Permalink

O intervalo para o limite de contagem de sites; O padrão é de intervalos de 1 segundo.

DOSBlockingPeriod Permalink

O período de bloqueio é a quantidade de tempo (em segundos) em que um cliente será bloqueado se ele for adicionado à lista de bloqueio. Durante este tempo, todos os pedidos subseqüentes do cliente resultarão em um 403 (Proibido) e o temporizador sendo reinicializado (por exemplo, outros 10 segundos). Como o temporizador é redefinido para cada solicitação subseqüente, não é necessário ter um longo período de bloqueio; no caso de um ataque DoS, este temporizador continuará sendo reiniciado.

DOSEmailNotify Permalink

Se esse valor for definido, um email será enviado para o endereço especificado sempre que um endereço IP ficar na lista negra. Um mecanismo de bloqueio usando / tmp impede o envio de e-mails contínuos.

Nota

Certifique-se de que MAILER esteja configurado corretamente em mod_evasive.c (ou mod_evasive20.c). O padrão é “/ bin / mail -t% s”, onde% s é usado para indicar o endereço de e-mail de destino definido na configuração. Se você está rodando em linux ou algum outro sistema operacional com um tipo diferente de mailer, você precisará mudar isso.

Permalink DOSSystemCommand

Se este valor for definido, o comando do sistema especificado será executado sempre que um endereço IP ficar na lista negra. Isso é projetado para ativar as chamadas do sistema para o filtro ip ou outras ferramentas. Um mecanismo de bloqueio usando / tmp evita chamadas contínuas do sistema. Use% s para indicar o endereço IP do IP na lista negra.

DOSLogDir Permalink

Escolha um diretório temporário alternativo

Por padrão, “/ tmp” será usado para o mecanismo de bloqueio, o que abre alguns problemas de segurança se o sistema estiver aberto aos usuários do shell. No caso de você ter usuários de shell não privilegiados, você vai querer criar um diretório gravável apenas para o usuário que o Apache está rodando como (geralmente root), então configure isso no seu httpd.conf.

Esta resposta lhe foi útil? 2917 Usuários acharam útil (6402 Votos)