Bloqueio dinâmico de uso excessivo de largura de banda HTTP?

23

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

link

Executamos o Log Parser em nossos logs do IIS e acontece que essa foi uma tempestade perfeita do Yahoo e do Google bots nos indexando .. nesse período de 3 horas, vimos 287k hits de 3 diferentes google ips, mais 104k do yahoo. Ai?

Embora não queiramos bloquear o Google ou o Yahoo, isso aconteceu antes. Temos acesso a um Cisco PIX 515E e estamos pensando colocando isso na frente para que possamos lidar dinamicamente com os infratores de largura de banda sem tocar nossos servidores diretamente.

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 um pouco de hardware ou software de código aberto que possamos colocar na frente de nossos servidores web?

Somos principalmente uma vitrine, mas também temos algumas habilidades de linux; Também estamos abertos para comprar hardware se o PIX 515E não for suficiente. O que você recomendaria?

    
por Jeff Atwood 05.06.2009 / 11:50

8 respostas

22

Se o seu PIX estiver executando a versão 7.2 ou superior do SO, ou puder ser atualizado para ele, você poderá implementar as políticas do QoS no nível do firewall. Em particular, isso permite configurar o tráfego e permitir que você limite a largura de banda usada pelos bots. A Cisco tem um bom gudie para este aqui .

    
por 05.06.2009 / 11:58
8

Não tenho certeza sobre o yahoo, mas você pode configurar a frequência com que o bot do Google indexa seu site. Dê uma olhada nos Google Webmasters . Não tenho certeza se o Yahoo tem algo parecido. Em qualquer um deles, você reduzirá 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, já que provavelmente custará mais.

    
por 05.06.2009 / 15:16
8

Para reduzir a carga de rastreamento - Isso só funciona com a Microsoft e o Yahoo. Para o Google, você precisa especificar uma velocidade de rastreamento mais lenta por meio das Ferramentas do Google para webmasters ( link ).

Tenha muito cuidado ao implementar isso, porque se você diminuir muito o rastreamento, os robôs não poderão acessar todo o seu site, e você poderá perder páginas do índice.

Aqui estão alguns exemplos (estes aparecem no seu arquivo robots.txt ):

# 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

Ligeiramente fora do assunto, 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 diretivas de descoberta automática do Sitemap. Por favor, note que user-agent não se aplica a esta diretiva, então você não pode usar isso para especificar um sitemap para alguns, mas nem todos os motores de busca.

# Please read my sitemap and index everything!

Sitemap: http://yourdomain.com/sitemap.axd
    
por 05.06.2009 / 21:29
3

Nós usamos um firewall Watchguard (o nosso é um X1000 que é o fim da vida agora). Eles têm muitas feautres girando em torno de domínios ou ips que são vistos uma e outra vez ou estão usando uma quantidade excessiva de largura de banda.

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

    
por 05.06.2009 / 20:02
2

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ê poderá aplicar uma exceção para Jon Skeet (desculpe, eu percebi que a "piada" foi feito já!).

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

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

    
por 06.06.2009 / 02:08
1

Usamos balanceadores de carga Foundry (especificamente SI850s) para lidar com esse tipo de problema de modelagem, ele também lida com muitos outros 'nastys' como inundações SYN, etc. Pode ser um pouco exagerado para vocês.

    
por 05.06.2009 / 11:58
1

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

    
por 05.06.2009 / 17:03
0

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

    
por 05.06.2009 / 21:11