DDOS por vários IPs com uma conexão [duplicado]

3

Eu tenho um site que estava sendo atingido com DDOS na mesma hora todos os dias durante o mês passado, e depois de passar um mês pesquisando e identificando o bug, criamos um script que, se a conexão está atingindo mais de 80+ conexões em um minuto, o IP é banido e colocado no IPTABLES.

Isso funcionou muito bem por dois dias e eu senti que finalmente resolvi o problema.

Mas, infelizmente, agora a pessoa está enviando vários IPs com apenas uma conexão em cada um (revise a saída aqui link ). Isso está derrubando o site exatamente como quando um IP enviava 150 conexões por minuto.

Isto, obviamente, é um jogo completamente diferente quando se trata de prevenir um DDOS, e eu estou procurando ajuda dos gurus e qualquer pessoa boa o suficiente para se importar, para dar alguns conselhos. Neste ponto, estou perdido sobre como consertar isso, e qualquer ajuda seria muito apreciada.

    
por HollerTrain 24.01.2011 / 16:23

3 respostas

5

Como Niall mencionou, o mod_evasive funciona muito bem nessa situação e recentemente usei-o para parar um problema muito similar que eu estava tendo em um dos meus sites. Isso ajuda na situação em que você não está recebendo muitas conexões em um único IP, mas vê padrões não naturais ocorrendo no servidor.

No meu caso, eu também bloguei sobre aqui , eu instalei mod_evasive e configurei com as seguintes configurações:

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 3
DOSSiteCount 100
DOSPageInterval 3
DOSSiteInterval 5
DOSBlockingPeriod 300
DOSLogDir "/var/log/httpd/modevasive/"
DOSEmailNotify [email protected]
</IfModule>

Basicamente, se um único IP solicitar o mesmo recurso (arquivo) 3 vezes em 5 segundos; ou 100 acessos em qualquer arquivo dentro de 5 segundos; O Apache, em seguida, negará mais solicitações para esse arquivo.

Se você quiser aprimorar este script; você pode ter comandos do sistema acionados quando seus parâmetros são atingidos. No meu caso, adicionei este comando à configuração acima:

DOSSystemCommand "/usr/bin/sudo /usr/sbin/csf -td %s 3600"

Isso faz com que meu firewall CSF bloqueie o IP por uma hora. Você poderia facilmente escrever um script iptables para fazer a mesma coisa, mas o CSF torna isso fácil para mim.

De qualquer forma, espero que ajude você a atacar seus atacantes DDOS!

    
por 24.01.2011 / 17:13
2

Você pode usar o iptables para limitar o número de conexões por IP ao serviço, a fim de mitigar o DDoS até que seu script do iptables os capture

iptables -A INPUT -p tcp -m limit --limit 3/s --dport DESTINATIONPORT --limit-burst 10 -m state --state NEW -j ACCEPT

Isso limitará as novas conexões a 3 por segundo, com um máximo de 10 conexões.

Certifique-se de ajustar isso às suas necessidades, 3 conexões por segundo é bastante baixo, dependendo do tráfego que seu servidor está executando

    
por 24.01.2011 / 16:31
0

Supondo que você esteja executando o Apache, mod_evasive pode ser útil.

    
por 24.01.2011 / 16:32