Supongamos que estoy administrando un firewall entre el servidor DNS y los clientes. ¿Hay alguna forma de obligar a los clientes a usar TCP en lugar de UDP, de modo que podamos evitar los tipos de ataques DDoS falsificados por el DNS?
Deberías leer A Question of DNS Protocols de Geoff Huston, que es una investigación real de esta idea, con estadísticas y todo:
Si el DNS representa una vulnerabilidad tan significativa para el Internet a través de estos ataques de reflexión basados en UDP, entonces hace TCP ¿Representa una mitigación potencial? Podríamos contemplar de manera realista alejarse del uso ubicuo de ENDS0 para admitir DNS de gran tamaño respuestas en UDP, y en su lugar utiliza servidores de nombres DNS que limitan la tamaño máximo de sus respuestas UDP, y gire a TCP para mayor respuestas?
Creo que los puntos clave de ese documento que abordan su pregunta son:
Personalmente , creo que estarías violando el espíritu de RFC 1123 :
Los resolutores de DNS y los servidores recursivos DEBEN ser compatibles con UDP, y DEBERÍAN Admite TCP, para enviar consultas (sin transferencia de zona).
No estoy seguro de falsificar UDP solo para cambiar a las personas a conteos de TCP como compatibles con UDP. Dicho esto, siempre hay una brecha entre la RFC y la realidad ...