Caso esteja sofrendo um ateque de DDOS abaixo temos algumas dicas para linux.

– Utilize o Módulo Dos_Evasive (Apache)

Baixe o Módulo atual em http://www.nuclearelephant.com/projects/mod_evasive/

# wget http://www.linuxsvr.net/nocwork/security/mod_dosevasive-current.tar.gz
# tar -xzvf mod_dosevasive-current.tar.gz
# cd mod_dosevasive*
# /usr/local/apache/bin/apxs -i -a -c mod_dosevasive.c
# rm -rf mod_dosevasive-current.tar*

Edite o httpd.conf e inclua as linhas abaixo:

para Apache v1.3:
<IfModule mod_dosevasive.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>

para Apache v2.0:
<IfModule mod_dosevasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>

– Utilize o APF Firewall

Baixe o módulo atual em http://www.r-fx.org/downloads/apf-current.tar.gz

# tar -xvzf apf-current.tar.gz
# cd apf*
# sh ./install.sh
# rm -rf apf*

Edite o arquivo conf.apf em /etc/apf e altere a linha abaixo

Troque
USE_AD=”0″
Por
USE_AD=”1″

Explore este arquivo, existem diversas outras opções que podem melhorar a perfomance.

– O filtro abaixo pode ser utilizado para gerenciar a resposta a pacotes e Syn´s.

Edite o arquivo /etc/rc.d/rc.local e adicione as linhas abaixo:

##### Begin DoS Prevention #####
# shut some DoS stuff down
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# increase the local port range
echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range

# increase the SYN backlog queue
echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog

echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 0 > /proc/sys/net/ipv4/tcp_timestamps

echo 64000 > /proc/sys/fs/file-max

ulimit -n 64000

# stop source routing
for i in /proc/sys/net/ipv4/conf/*/accept_source_route
do
echo 0 > $i
done

# enable reverse-path filtering
for i in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $i
done
##### End DoS Prevention #####

É importante saber que bloquear um ataque Ddos usando software é possível em apenas 20% dos casos, e que é necessário perícia e conhecimento técnico avançado para isso.

Algumas outras dicas são:

  • rate limit your router to prevent your Web server being overwhelmed
  • adicione filtros no seu roteador para dropar pacotes dos enderços de origem.
  • configure um timeout mais agrecivo para conexões half-open
  • drop spoofed ou pacotes mal formados
  • configure lower SYN, ICMP, and UDP flood drop thresholds

Para saber mais:
http://www.cert-rs.tche.br/docs_html/ddos.html
http://www.invasao.com.br/coluna-bytes-03.htm
http://www.istf.com.br/vb/showthread.php?t=3231
http://en.wikipedia.org/wiki/Denial_of_service
http://www.ddosworld.com
http://staff.washington.edu/dittrich/misc/ddos
http://www.ebcvg.com/articles.php?id=236
http://www.rnp.br/newsgen/0003/ddos.html
http://www.securitydocs.com/library/2774