Sin ser molestado por un servidor DNS que usa una versión más nueva del protocolo DNS. Quiero monitorear los paquetes DNS en las máquinas cliente y quiero clasificarlos como falsificados o no.
¿Hay alguna manera de hacer esto?
Sin ser molestado por un servidor DNS que usa una versión más nueva del protocolo DNS. Quiero monitorear los paquetes DNS en las máquinas cliente y quiero clasificarlos como falsificados o no.
¿Hay alguna manera de hacer esto?
Probablemente sea imposible mirar un solo paquete DNS y saber si está falsificado o no. Pero, si se trata de un paquete de respuesta de DNS a un sistema sin una solicitud de DNS coincidente un poco antes, es probable que se trate de una suplantación de identidad. Y si hay una solicitud de DNS que se origina en la máquina pero la respuesta de DNS entrante sí responde a la consulta de DNS pero no coincide en la solicitud de DNS en el puerto y la identificación, es probable que este sea también un intento de suplantación de identidad, especialmente si hay muchos de estos desajustes. los paquetes
Si está supervisando las solicitudes de DNS en sus clientes, habría pensado que cualquier solicitud en la que la IP de origen es la del equipo cliente no se falsificaría, y cualquier otra cosa se falsificaría.
Desde la perspectiva del servidor, es un poco más complicado, pero hasta cierto punto:
Algunos detalles más sobre tu configuración y motivaciones podrían ayudarte a pensar en otras áreas, pero esperamos que las anteriores sean de alguna utilidad.
Editar :
Leyendo los comentarios, me di cuenta de que entendía mal la pregunta como si se tratara de solicitudes falsificadas, en lugar de respuestas falsas.
Como lo señaló otro, para las respuestas de DNS, las cosas son más complicadas. De las sugerencias anteriores, solo mirando TTL parece que incluso valdría la pena considerarlo.
Es posible que pueda poner algo en su lugar para sus registros DNS internos (tal vez comparando las respuestas DNS internas con los valores esperados). Pero eso parece ser una pequeña parte del problema general, para el cual es más difícil encontrar una solución.
Supongo que otra cosa que podría considerar es perfilar los DNS TTL (así como los IP TTL): sitios significativos como google, facebook, etc. tienen TTL bastante bajos (300 segundos) para los registros A, por ejemplo, y usted podría esperar que alguien que intenta envenenar cachés tenga interés en usar TTL mucho más altos para estos registros.
Para los registros A, también puede obtener algo al analizar realmente las respuestas; por ejemplo, intentar verificar las que usan GeoIP podría ayudar.
Sin embargo,¿qué tan efectivo sería todo eso (en comparación con la cantidad de trabajo que sería mantener)?
La detección de respuestas de DNS UDP falsificadas es compleja. Puede considerar realizar solicitudes de DNS solo a través de TCP y rechazar las respuestas de DNS a través de UDP con una regla de firewall. Dado que TCP requiere un protocolo de enlace de tres vías, es muy difícil de falsificar.
Lea otras preguntas en las etiquetas network