sexta-feira, 8 de abril de 2016

Protegendo o Apache do Linux contra DoS e DDoS com o Módulo Mod Evasive


O Mod Evasive é um dos meus módulos favoritos do Apache junto ao Mod Security. Eles é um modulo preparado para cachear e lidar com altas requisições ao servidor apache, aumentando a capacidade de carga do mesmo e prevenindo uma boa parte de ataques DoS e DDoS direcionados.

Fazendo um teste com a ferramenta SlowLoris em um servidor apache Default por cerca de 30 segundos, foram capturadas mais de 10000 requisições e deixando o servidor indisponível de quase tão lento. Lentidão provocada pelo numero de requisições DNS realizadas. Vamos efetuar a instalação e configuração do Mod_Evasive.



Instalando o ModEvasive via repositório
 # apt-get install libapache2-mod-evasive  

Crie o diretório de Logs do Mod Evasive
 # mkdir -p /var/log/apache2/evasive  
 # chown -R www-data:root /var/log/apache2/evasive   

Agora vamos editar o arquivo de configuração do Mod_Evasive e parametrizar o nosso apache para identificar um ataque
 # vim /etc/apache2/mods-available/evasive.load  
Você terá que ver algo parecido com
 LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so  

Agora edite o arquivo evasive.conf  para definir os parâmetros de configuração. Você terá que descomentar os itens que deseja usar
 # vim /etc/apache2/mods-available/evasive.conf   
 <IfModule mod_evasive20.c>  
   #DOSHashTableSize  3097  
   #DOSPageCount    2  
   #DOSSiteCount    50  
   #DOSPageInterval   1  
   #DOSSiteInterval   1  
   #DOSBlockingPeriod  10  
   
   #DOSEmailNotify   you@yourdomain.com  
   #DOSSystemCommand  "su - someuser -c '/sbin/... %s ...'"  
   #DOSLogDir      "/var/log/apache2/evasive/"  
 </IfModule>  
   

 DOSEmailNotify sammy@example.com :: E-mail de modificação.  
 DOSWhitelist 192.168.2.10 :: Whitelist do ModEvasive  
 DOSPageCount 20 :: É o numero de requisições que poderão ser efetuadas pelo mesmo IP dentro de um intervalo de 1 segundo   
 DOSSiteCount 100 :: É o numero de requisições que poderão ser efetuadas pelo mesmo IP vindo de X Web Site  
 DOSBlockingPeriod 10 é a quantidade de tempo em segundos que o site será bloqueado para aquele IP. Durante esse tempo o cliente receberá um 403 forbidden.  


Veja também: 



Configure da forma que desejar e restarte o apache :)

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

4 comentários:

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com