você está aqui: Home  → Arquivo de Mensagens

Como agir em casos de ataque do tipo Denial of Service - DOS

Colaboração: Aldemari Borges

Data de Publicação: 07 de fevereiro de 2011

Para proteger o seu servidor de ataques do tipo DOS (Denial of Service), você pode agir de duas formas: implantando regras em seu firewall que rejeitem tentativas repetidas de acesso, a partir de um mesmo endereço IP e através da instalação de um módulo do apache que atue na mesma linha.

Detalhamos a seguir os passos a serem seguidos:

Passo 1: Adicionar regras em cada servidor Apache que responder pelo domínio a proteger, como abaixo:

Adicionar estas linhas de IPTABLES no Linux:

  <root@~># iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
  <root@~># iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 6 -j DROP

Passo 2: Utilizar o módulo mod_qos(http://sourceforge.net/projects/mod-qos/)

Pré-requisitos básicos

  1. apache2-threaded-dev(Este pacote fornece os cabeçalhos de desenvolvimento e o binário apsx2 para versões do apache2 com fluxos de execução paralelos.

    Ver: http://packages.ubuntu.com/maverick/apache2-threaded-dev);

  2. gcc(Este é o compilador C da GNU, um compilador otimizado realmente portável para C. Ver: http://packages.ubuntu.com/maverick/gcc)

Façamos então a instalação do mod_qos(Ubuntu 10.10):

Para 32 bits

  wget http://pixie.sd.chgo.fastservers.net/ubuntu/pool/universe/liba/libapache2-mod-qos/libapache2-mod-qos_9.25-1_i386.deb
  dpkg -i libapache2-mod-qos_9.25-1_i386.deb

Para 64 bits

  wget http://pixie.sd.chgo.fastservers.net/ubuntu/pool/universe/liba/libapache2-mod-qos/libapache2-mod-qos_9.25-1_amd64.deb
  dpkg -i libapache2-mod-qos_9.25-1_amd64.deb

Crie o arquivo de configuração do módulo, como abaixo:

  vi /etc/apache2/mods-available/qos.conf
  
  <IfModule mod_qos.c>
      # handles connections from up to 100000 different IPs
      QS_ClientEntries 100000
      # will allow only 50 connections per IP
      QS_SrvMaxConnPerIP 50
      # maximum number of active TCP connections is limited to 256
      MaxClients              256 
      # disables keep-alive when 70% of the TCP connections are occupied:
      QS_SrvMaxConnClose      180
      # minimum request/response speed (deny slow clients blocking the server,
      # ie. slowloris keeping connections open without requesting anything):
      QS_SrvMinDataRate       150 1200
      # and limit request header and body (carefull, that limits uploads and
      # post requests too):
      # LimitRequestFields      30
      # QS_LimitRequestBody     102400
  </IfModule>

Agora basta adicionar o módulo ao apache e reinicializar o apache:

  a2enmod qos
  /etc/init.d/apache2 restart

Para verificar o funcionamento do módulo, acesse através de um navegador, como abaixo:

  http://localhost/server-status


 

 

Veja a relação completa dos artigos de Aldemari Borges

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script