Combate à inundação de rede

3

meu site às vezes é atacado por pessoas. Você pode ver tal ataque às 18:00 e, mais tarde, em um ataque maior às 22:30. Basicamente, a placa de rede dos servidores é inundada por solicitações recebidas.

As minhas máquinas são unidades dedicadas quad core, 12GB ddr3, 4x SAS 15k RPM em RAID10 com CentOS5.6 64bit.

Neste servidor eu executo o Nginx como meu servidor web. Durante um ataque, não consigo acessar meu site porque toda a rede parece estar inundada. Quando ele parar, tudo voltará ao normal, sem a necessidade de reiniciar nada.

Eu endureci um pouco meu SYSCTL, veja as configurações aqui: link Minha configuração IPTABLES, é bem básica na verdade. Só é necessário ter as portas 80, 443, 21 e SSH abertas: link

A minha pergunta é: O que mais posso fazer para combater este tipo de ataques? Além disso, existe uma maneira de eu descobrir que tipo de ataque foi exatamente? *

A linha verde é a entrada de dados, a azul é a de saída.

    
por Mr.Boon 09.07.2011 / 10:02

2 respostas

7

Bem-vindo ao mundo maravilhoso da negação de serviço (distribuída) ou do DDoS. Resposta curta: fale com o seu ISP e peça-lhe para ajudá-lo a filtrar um DoS. Resposta mais longa:

Como parece que sua rede está ficando saturada, não há muito o que fazer com sua rede ou sistemas para se defender contra esses ataques - seu objetivo é inundar você com tanto tráfego que sua largura de banda de downstream está entupida lixo. Para corrigir isso, você precisará envolver seu ISP. Se você tiver sorte, os ataques são simples ataques DoS com um endereço de origem identificável e não falsificado. Seu ISP pode aplicar filtros a estes facilmente. Se você não tiver sorte, os ataques estão usando endereços de origem falsificados e / ou distribuídos entre uma botnet, tornando muito mais difícil filtrar (já que há um grande número de fontes). Ainda existem coisas que o seu ISP provavelmente pode fazer, mas elas ficam um pouco mais complicadas. Para se defender de verdade, é necessário analisar os serviços de mitigação de DDoS, como os oferecidos pela Arbor Networks, VeriSign, etc. Infelizmente, eles tendem a ser bem caros. Outra opção pode ser a implantação em uma rede de distribuição de conteúdo como a Akamai (no final caro) ou a Cloudflare (no final, embora o Cloudflare não seja um CDN completo).

Quanto a descobrir que tipo de ataque é, provavelmente você pode obter uma pista do próprio tráfego. Execute o tcpdump ou equivalente e veja que tipo de pacotes você está recebendo. Pode ser qualquer coisa, desde ICMP (por exemplo, inundações de ping) a UDP (por exemplo, um ataque de amplificação de DNS) até TCP (inundação síncrona). Com base no tráfego, eu apostaria em um simples ataque de inundação sem estado (ou seja, ICMP ou UDP). Isso é realmente uma sorte, já que um ataque de nível mais alto, por exemplo, um bando de zumbis de uma rede de bots inundando solicitações HTTP para a porta 80 ou 443, é muito mais difícil de lidar.

    
por 09.07.2011 / 10:18
0

Você pode adicionar um conjunto de regras para contar as solicitações de entrada de um ip e, em seguida, agir se elas excederem um tresshold, soltar o ip por alguns minutos

    
por 09.07.2011 / 13:15