5 votos

El bloqueo de yandex.ru bot

Quiero bloquear todos los de la solicitud de yandex.ru robot de búsqueda. Es muy tráfico intensivo (2 GB/día). Por primera vez me bloquearon uno de clase C rango de IP, pero parece que este bot aparecen de diferentes rangos de IP.

Por ejemplo:

spider31.yandex.ru -> 77.88.26.27 spider79.yandex.ru -> 95.108.155.251 etc..

Puedo poner algunos niegan en robots.txt pero no estoy seguro si es respecto a esto. Estoy pensando en el bloqueo de una lista de rangos de IP.

Puede alguien sugerir alguna solución general.

3voto

Daniel Puntos 41

Yo soy demasiado joven aquí (reputación) para publicar todas las direcciones Url necesito como de los hipervínculos, así que perdón por mi entre paréntesis Url, por favor.

El enlace de foro de Dan Andreatta, y este otro, tienen algunos, pero no todos lo que usted necesita. Usted querrá usar su método de búsqueda de los números IP, y la secuencia de comandos de algo para mantener a tus listas fresco. A continuación, usted desea algo como esto, para mostrar algunos de los valores conocidos, incluyendo la sub-esquemas de asignación de nombres de dominio que han estado utilizando. Mantener un crontabbed ojo en sus rangos de IP, tal vez automatizar algo para estimar razonable CIDR (no he encontrado ninguna mención de su asignación real; sólo podría ser google fallar @ mí).

Encontrar su rango de IP(s) con la mayor precisión posible, así que usted no tiene que perder el tiempo haciendo un DNS inverso mirar hacia arriba, mientras que los usuarios están esperando (http://yourdomain/notpornipromise), y en su lugar sólo lo estás haciendo una comparación partido o algo. Google sólo me mostró grepcidr , que tiene un aspecto muy relevante. A partir de la página enlazada: "grepcidr puede ser usado para filtrar una lista de direcciones IP en contra de uno o más Classless Inter-Domain Routing (CIDR) especificaciones o arbitrarias redes especificada por un rango de direcciones." Supongo que es bueno que un propósito construido con código conocido de e/S, pero usted sabe que usted puede reproducir la función en millones de maneras diferentes.

La mayoría, la "solución general", creo que para esto y en realidad desean compartir (hablando de las cosas en existencia y todo lo que es para usted para empezar a escribir en una base de datos de tales delincuentes en su ubicación(s), y pasar algunas horas de pensar y de investigar sobre las formas de defender y contrarrestar el ataque de la conducta. Esto se lleva a profundizar en la detección de intrusos, análisis de patrones, y la miel de las redes, que el alcance de esta pregunta específica verdaderamente lo merece. Sin embargo, en el ámbito de aplicación de esta investigación son innumerables respuestas a esta pregunta que usted ha pedido.

He encontrado esto debido a Yandex del comportamiento interesante en uno de mis propios sitios. Yo no llamaría a lo que yo veo en mi propio registro abusivo, pero spider50.yandex.ru consume el 2% de mi visita a contar, y el 1% de mi ancho de banda... puedo ver que el bot sería verdaderamente abusivo para archivos de gran tamaño en foros y tal, ninguno de los cuales están disponibles para el abuso en el servidor que estoy mirando en el día de hoy. ¿Qué fue lo suficientemente interesante como para justificar una investigación fue el bot mirando /robots.txt, a continuación, a la espera de 4 a 9 horas y pidiendo un /directorio/ no, entonces, a la espera de 4 a 9 horas, pidiendo /another_directory/, entonces tal vez un poco más, y /robots.txt de nuevo, repetir ad finitum. La medida de frecuencia que va, supongo que está bien comportado bastante, y el spider50.yandex.ru la máquina parecía respeto /robots.txt.

Estoy planeando no les cuadra de este servidor el día de hoy, pero yo si he compartido Ross de la experiencia.

Para la referencia en el pequeño números de los que estamos tratando en mi servidor el caso de hoy:

Top 10 of 1315 Total Sites By KBytes
 # Hits  Files  KBytes   Visits  Hostname
 1 247 1.20% 247 1.26% 1990 1.64% 4 0.19% ip98-169-142-12.dc.dc.cox.net
 2 141 0.69% 140 0.72% 1873 1.54% 1 0.05% 178.160.129.173
 3 142 0.69% 140 0.72% 1352 1.11% 1 0.05% 162.136.192.1
 4 85 0.41% 59 0.30% 1145 0.94% 46 2.19% spider50.yandex.ru
 5 231 1.12% 192 0.98% 1105 0.91% 4 0.19% cpe-69-135-214-191.woh.res.rr.com
 6 16 0.08% 16 0.08% 1066 0.88% 11 0.52% rate-limited-proxy-72-14-199-198.google.com
 7 63 0.31% 50 0.26% 1017 0.84% 25 1.19% b3090791.crawl.yahoo.net
 8 144 0.70% 143 0.73% 941  0.77% 1 0.05% user10.hcc-care.com
 9 70 0.34% 70 0.36% 938  0.77% 1 0.05% cpe-075-177-135-148.nc.res.rr.com
10 205 1.00% 203 1.04% 920  0.76% 3 0.14% 92.red-83-54-7.dynamicip.rima-tde.net

Que en un host que no molesta incluso nivelación ancho de banda más, y si el rastreo tomó algunas DDoS-como la forma, que sería probablemente el aviso y el bloque antes de que yo lo haría. Así que, no estoy enojado por eso. De hecho, yo prefiero tener los datos se escriben en los registros de mi para jugar con.

Ross, si realmente están molestos por la de 2GB/día estás perdiendo a Yandex, podría spampoison ellos. Que es lo que hay! Dirigirlos a partir de lo que ellos no quieren descargar, ya sea por HTTP 301 directamente a un spampoison sub-dominio, o rodar su cuenta para que pueda de control de la lógica y tener más diversión con ella. Que tipo de solución le da la herramienta para su posterior reutilización, cuando es más necesario.

A continuación, empezar a mirar más profundamente en los registros de divertidas como esta:

217.41.13.233 - - [31/Mar/2010:23:33:52 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:33:54 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:33:58 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:00 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:01 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:03 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:04 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:05 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:06 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:09 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:14 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:16 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:17 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:18 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:21 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:23 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:24 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:26 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:27 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"
217.41.13.233 - - [31/Mar/2010:23:34:28 -0500] "GET /user/ HTTP/1.1" 404 15088 "http://www.google.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.1 (build 02228); .NET CLR 1.1.4322; InfoPath.2; .NET CLR 2.0.50727)"

Sugerencia: No /usuario/ directorio, ni un hipervínculo a tal, existe en el servidor.

1voto

Dan Andreatta Puntos 3318

De acuerdo a este foro, el yandex bot se porta bien y respeta robots.txt.

En particular, dicen

El comportamiento de Yandex es bastante al igual que la de Google con respecto a los robots.txt .. El bot no mira el robots.txt cada vez que entra en el dominio.

Los Bots como Yandex, Baudi, y Sohu han todo fue muy bien y se comportó como un resultado, están permitidos. Ninguno de ellos tiene ha ido alguna vez a donde yo no quiero que se vaya, y analizar las tasas de no romper el banco con respecto al ancho de banda.

Personalmente no tengo problemas con él, y el robot de google es, por lejos, el más agresivo de orugas para los sitios que tengo.

1voto

Ross Puntos 213

Mi solución actual es este (para el NGINX servidor web):

if ($http_user_agent ~* (Yandex) ) {
        return 444;
}

Este es insensible a mayúsculas-minúsculas. Devuelve respuesta 444.

La presente directiva se ve en la cadena de Agente de Usuario y si "Yandex" se detecta la conexión se cierra sin necesidad de enviar a cualquiera de las cabeceras. 444 es un código de error personalizado entendido por el demonio de Nginx

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X