Uso de un cortafuegos para desencadenar el truncamiento en la respuesta de DNS UDP

1

Supongamos que soy un servidor de seguridad entre el cliente y el servidor. Si el cliente envía una consulta de DNS con UDP, debería responder esta consulta con el indicador truncado establecido = 1. Como resultado, el cliente se verá obligado a usar TCP en lugar de UDP.

¿Es posible generar tales respuestas UDP y cómo?

    
pregunta Burak Özalp 20.08.2015 - 08:52
fuente

1 respuesta

1

Truncado simplemente significa que el paquete era más grande de lo que esperaba el cliente. P.ej. si el cliente espera solo 512 bytes al hacer recv(fd,buf,512,0) pero el mensaje es más grande, recv fallará porque el mensaje no se ajusta. Con el indicador MSG_TRUNC , el cliente puede obtener el mensaje truncado, pero no el mensaje completo porque no cabe en el búfer asignado.

Eso significa que truncado no es una propiedad del paquete en sí y, por lo tanto, no se puede establecer en el firewall. A lo sumo, podría generar una respuesta que sea más grande de lo que el cliente probablemente espera y, por lo tanto, desencadenar el truncamiento. Pero para hacer esto, necesitaría un código de nivel de aplicación que genere una respuesta que coincida con la pregunta de DNS, un simple firewall de filtrado de paquetes no puede hacer esto.

EDITAR: Hay un indicador TC en el encabezado del mensaje que indica que el mensaje era demasiado grande para el transporte indicado y, por lo tanto, se truncó (es decir, más de 512 bytes para UDP a menos que se use EDNS). Por lo tanto, debería ser posible crear tal paquete. Pero para que el paquete de respuesta coincida con el paquete de solicitud, aún necesita un filtro de nivel de aplicación, es decir, un simple filtro de paquetes no es suficiente.

Aparte de eso, toda la pregunta suena más bien como un problema construido sin relevancia práctica o como un Problema XY , es decir, el problema real que intentas resolver es algo diferente.

    
respondido por el Steffen Ullrich 20.08.2015 - 09:18
fuente

Lea otras preguntas en las etiquetas