Proteja-se Contra Ataque de Negação de Serviço com Mod Evasive

Postado em Atualizado em

en_t_dds_sh

Olá,

Mod_evasive é um módulo para Apache Web Server que previne ataques do tipo DDoS.  Ele é projetado para “barrar” conexões HTTP e HTTPS quando as mesmas ultrapassam os limites preestabelecidos.  Ataques de negação de serviço são cada vez mais comuns acredito que pela facilidade da realização de um ataque básico. O ataque baseia-se em executar no alvo  enormes quantidades de tráfego, em uma tentativa de deixá-lo inacessível.   Normalmente utilizamos o Apache em conjunto com o JBoss o que torna essa configuração essencial para termos um ambiente mais seguro e menos sujeito a ataques desse tipo.

Uma maneira rápida e simples de verificar se o servidor está sofrendo um ataque DDoS é verificar o número de conexões ativas que estão abertas no servidor. Se estiver acima de 500 é um indício de que um ataque pode estar ocorrendo. Para visualizar essas conexões execute:

 netstat -n | grep :80 |wc -l

Para instalar o Apache Web Server execute:

 sudo yum install httpd -y

Inicie o Apache:

 sudo service httpd start

Para ter certeza de que o Apache está realmente iniciado basta abrir o navegador e acessar o IP do servidor. O Apache estará respondendo por padrão na porta 80:

Apache

Agora precisamos “inundar” o nosso apache com requests. Para realização dos testes vamos utilziar o T50.

O T50 é uma ferramenta  para teste de invasão que permite a realização de ataques DoS(denial of service). Essa ferramenta foi criada  pelo brasileiro Nelson Brito.

Site oficial para Download do T50 http://t50.sourceforge.net.

Realize o download do arquivo t50-5.4.1-rc1.tgz ou siga os procedimentos abaixo:

 cd /tmp/
 wget http://downloads.sourceforge.net/project/t50/t50-5.4.1/t50-5.4.1-rc1.tgz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Ft50%2Ffiles%2Ft50-5.4.1%2F&ts=1370312029&use_mirror=ufpr
 tar -vxzf t50-5.4.1-rc1.tgz
 cd t50-5.4.1-rc1/src
 make -W Makefile

Agora o T50 está pronto para os ataques.

Execute o seguinte comando utilizando o IP do alvo que em nosso caso é o IP onde está o Apache Web Server:

 sudo ./t50 190.199.80.239 --flood --turbo -S --dport 80
 T50 is RFC 1700, RFC 1918 and RFC 3330 compliance

Perceba que um  erro foi gerado pois o T50 só permite ataques na rede interna. Para remover essa limitação edite o arquivo /tmp/t50-5.4.1-rc1/src/check.c e comente o bloco de código das linhas 67 até 112.  Para comentar utilize /* */.

Compile novamente:

 pwd
 /tmp/t50-5.4.1-rc1/src
 make -W Makefile

Execute novamente o T50:

 sudo ./t50 190.199.80.239 --flood --turbo -S --dport 80
 entering in flood mode...
 activating turbo...
 T50 5.4.1-rc1 successfully launched on Jun  3rd 2013 20:47:55

No servidor onde está o Apache execute o comando para verificar as conexões ativas e perceba o nível elevado  de conexões em nosso servidor devido ao ataque:

while true; do netstat -n | grep :80 |wc -l; sleep 1; done
0
0
33
42
100
100
128
175
228
231
228
296
359
413
413
413
472
472
472
472
472
474
474
474
474
474
474
474
474
474
474
474
474
485
505
543
541
538
540
540
539

Se tentar o acessar o Apache utilizando um navegador irá perceber a lentidão na resposta causada por esse ataque.

Para contornar essa situação vamos utilizar o Mod_evasive.  Para instalar execute:

 sudo  yum install mod_evasive -y

Ao ser instalado um arquivo em  /etc/httpd/conf.d/mod_evasive.conf é criado com a configuração padrão.

Execute novamente o ataque:

 sudo ./t50 190.199.80.239 --flood --turbo -S --dport 80
 entering in flood mode...
 activating turbo...
 T50 5.4.1-rc1 successfully launched on Jun  3rd 2013 20:54:43

No servidor execute o comando para verificar as conexões ativas e veja que se manteve mais estável e em determinado momentos as conexões começaram a ser negadas:

while true; do netstat -n | grep :80 |wc -l; sleep 1; done
0
0
0
0
17
95
95
95
123
188
226
273
270
284
327
374
372
394
442
446
446
446
448
448
448
448
448
448
450
450
450
450
450
450
450
450
450
450
450
450
296
296
299
260
239
239
266
218
191

As configurações default podem ser melhoradas! Existe muita coisa ai na web sobre esse assunto🙂

Espero que seja útil!

Abraços🙂

Links

Repositório:

6 comentários em “Proteja-se Contra Ataque de Negação de Serviço com Mod Evasive

    Diógenes Torres disse:
    4 de junho de 2013 às 21:29

    Mauricio, ótimo post! Parabéns.

      Mauricio Magnani Jr respondido:
      4 de junho de 2013 às 21:32

      Vlw Diógenes,

      É um bom módulo para ser utilizado com JBoss + Apache. Afinal hoje em dia tá complicado rsrs

      []s

    Ataxexe disse:
    11 de junho de 2013 às 10:09

    Muito bom!! Utilizamos uma solução parecida na rede de um tribunal aqui em Brasília que estava sofrendo não com DDoS e, sim, com robozinhos de captura de informações.

      Mauricio Magnani Jr respondido:
      11 de junho de 2013 às 10:39

      Vlw😀

      hehehe vai chegando as eleições e a coisa fica complicada ai em BSB!

      Cara faz uns testes com esse T50 o negocio é bom mesmo para arrebentar o servidor.

    Roncat disse:
    20 de junho de 2013 às 18:16

    Muito bem lembrado Ataxexe. Utilizamos o “mod_limitipconn” no APACHE.
    Vou testar o T50 agora mesmo.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s