¿Cómo asociar solicitudes de DNS con las solicitudes al servidor web que aloja ese nombre de dominio?

¿Cómo asociar solicitudes de DNS con las solicitudes al servidor web que aloja ese nombre de dominio?

Registramos un nombre de dominio (digamos 'ejemplo.com') y lo que queremos es ver quién está intentando resolver el nombre de dominio y qué tipo de solicitudes envía al servidor web de ese nombre de dominio.

Para este propósito, configuramos un servidor de nombres y recopilamos los registros de BIND para descubrir quién está consultando el servidor de nombres para resolver 'example.com' (no nos importan los casos en los que las personas resuelven el nombre de dominio mediante el archivo en caché). datos en los solucionadores recursivos). También recopilamos los registros del servidor web Apache. Pero el problema es que no podemos averiguar qué solicitud de DNS corresponde a qué solicitud de servidor web.

Para mapear estos dos registros juntos, estaba pensando en crear un subdominio aleatorio y devolverlo como el CNAME de example.com para cada solicitud de DNS y luego configurar Apache para redirigir todos esos subdominios a la página principal 'example.com'. Entonces, si alguien solicita ese subdominio específico, sé cuál es la consulta DNS correspondiente.

¿Es la forma correcta de hacer esto? ¿Hay alguna otra manera de hacer eso?

Agradezco cualquier pensamiento o idea.

Respuesta1

No se puede correlacionar la dirección IP.

Esto se debe a que su servidor de nombres autorizado es consultado por servidores de nombres recursivos, no directamente por los clientes finales. Entonces obtendrá la dirección IP de los últimos servidores de nombres recursivos (se pueden encadenar) utilizados por el cliente.

Incluso con la opción Cliente de subred EDNS, obtendrá, en el mejor de los casos, un bloque de IP, no la verdadera IP del cliente.

De la misma manera, en el frente HTTP, el cliente no necesariamente contacta directamente a su servidor web, puede hacerlo a través de un proxy.

Ya respondí a tu otra pregunta relacionada con esa con algunas pistas:¿Podemos actualizar CNAME por solicitud? Véase especialmente el último párrafo y todos los estudios realizados por Geoff Huston.

Por lo tanto, tiene otra manera: simplemente proporcione a todos www.example.compero inserte en el contenido algo dinámico (ya sea una imagen de 1x1 píxeles o un enlace a un archivo CSS o JS), con algún token único en la parte del nombre de host. Esto se puede vincular en sus servidores de nombres con un comodín. Sin ningún CNAME podrás correlacionar fácilmente el acceso:

  • algún cliente va ahttp://www.example.com/
  • en la respuesta, el servidor web agrega un <img src="https://eecahquai5thuu9ji0iepha.tracking.example.net">y lo registra en su archivo de registro (por lo que esto vincula el token único con el intercambio HTTP actual)
  • configure servidores de nombres autorizados tracking.example.net(le recomiendo que use una zona separada solo para zona, ya que de lo contrario los comodines pueden estar llenos de sorpresas) para tener un registro comodín; Luego tendrá en los archivos de registro de su servidor de nombres este token único y los datos DNS asociados (IP del solucionador recursivo, etc.)
  • (y para ser un internauta adecuado) configure de hecho un servidor web que responda a esta dirección con un recurso y un tipo de contenido adecuados, incluso si es solo una imagen transparente de 1x1 píxeles.

información relacionada