¿Bloquear dinámicamente el uso excesivo de ancho de banda HTTP?

24

Nos sorprendió un poco ver esto en nuestros gráficos de Cacti para el tráfico web del 4 de junio:

Ejecutamos Log Parser en nuestros registros de IIS y resultó que fue una tormenta perfecta de robots de Yahoo y Google que nos indexaron ... en ese período de 3 horas, vimos 287k visitas de 3 IP de Google diferentes, más 104k de Yahoo. ¿Ay?

Si bien no queremos bloquear Google o Yahoo, esto ha surgido antes. Tenemos acceso a un Cisco PIX 515E , y estamos pensando en ponerlo al frente para que podamos lidiar dinámicamente con los infractores de ancho de banda sin tocar nuestros servidores web directamente.

¿Pero es esa la mejor solución? Me pregunto si hay algún software o hardware que pueda ayudarnos a identificar y bloquear el uso excesivo de ancho de banda , idealmente en tiempo real. ¿Quizás un poco de hardware o software de código abierto que podamos poner delante de nuestros servidores web?

Somos principalmente una tienda de Windows, pero también tenemos algunas habilidades de Linux; También estamos abiertos a comprar hardware si el PIX 515E no es suficiente. ¿Qué recomendarías?

Jeff Atwood
fuente

Respuestas:

23

Si su PIX está ejecutando la versión 7.2 o superior del sistema operativo, o puede actualizarse a él, entonces puede implementar políticas de QOS en el nivel de firewall. En particular, esto le permite dar forma al tráfico y debería permitirle limitar el ancho de banda utilizado por los bots. Cisco tiene un buen gusto por esto aquí .

Sam Cogan
fuente
El único problema que tengo con esta respuesta es que el póster no quiere BLOQUEAR (o degradar) Google o Yahoo, sino que quiere que "gateen bien".
KPWINC
1
QOS no se trata de bloquear. Es por eso que Sam Cogan escribió "debería permitirte limitar el ancho de banda utilizado por los bots".
Piotr Dobrogost
9

No estoy seguro acerca de Yahoo, pero puedes configurar la frecuencia con la que el robot de Google indexa tu sitio. Echa un vistazo a los webmasters de Google . No estoy seguro si Yahoo tiene algo similar. En cualquier caso, eso reducirá su tráfico hasta un 50%.

Alternativamente, algunos servidores web pueden limitar el tráfico por conexión para que pueda intentarlo. Personalmente, me mantendría alejado de las soluciones de hardware, ya que es muy probable que cueste más.

buecking
fuente
Yahoo! tiene Site Explorer.
Amok
9

Para reducir la carga de rastreo: esto solo funciona con Microsoft y Yahoo. Para Google, deberá especificar una velocidad de rastreo más lenta a través de sus Herramientas para webmasters ( http://www.google.com/webmasters/ ).

Tenga MUCHO cuidado al implementar esto porque si ralentiza demasiado el rastreo, los robots no podrán acceder a todo su sitio y puede perder páginas del índice.

Aquí hay algunos ejemplos (estos van en su robots.txtarchivo):

# 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

Ligeramente fuera de tema, pero también puede especificar un Sitemap o un archivo de índice de Sitemap.

Si desea proporcionar a los motores de búsqueda una lista completa de sus mejores URL, también puede proporcionar una o más directivas de detección automática de Sitemap. Tenga en cuenta que user-agent no se aplica a esta directiva, por lo que no puede usarla para especificar un mapa del sitio para algunos, pero no para todos, los motores de búsqueda.

# Please read my sitemap and index everything!

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

Utilizamos un cortafuegos Watchguard (el nuestro es un X1000 que está al final de su vida útil ahora). Tienen muchas características que giran en torno al bloqueo de dominios o ips que se ven una y otra vez o están utilizando una cantidad obsesiva de ancho de banda.

Esto necesitaría algunos ajustes porque obviamente no querrías bloquear a Jon Skeet en stackoverflow :)

Mate
fuente
3

Recomiendo Microsoft ISA Server 2006. Específicamente para este requisito, limitará a 600 solicitudes HTTP / min por IP de forma predeterminada y puede aplicar una excepción para Jon Skeet (lo siento, ¡me doy cuenta de que ya se ha hecho una "broma"! )

Tiene los beneficios adicionales del filtrado a nivel de aplicación, la capacidad de equilibrar la carga en varios servidores web (en lugar de NLB en esos servidores), la terminación de VPN, etc. Hay varias extensiones comerciales disponibles e incluso puede escribir su propio filtro ISAPI si te sientes valiente

Obviamente no es de código abierto, pero tiene beneficios para una tienda de Windows y se ejecuta en hardware básico.

Robin M
fuente
Este es el enfoque más flexible junto con modificarig robots.txt
Jim B
Gracias. Estoy de acuerdo en que los rastreadores deben recibir alguna dirección.
Robin M
2

Utilizamos los equilibradores de carga de Foundry (específicamente SI850) para manejar este tipo de problema de configuración, también maneja muchos otros 'nastys' como SYN-floods, etc. Sin embargo, podría ser un poco excesivo para ustedes.

Chopper3
fuente
2

Los productos Bluecoat (anteriormente Packeteer) PacketShaper pueden limitar dinámicamente el uso excesivo del tráfico que administra.

Kevin Kuphal
fuente
1

Incluso puede realizar una limitación de velocidad rudimentaria con cualquier enrutador Cisco regular de cualquier capacidad decente / vintage. ¿Estás usando un enrutador Cisco?

Brian Knoblauch
fuente