Misterioso tráfico chino mal dirigido: ¿Cómo puedo averiguar qué servidor DNS utilizó una solicitud HTTP?

24

Durante la semana pasada he estado recibiendo una gran cantidad de tráfico de una amplia gama de direcciones IP chinas. Este tráfico parece ser de personas normales y sus solicitudes HTTP indican que piensan que soy:

  • Facebook
  • La bahía pirata
  • varios rastreadores de BitTorrent,
  • sitios porno

Todo lo cual suena como algo para lo que la gente usaría una VPN. O cosas que harían enojar a la Gran Muralla China.

Los agentes de usuario incluyen navegadores web, Android, iOS, FBiOSSDK, Bittorrent. Las direcciones IP son proveedores comerciales chinos normales.

Tengo Nginx devolviendo 444 si el host es incorrecto o el agente de usuario obviamente está equivocado:

## Deny illegal Host headers
if ($host !~* ^({{ www_domain }})$ ) {
   return 444;
}
## block bad agents
if ($http_user_agent ~* FBiOSSDK|ExchangeWebServices|Bittorrent) {
    return 444;
}

Ahora puedo manejar la carga, pero hubo algunas ráfagas de hasta 2k / minuto. Quiero saber por qué vienen a mí y detenerlo. También tenemos tráfico CN legítimo, por lo que prohibir 1/6 del planeta Tierra no es una opción.

Es posible que sea malicioso e incluso personal, pero puede ser un DNS mal configurado allí.

Mi teoría es que se trata de un servidor DNS mal configurado o posiblemente de algunos servicios VPN que la gente usa para sortear Great Fire Wall.

Dada una dirección IP de cliente:

183.36.131.137 - - [05/Jan/2015:04:44:12 -0500] "GET /announce?info_hash=%3E%F3%0B%907%7F%9D%E1%C1%CB%BAiF%D8C%DE%27vG%A9&peer_id=%2DSD0100%2D%96%8B%C0%3B%86n%8El%C5L%11%13&ip=183.36.131.137&port=11794&uploaded=4689970239&downloaded=4689970239&left=0&numwant=200&key=9085&compact=1 HTTP/1.0" 444 0 "-" "Bittorrent"

Yo puedo saber:

descr:          CHINANET Guangdong province network
descr:          Data Communication Division
descr:          China Telecom
  • ¿Cómo puedo averiguar qué servidor DNS están usando esos clientes?
  • ¿Hay alguna forma de determinar si una solicitud HTTP proviene de una VPN?
  • Qué está pasando aquí realmente ?
felix
fuente
55
He visto este mismo problema antes, tanto el objetivo del tráfico como el tráfico destinado a mi servidor enviado a otro lugar. Sin embargo, no tengo ninguna respuesta. Reduje el impacto del primer problema con un firewall y el segundo con una solución de software que solo era posible en nuestra situación específica (nuestro software estaba haciendo las solicitudes). En el proceso de instigación, descubrimos que algunos servidores DNS se niegan a respetar TTL muy bajos, sino que almacenan en caché el resultado durante meses, lo que podría explicar la lista de sitios para los que está obteniendo tráfico.
xofer
1
También revise esta pregunta. Tuve el mismo problema serverfault.com/questions/656093/... Tengo curiosidad por saber por qué un ISP haría algo así. No puedo ver el valor en.
Cha0s
44
En mi experiencia, estos son intentos de encontrar proxies web abiertos. Algunos servidores web le permitirán solicitar cualquier URL; Una vez me llamaron para tratar con uno de estos, que había excedido su asignación de ancho de banda mensual (generosa) incluso antes de que estuviera en servicio. Un grupo de estudiantes del Instituto de Tecnología de Nanjing descubrió que podían establecer conexiones HTTPS con él y solicitar cualquier página web, por lo que estaban escondiendo ansiosamente toda su pornografía más allá del Gran Cortafuegos. Si en realidad no está sirviendo el contenido solicitado, debería estar bien.
MadHatter apoya a Monica el
1
Por lo general, si. Solo se mencionó una entrada de registro arriba, así que pensé que valía la pena mencionarla; ¡no pretende ser una respuesta completa y pensada, o la habría presentado como una!
MadHatter apoya a Monica el
1
1. ¿Alguna vez ha tratado de buscar los administradores de sistemas para un dominio registrado aquí en los Estados Unidos? Si es así, sabes lo difícil que puede ser. Me imagino que es casi imposible no solo encontrar a la persona adecuada para hablar en "Chinanet" sino también a la persona adecuada que realmente se preocupa lo suficiente como para ayudarlo.
Michael Martinez

Respuestas:

31

Hay una forma teórica de determinar el solucionador DNS de sus clientes, pero es bastante avanzado y no conozco ningún software disponible que lo haga por usted. Seguro que tendrá que ejecutar un servidor DNS autorizado para eso además de su nginx.

En caso de que el encabezado HTTP Host sea incorrecto, envíe un documento de error e incluya una solicitud a un FQDN único creado dinámicamente para cada solicitud que registre en una base de datos. p.ej.

http://e2665feebe35bc97aff1b329c87b87e7.example.com/img.png

Mientras el gran cortafuegos de Chinas no juegue con esa solicitud y el cliente solicite el documento de ese FQDN + URI único, cada solicitud generará una nueva búsqueda de DNS en su DNS autorizado, por ejemplo.com, donde puede registrar la IP del La resolución de DNS y luego correlacionan esto con sus URI generados dinámicamente.

r_3
fuente
66
Este es el mismo enfoque que sugeriría, aunque creo que se necesitaría otro nivel de dominios para que funcione. Si el dominio principal es example.com, crearía un registro NS para un subdominio como ns-detect.example.com. Luego crearía un nombre único debajo de ese nombre de dominio, como sería el dominio completo e2665feebe35bc97aff1b329c87b87e7.ns-detect.example.com.
Kasperd
1
Es un enfoque interesante. Ahora sospecho que la redirección es deliberada (porque no soy el único que ve esto). Por lo tanto, supongo que los diversos servidores DNS chinos no se molestarían en buscar el autorizado para obtener el subdominio. No tendría sentido que lo hicieran.
Felix
Si usan un enfoque de lista blanca, probablemente tenga razón. Si están en la lista negra, en realidad no hay razón para que no busquen un FQDN de aspecto inocente. Por supuesto, esto también podría ser el resultado de técnicas de filtrado mucho más avanzadas que simplemente jugar con las respuestas de DNS.
r_3
1
+1 para la idea de kasperd de crear un subdominio con su propio NS, para mantener los registros separados de su DNS normal. Y hacerlo con menos posibilidades de arruinar tus cosas normales. Si ve solicitudes http para nombres de host que nadie buscó en su DNS, entonces sabe que el servidor DNS que están utilizando sus clientes defectuosos está falsificando respuestas DNS (y lo está haciendo mal, ya que probablemente tenían la intención de enviar ese tráfico a otro lugar) ¿Tal vez un administrador chino en algún lugar escribió una dirección IP en una configuración?).
Peter Cordes
Aceptando porque responde la primera pregunta más exactamente. Realmente no resuelve por qué obtenemos el tráfico, pero stackexchange no permite preguntas vagas.
Felix
5

Escuché que el gran firewall utilizado para redirigir el tráfico "bloqueado" a un puñado de direcciones IP falsas, pero esto estaba causando que sus bloqueos se detectaran fácilmente (no estoy seguro de si permitía una subversión fácil). En cualquier caso, los administradores han comenzado a redirigir a direcciones IP aleatorias. Esto ha llevado a algunos usuarios chinos a obtener pornografía, en lugar de Facebook o VPN, aparentemente.

Sospecho que una de sus direcciones IP ha resultado ser un receptor de tráfico chino bloqueado, por lo tanto, está viendo agentes de usuario IPI de Facebook.

Esto significa que la verificación del encabezado del host debería ser buena. La mayoría de los agentes de usuario admiten SNI en estos días, por lo que debería poder eliminar el tráfico sin encabezado de host con relativa impunidad.

Editar: http://www.infosecurity-magazine.com/news/great-firewall-upgrade-redirects/

Tom Newton
fuente
4

¿Cómo puedo averiguar qué servidor DNS están usando esos clientes?

Póngase en contacto con Chinanet y pregunte? En serio, DNS es configurable en el lado del cliente. La mayoría de las personas obtienen la configuración de DNS a través de DHCP, pero OpenDNS y la oferta de DNS de Google no tendrían un modelo de negocio si no pudiera cambiarlas.

¿Hay alguna forma de determinar si una solicitud HTTP proviene de una VPN?

En realidad no, excepto que la IP sería de la VPN, no del usuario final en China.

Qué está pasando aquí realmente ?

Que no puedo decirte, pero ¿quizás hay algún tipo de configuración incorrecta en el Gran Cortafuegos de China ?

Katherine Villyard
fuente