Apache obtendo DDoS [duplicado]

2

Meu servidor apache está recebendo atualmente o DDoSed. Parece que todo o tráfego é de referências do servidor de arquivos de um site de compartilhamento de arquivos russo. Como posso bloquear apenas o tráfego proveniente do site comprometido?

    
por devnill 17.12.2011 / 17:21

4 respostas

8

Nenhuma dessas respostas acima ajudará.

Se o seu site estiver sob um ataque DDoS, a única fonte real e útil de ajuda é a forma do contato técnico no seu provedor de upstream.

Sim, você pode negar e descartar pacotes na borda da sua rede, mas isso não fará diferença se sua conexão já tiver sido saturada pelo tráfego vindo do lado de fora .

Você precisa trabalhar com o seu provedor para eliminar o tráfego quando ele chegar ao lado de fora de sua rede, que tem muita capacidade redundante excedente, e é muito mais fácil aplicar blocos de rotas nulas inteiras.

Alterar iptables, ou reescrever no seu servidor, pode dar a impressão de que você parou de atacar, mas é como tentar colocar um bandaid sobre uma artéria cortada.

O grande volume de tráfego de ataque pode até sobrecarregar o seu kernel, se ele estiver fazendo coisas do iptables, deixar o tráfego ocupar o tempo da CPU também. Obtenha seu provedor ISP / Transit para fazer isso.
É mais fácil do ponto de vista deles também.

    
por 17.12.2011 / 20:36
2

Você pode defender seu site do DoS (de qualquer site) por um número limite simples de conexões existentes por IP com o iptables

Esta regra rejeita mais de 10 conexões de um ip:

iptables -A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with tcp-reset

E isso registra os incidentes:

iptables -A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j LOG --log-prefix "ABOVE_LIMIT"

O número de conexões é apenas um exemplo, você deve definir seu próprio valor. Mas se você sabe que neste momento o DoS está inundando você deste site russo bloqueia este ip permanentemente

iptables -I INPUT -s X.X.X.X -j DROP

Onde x.x.x.x é o endereço IP deste site.

    
por 17.12.2011 / 18:45
1

A maioria dos ataques DDoS vem de vários endereços IP, portanto, bloquear apenas um único endereço IP pode não "corrigir o problema". No entanto, para que possamos ajudá-lo (em um verdadeiro ataque DDoS), precisaríamos de muito mais informações, como que tipo de DDoS é isso - inundação SYN, inundação ICMP, outra coisa, etc ...

Para responder à sua pergunta específica ...

How can I block only the traffic which is coming from the compromised site?

Dependendo do seu sistema operacional (é o Ubuntu? CentOS? Outra coisa?) e como é configurado (é um VPS? servidor físico que você possui?), você pode usar tabelas IP para bloquear solicitações provenientes de um específico Endereço IP:

iptables -I INPUT -s 1.2.3.4 -j DROP

Se isso não responder à sua pergunta, forneça mais informações sobre suas configurações, arquivos de log, arquitetura do servidor, o que exatamente está acontecendo etc.

    
por 17.12.2011 / 18:24
0

Se por DDoS você quer dizer que muitos usuários comuns acessam sua web e baixam algo, sua melhor aposta é rejeitar esses pedidos pelo referenciador.

Você encontrará melhor observando os logs (compartilhando algumas linhas?).

Então você configura algo assim. Você ainda terá muitas conexões, mas elas serão rejeitadas rapidamente e não carregarão muito seu apache.

RewriteEngine on
RewriteCond %{HTTP_REFERER} referingsite.com [NC]
RewriteRule .* - [F]

Ou você pode fazer isso de outra forma e rejeitar todas as solicitações que não tenham referências ou referências vazias de seu site.

Claro que se for apenas DDoS comum, isso não ajudará.

    
por 17.12.2011 / 20:28