Bloquear dinamicamente o uso excessivo de largura de banda HTTP?

24

Ficamos um pouco surpresos ao ver isso em nossos gráficos Cacti para o tráfego da Web em 4 de junho:

Executamos o Log Parser em nossos logs do IIS e, por acaso, foi uma tempestade perfeita entre o Yahoo e o Google nos indexando. Nesse período de 3 horas, vimos 287k hits de 3 IPs diferentes do Google, além de 104k do Yahoo. Ai?

Embora não desejemos bloquear o Google ou o Yahoo, isso já ocorreu antes. Temos acesso a um Cisco PIX 515E , e estamos pensando em colocar isso na frente para que possamos lidar dinamicamente com os infratores da largura de banda sem tocar diretamente em nossos servidores da web.

Mas essa é a melhor solução? Gostaria de saber se existe algum software ou hardware que possa nos ajudar a identificar e bloquear o uso excessivo de largura de banda , idealmente em tempo real? Talvez algum hardware ou software de código aberto possamos colocar na frente de nossos servidores da web?

Somos principalmente uma loja do Windows, mas também temos algumas habilidades em Linux; também estamos abertos a comprar hardware se o PIX 515E não for suficiente. O que você recomendaria?

Jeff Atwood
fonte

Respostas:

23

Se o seu PIX estiver executando a versão 7.2 ou superior do sistema operacional ou puder ser atualizado para ele, você poderá implementar políticas de QOS no nível do firewall. Em particular, isso permite moldar o tráfego e deve limitar a largura de banda usada pelos bots. A Cisco gosta muito disso aqui .

Sam Cogan
fonte
O único problema que tenho com essa resposta é que o pôster não deseja bloquear (ou degradar) o Google ou o Yahoo, mas quer que eles "rastreiem bem".
KPWINC
1
QOS não é sobre bloqueio. É por isso que Sam Cogan escreveu "deve permitir que você limite a largura de banda usada pelos bots".
Piotr Dobrogost 06/06/2009
9

Não tenho certeza do yahoo, mas você pode configurar a frequência dos índices de bot do Google no seu site. Dê uma olhada no Google Webmasters . Não tenho certeza se o Yahoo tem algo semelhante. Em qualquer um que reduza seu tráfego em até 50%.

Como alternativa, alguns servidores da Web podem limitar o tráfego por conexão, para que você possa tentar isso. Eu, pessoalmente, ficaria longe das soluções de hardware, pois provavelmente custará mais.

verificação
fonte
Yahoo! possui o Site Explorer.
30909 Amok
9

Para reduzir a carga de rastreamento - Isso funciona apenas com Microsoft e Yahoo. Para o Google, você precisará especificar uma velocidade de rastreamento mais lenta por meio das Ferramentas para webmasters ( http://www.google.com/webmasters/ ).

Seja MUITO cuidadoso ao implementar isso, porque se você desacelerar demais o rastreamento, os robôs não poderão acessar todo o site e você poderá perder páginas do índice.

Aqui estão alguns exemplos (estes estão no seu robots.txtarquivo):

# Yahoo's Slurp Robot - Please wait 7 seconds in between visits

User-agent: slurp
Crawl-delay: 7

# MSN Robot - Please wait 5 seconds in between visits

User-agent: msnbot
Crawl-delay: 5

Um pouco fora do tópico, mas você também pode especificar um arquivo de índice de Sitemap ou Sitemap.

Se você deseja fornecer aos mecanismos de pesquisa uma lista abrangente de seus melhores URLs, também é possível fornecer uma ou mais diretrizes de descoberta automática de Sitemap. Observe que o user agent não se aplica a esta diretiva, portanto, você não pode usá-lo para especificar um mapa do site para alguns, mas nem todos os mecanismos de pesquisa.

# Please read my sitemap and index everything!

Sitemap: http://yourdomain.com/sitemap.axd
KPWINC
fonte
4

Usamos um firewall Watchguard (o nosso é um X1000 que está em fim de vida agora). Eles têm muitos autores que giram em torno de domínios ou ips de bloqueio que são vistos repetidas vezes ou estão usando uma quantidade obsessiva de largura de banda.

Isso precisaria de alguns ajustes, porque você obviamente não gostaria de bloquear Jon Skeet no stackoverflow :)

Matt
fonte
3

Eu recomendaria o Microsoft ISA Server 2006. Especificamente para esse requisito, ele limitará a 600 solicitações HTTP / min por IP por padrão e você pode aplicar uma exceção ao Jon Skeet (desculpe, eu sei que a "brincadeira" já foi feita! )

Você tem os benefícios adicionais da filtragem no nível do aplicativo, a capacidade de balancear a carga em vários servidores da Web (em vez do NLB nesses servidores), a terminação da VPN etc. Há várias extensões comerciais disponíveis e você pode até escrever seu próprio filtro ISAPI se você está se sentindo corajoso.

Obviamente, não é de código aberto, mas traz benefícios para uma loja do Windows e roda em hardware comum.

Robin M
fonte
Esta é a abordagem mais flexível, juntamente com robots.txt modifyig
Jim B
Obrigado. Concordo que os rastreadores precisam receber alguma orientação!
Robin M
2

Usamos balanceadores de carga do Foundry (especificamente SI850s) para lidar com esse tipo de problema de modelagem, mas também lida com muitos outros 'desagradáveis' como inundações de SYN, etc.

Chopper3
fonte
2

Os produtos PacketShaper do Bluecoat (anteriormente Packeteer) podem reduzir dinamicamente o uso excessivo no tráfego gerenciado.

Kevin Kuphal
fonte
1

Você pode até executar uma limitação rudimentar de taxa com qualquer roteador Cisco normal de qualquer capacidade / vintage decente. Você está usando um roteador Cisco?

Brian Knoblauch
fonte