Alguém da China quer matar minha largura de banda de entrada?

2

Someoen da china com dois ip diferentes está baixando o mesmo arquivo grande do meu servidor. Seu ip é:

  • 122.89.45.210
  • 60.210.7.62

Eles solicitam esse arquivo e fazem o download mais de 20 vezes por minuto.

O que posso fazer para evitar isso? (Eu estou no gentoo com acesso root)

E por que eles fazem isso em um site que não tem nada a ver com a China?

ADD1:

Outros ips:

  • 221.8.60.131
  • 124.67.47.56
  • 119.249.179.139
  • 60.9.0.176

ADD2:

a coisa estúpida é que eles estão solicitando apenas um único arquivo lol. Ou eles querem que o arquivo seja removido (porque eu não vejo por quê) ou eles são muito estúpidos

ADD3:

A situação está piorando. IP estão se espalhando de outros países também (EUA e Coréia se www.geobytes.com/iplocator.htm está certo) E agora eles estão solicitando outro arquivo.

ADD4:

parece depois que eles perceberam que eu removi o arquivo eles pararam de me atacar . Vou monitorar a situação.

Eles começaram novamente após um sono de 3-4 minutos com o mesmo arquivo (sorte minha). Difícil dizer por que isso está acontecendo

    
por dynamic 21.02.2011 / 02:14

5 respostas

4

Apenas 2 endereços IP ... Você pode bloquear facilmente os IPs usando o iptables

iptables -I INPUT -s 122.89.45.210 -j DROP
iptables -I INPUT -s 260.210.7.62 -j DROP

EDITAR

Como os endereços IP estão crescendo, você pode considerar fazer algo um pouco mais drástico. Você tem alguma necessidade de atender endereços IP chineses? Caso contrário, você pode tentar usar o site a seguir para ajudar a bloquear todo o país. Apenas lance os resultados em seu arquivo .htaccess:

link

Outra edição

Existe algo mais comum em todas as solicitações? O agente do usuário é o mesmo? Isso poderia facilmente ajudar no bloqueio dos ataques.

    
por 21.02.2011 / 02:18
2

Eu não sei qual SO você está usando no seu servidor, mas eu acho que é uma distribuição UNIX (Debian, Ubuntu, Slackware, etc).
A maneira fácil de se proteger do DoS é instalando o Fail2Ban ( link ). É fácil de instalar e usar. Eu estou usando para proteção SSH porque eu recebo um monte de ataques ssh dos. O programa verifica os arquivos de log e verifica se há mensagens repetidas (por exemplo, login com falha, muitas conexões, como na sua situação).

Você terá que ajustar um pouco para ler corretamente o arquivo de log do seu servidor web. Se você conseguir fazer isso, você pode limitar o acesso - ou seja, você pode limitar 50 tentativas de solicitações GET em 1 segundo por 1 ip. Quando o limite é atingido, o endereço IP é banido por X hora. Isso ajudará você a salvar sua banda e a não se preocupar se esse ataque vier de outro endereço.

Espero que isso ajude você :)


Editar 1:

Eu lembrei que há um módulo para o apache que pode limitar essas coisas - mod_evasive. Pessoalmente eu nunca usei, mas muitas pessoas se referem a ele como "coisas boas". Eu encontrei um tutorial para você que pode ajudá-lo - link Confira e veja se isso pode atender às suas necessidades.

    
por 21.02.2011 / 03:21
1

O que você precisa fazer é entrar em contato com seu provedor de upstream. a maioria dos ataques de dodos de rota nula virá em você; quanto aos IPs dos EUA comunicarem ao seu provedor de Internet que esses IPs estão atacando você e eles geralmente conversarão com o costume que geralmente é um robô que está atacando seus problemas, e por isso que vem principalmente de países asiáticos.

    
por 21.02.2011 / 03:27
0

Quais efeitos esse DDoS está causando?

Se for uso da CPU, tente alternar para algo como nginx para veicular seu conteúdo estático.

Se for largura de banda, você pode classificar solicitações de limite usando algo como mod_bandwidth.

Uma coisa a ter em mente: já vi situações como essa antes, às vezes elas não são ataques, mas sim pessoas que usam "aceleradores de download". Eles abrem uma tonelada de conexões para o servidor de uma vez, com base na ideia (com defeito) de que mais conexões = mais largura de banda. Para consertar isso, instalei o nginx na porta 81 e usei algumas regras de .htaccess para forçar o conteúdo a ser baixado apenas via nginx. O Nginx lidou com os pedidos sem esforço, e eu não precisei me preocupar com a reconfiguração do servidor web, nem com o tráfego lento para usuários legítimos.

    
por 22.02.2011 / 03:18
-1

iptables & ipset para o resgate!

Primeiro, faça um conjunto de IPs:

ipset -N Attackers iphash
for ip in $LIST_OF_IP; do ipset -A Attackers $ip; done

Em seguida, crie regras:

iptables -t raw -I PREROUTING -m set --match-set Attackers src -j DROP

Ou, se você estiver se sentindo mal:

iptables -t raw -I PREROUTING -m set --match-set Attackers src -g trap_attackers
iptables -t raw -A trap_attackers -j NOTRACK
iptables -t raw -A trap_attackers -j ACCEPT
iptables -I INPUT -m conntrack --ctstate UNTRACKED -j TARPIT

Sempre que houver um novo invasor, adicione seu IP ao conjunto:

ipset -A Attackers a.b.c.d

O acima pode ser automatizado usando uma combinação de -m match , -m recent e -j SET , por ex. -m match --string "GET http://url/to/offending/file" -m recent --seconds 60 --hitcount 2 -j SET --add-set Attackers src

Nota: Certifique-se de que o suporte para raw table, ipset e TARPIT seja compilado no seu kernel do Gentoo (ou como módulos).

    
por 10.03.2011 / 08:48