¿Puedo evitar la falsificación de DNS escribiendo la dirección IP?

15

La pregunta está en el título. He estado leyendo sobre DNS spoofing. ¿Qué pasaría si guardara las direcciones IP de los sitios web que considero sensibles y luego solo ingrese la dirección IP cuando estoy utilizando una conexión sospechosa para evitar ataques de suplantación de DNS? ¿Funcionará? ¿Por qué o por qué no?

    
pregunta Lmk 17.07.2013 - 02:27
fuente

5 respuestas

20

Esto no funcionará para muchos sitios web. Muchos sitios web utilizan hosts virtuales donde alojan sitios web para múltiples dominios desde un único servidor web. En este caso, la única forma en que saben de qué sitio viene es por el nombre de host que su navegador envía en el encabezado Host de la solicitud HTTP.

La forma de hacerlo sería agregar específicamente estas entradas a su archivo /etc/hosts (o en Windows, \Windows\System32\drivers\etc\hosts ) y continuar escribiendo el dominio como de costumbre.

Desafortunadamente, incluso esto puede ser poco práctico. No solo puede deshabilitar funciones como el equilibrio de carga basado en DNS y los resultados de DNS basados en la ubicación (si viaja), sino que también puede abrirse para atacar si un sitio cambia las direcciones IP. No sería descabellado que un atacante considere intentar adquirir las direcciones IP que los sitios grandes pueden haber abandonado.

TL; DR esto

  • es un inconveniente como el infierno,
  • puede deshabilitar funciones útiles basadas en DNS
  • realmente no agrega mucha seguridad práctica, y
  • introduce tantos nuevos vectores de ataque como se cierra
respondido por el Stephen Touset 17.07.2013 - 02:57
fuente
4

Supongamos que foo.com tiene la dirección IP 11.11.11.11 .

Con la falsificación de DNS, le preocupa que foo.com no se resuelva correctamente a 11.11.11.11 , porque un atacante lo ha engañado para que piense que su dirección IP es 22.22.22.22 . En este caso, su problema es que el registro de dominio que tiene no apunta a la dirección IP que realmente desea.

Ahora, imagina que siempre ingresas 11.11.11.11 para evitar la posibilidad de que el DNS sea falsificado. Ahora supongamos que foo.com solo movió de 11.11.11.11 a 33.33.33.33 . De repente, tiene el problema opuesto: la dirección IP que tiene no corresponde al dominio que desea. (En este caso, podría ser atacado por alguien que tuvo la capacidad de volver a asignar el IP 11.11.11.11 a un host específico). Este es un problema de administración que puede resolver utilizando DNS . Si un host cambia las direcciones IP, ¿cómo puede descubrir dónde se ha movido a menos que verifique su registro DNS?

Otro problema (menor) es que los servidores web esperan obtener un Host encabezado que especifica qué nombre de host al que intenta llegar. Un servidor web puede alojar múltiples dominios en una sola dirección IP (por ejemplo, 11.11.11.11 puede responder tanto a foo.com como a bar.com , y necesita saber cuál es el que realmente desea). Si escribe 11.11.11.11 en su barra de direcciones, su navegador dirá que desea Host: 11.11.11.11 en lugar de Host: foo.com . Esto podría superarse especificando manualmente los campos HTTP (o obteniendo / creando una extensión de navegador que lo haga por usted).

    
respondido por el apsillers 17.07.2013 - 02:50
fuente
0

Echo a todo lo que se dice.

Creo que estás abordando este problema al revés. ¿Por qué intentar anular los sitios uno por uno en el caso de que se falsifique un registro DNS? Busque un proveedor de OpenDNS seguro y de confianza y configure su máquina para que resuelva el DNS de ese servidor siempre, en lugar de cualquier servidor al que la red a la que esté conectado desea proporcionarle. Para agregar otra capa de papel de aluminio, puede configurar su propio servidor DNS en EC2 o similar y resolverlo siempre.

    
respondido por el Matt Surabian 23.07.2013 - 04:27
fuente
0

Si de alguna manera conoce la dirección IP del host y no quiere confiar en el DNS, simplemente agréguelo a su archivo HOST. Si tiene muchas máquinas para mantener esta configuración de DNS activada, necesitará una forma de mantener todos estos archivos actualizados. Una XCopy a menudo funciona bien para esto, sin reinventar el DNS ...

Si sus hosts no están conectados constantemente a través de una VPN, un método alternativo para mantener varios archivos HOST es configurar su propio servidor DNS privado con DNSSec habilitado para todas las zonas. Si sigue este enfoque, debe desactivar la resolución recursiva de nombres para no envenenar inadvertidamente su caché ni guardar entradas de DNS "pirateadas" de alguien que le haya dado información incorrecta.

No recomendaría todas estas soluciones, ya que es posible y común que un sitio web sea pirateado (inyección SQL, etc.) y algunos webmasters utilizan actualizaciones de DNS como medio para solucionar el problema, y su PC no recibirá las actualizaciones.

Nuevamente, puede encontrar un punto medio común al reenviar condicionalmente sus consultas recursivas para los dominios que no le "importan".

    
respondido por el random65537 23.07.2013 - 04:42
fuente
0

Otro problema es que la mayoría de los sitios web modernos solicitan recursos de otros hosts (bibliotecas JS de una CND o incluso de un servidor controlado por el propietario del sitio web) y el URI contiene el nombre DNS en la mayoría de los casos. Tendría que conocer las direcciones IP y el encabezado HOST de todos los recursos que necesita el sitio web deseado y detener su navegador para resolver los enlaces automáticamente.

    
respondido por el Noir 15.09.2014 - 13:58
fuente

Lea otras preguntas en las etiquetas