El protocolo de descubrimiento automático de proxy web (WPAD) es un método que utilizan los clientes para localizar la URL de un archivo de configuración mediante DHCP y/o DNS . Una vez detectado y descargado el archivo de configuración, se puede ejecutar para determinar el proxy correspondiente a una URL específica.
Historia
El protocolo WPAD solo describe el mecanismo para descubrir la ubicación de este archivo, pero el formato de archivo de configuración más comúnmente implementado es el formato de autoconfiguración de proxy diseñado originalmente por Netscape en 1996 para Netscape Navigator 2.0 . [ 1 ] El protocolo WPAD fue redactado por un consorcio de empresas que incluían Inktomi Corporation , Microsoft Corporation , RealNetworks, Inc. y Sun Microsystems, Inc. (ahora Oracle Corp. ). WPAD está documentado en un INTERNET-DRAFT que expiró en diciembre de 1999. [ 2 ] Sin embargo, WPAD todavía es compatible con todos los navegadores principales. [ 3 ] [ 4 ] WPAD se incluyó por primera vez con Internet Explorer 5.0 .
Contexto
Para que todos los navegadores de una organización reciban la misma política de proxy, sin tener que configurar cada navegador manualmente, se requieren las dos tecnologías que se indican a continuación:
- Estándar de autoconfiguración de proxy (PAC): crea y publica un archivo de configuración de proxy centralizado. Los detalles se tratan en un artículo aparte.
- El estándar WPAD (Protocolo de descubrimiento automático de proxy web) garantiza que los navegadores de una organización encuentren este archivo sin necesidad de configuración manual. Este es el tema de este artículo.
El estándar WPAD define dos métodos alternativos que el administrador del sistema puede utilizar para publicar la ubicación del archivo de configuración del proxy, utilizando el Protocolo de configuración dinámica de host (DHCP) o el Sistema de nombres de dominio (DNS):
Antes de cargar su primera página, un navegador web que implementa este método envía una consulta DHCPINFORM al servidor DHCP local y utiliza la URL de la opción WPAD en la respuesta del servidor. Si el servidor DHCP no proporciona la información deseada, se utiliza DNS. Por ejemplo, si el nombre de red del ordenador del usuario es pc.department.branch.example.com , el navegador probará las siguientes URL sucesivamente hasta encontrar un archivo de configuración de proxy dentro del dominio del cliente:
- http://wpad.department.branch.example.com/wpad.dat
- http://wpad.branch.example.com/wpad.dat
- http://wpad.example.com/wpad.dat
- http://wpad.com/wpad.dat (en implementaciones incorrectas, consulte la nota en Seguridad a continuación)
(Nota: Estos son ejemplos y no son URL "activas" debido a que utilizan el nombre de dominio reservado " example.com ".)
Además, en Windows, si la consulta DNS no tiene éxito, se utilizará la resolución de nombres de multidifusión de enlace local (LLMNR) y/o NetBIOS . [ 5 ] [ 6 ]
Notas
DHCP tiene mayor prioridad que DNS: si DHCP proporciona la URL de WPAD, no se realiza ninguna búsqueda DNS. Esto solo funciona con DHCPv4. En DHCPv6, no hay ninguna opción WPAD definida.
Al construir el paquete de consulta, la búsqueda DNS elimina la primera parte del nombre de dominio (el nombre de host del cliente) y la reemplaza con wpad . Luego, "asciende" en la jerarquía eliminando más partes del nombre de dominio, hasta que encuentra un archivo PAC de WPAD o abandona la organización actual.
El navegador intenta adivinar dónde se encuentran los límites de la organización. A menudo, acierta con dominios como 'company.com' o 'university.edu', pero se equivoca con 'company.co.uk' (véase la sección de seguridad más abajo).
Para las consultas DNS, la ruta del archivo de configuración siempre es wpad.dat . Para el protocolo DHCP, se puede usar cualquier URL. Por costumbre, los archivos PAC suelen llamarse proxy.pac (aunque, por supuesto, la búsqueda DNS de WPAD ignorará los archivos con este nombre).
El tipo MIME del archivo de configuración debe ser "application/x-ns-proxy-autoconfig". Consulte la sección de configuración automática del proxy para obtener más detalles.
Internet Explorer y Konqueror son actualmente los únicos navegadores que ofrecen soporte para los métodos DHCP y DNS; el método DNS es compatible con la mayoría de los navegadores principales. [ 7 ]
Requisitos
Para que WPAD funcione, se deben cumplir algunos requisitos:
- Para utilizar DHCP, el servidor debe estar configurado para ofrecer la opción "site-local" 252 ("auto-proxy-config") con un valor de cadena como, por ejemplo, http://example.com/wpad.dat, donde "example.com" es la dirección de un servidor web.
- Para utilizar únicamente el método DNS, se necesita una entrada DNS para un host llamado WPAD.
- El host en la dirección WPAD debe poder servir una página web .
- En ambos casos, el servidor web debe estar configurado para servir el archivo WPAD con un tipo MIME de
application/x-ns-proxy-autoconfig. - Si se utiliza el método DNS, debe existir un archivo llamado wpad.dat en el directorio raíz del sitio web de WPAD .
- Los archivos PAC se tratan en el artículo de autoconfiguración del proxy .
- Tenga precaución al configurar un servidor WPAD en un entorno de alojamiento virtual . Cuando se utiliza la detección automática de proxy, WinHTTP y WinINET en Internet Explorer 6 y versiones anteriores envían un encabezado "Host: <dirección IP>", mientras que IE7+ y Firefox envían un encabezado "Host: wpad". Por lo tanto, se recomienda alojar el archivo wpad.dat en el host virtual predeterminado en lugar de en uno propio.
- La versión 6.0.2900.2180.xpsp_sp2_rtm de Internet Explorer solicita "wpad.da" en lugar de "wpad.dat" al servidor web.
- Si se utiliza Windows Server 2003 (o posterior) como servidor DNS, es posible que sea necesario deshabilitar la Lista global de bloqueo de consultas del servidor DNS o modificar el registro para editar la lista de consultas bloqueadas. [ 8 ] [ 9 ]
Seguridad
Si bien el protocolo WPAD simplifica enormemente la configuración de los navegadores web de una organización, debe utilizarse con precaución: simples errores pueden abrir la puerta a que los atacantes modifiquen lo que aparece en el navegador del usuario.
- Un atacante dentro de una red puede configurar un servidor DHCP que distribuya la URL de un script PAC malicioso.
- Si la red es 'company.co.uk' y no se sirve el archivo http://wpad.company.co.uk/wpad.dat , los navegadores intentarán acceder a http://wpad.co.uk/wpad.dat . Antes de la introducción de la Lista de Sufijos Públicos en la década de 2010, algunos navegadores no podían determinar que wpad.co.uk ya no pertenecía a la organización.
- Se ha utilizado el mismo método con http://wpad.org.uk . Este sitio web servía un archivo wpad.dat que redirigía todo el tráfico del usuario a un sitio de subastas en internet.
- Los proveedores de servicios de Internet (ISP) que han implementado el secuestro de DNS pueden interrumpir la resolución DNS del protocolo WPAD al redirigir a los usuarios a un host que no es un servidor proxy.
- Las consultas WPAD filtradas podrían provocar colisiones de nombres de dominio con los esquemas de nomenclatura de la red interna. Si un atacante registra un dominio para responder a las consultas WPAD filtradas y configura un proxy válido, existe la posibilidad de realizar ataques de intermediario (Man-in-the-Middle, MitM) a través de Internet. [ 10 ]
Mediante el archivo WPAD, el atacante puede redirigir los navegadores de los usuarios a sus propios servidores proxy e interceptar y modificar el tráfico web de todos los conectados a la red. Si bien en 2005 se implementó una solución sencilla para el manejo de WPAD en Windows, esta solo resolvió el problema para el dominio .com. Una presentación en Kiwicon demostró que el resto del mundo seguía siendo críticamente vulnerable a esta vulnerabilidad de seguridad, ya que un dominio de muestra registrado en Nueva Zelanda con fines de prueba recibía solicitudes de proxy de todo el país a un ritmo de varias por segundo. Varios nombres de dominio wpad.tld (incluidos COM, NET, ORG y US) ahora apuntan a la dirección de bucle invertido del cliente para ayudar a protegerse contra esta vulnerabilidad, aunque algunos nombres aún están registrados (wpad.co.uk).
Por lo tanto, un administrador debe asegurarse de que un usuario pueda confiar en todos los servidores DHCP de la organización y de que todos los dominios wpad posibles estén bajo control. Además, si no hay ningún dominio wpad configurado para una organización, un usuario accederá a la ubicación externa que contenga el siguiente sitio wpad en la jerarquía de dominios y lo utilizará para su configuración. Esto permite que quien registre el subdominio wpad en un país determinado realice un ataque de intermediario (man-in-the-middle) contra gran parte del tráfico de internet de ese país, actuando como proxy para todo el tráfico o los sitios de interés.
Además de estas trampas, el método WPAD descarga un archivo JavaScript y lo ejecuta en los navegadores de todos los usuarios, incluso cuando estos hayan deshabilitado JavaScript para la visualización de páginas web.
Referencias
- ↑ "Formato de archivo de autoconfiguración de proxy de Navigator" . Documentación de Netscape Navigator . Marzo de 1996. Archivado del original el 7 de marzo de 2007. Consultado el 10 de febrero de 2015 .
- ↑ Gauthier, Paul; Josh Cohen; Martin Dunsmuir; Charles Perkins (1999-07-28). "Protocolo de descubrimiento automático de proxy web (BORRADOR DE INTERNET)" . IETF . Recuperado el 2015-02-10 .
- ↑ "Chromium #18575: Plataformas que no son Windows: WPAD (detección automática de proxy) no prueba DHCP" . 5 de agosto de 2009. Consultado el 10 de febrero de 2015 .
- ↑ "Firefox #356831 - El descubrimiento automático del proxy no comprueba DHCP (opción 252)" . 16/10/2006 . Consultado el 10/02/2015 .
- ↑ "Solución de problemas de detección automática de proxy web (WPAD)" . GFI Software. Archivado del original el 14 de abril de 2021. Consultado el 10 de febrero de 2015 .
- ↑ Hjelmvik, Erik (17 de julio de 2012). "WPAD Man in the Middle" . Recuperado el 10 de febrero de 2015 .
- ↑ "Konqueror: Detección automática de proxy" . KDE . 2013-05-20. Archivado del original el 2015-02-11 . Consultado el 2015-02-10 .
- ↑ King, Michael (17 de febrero de 2010). "WPAD no resuelve en DNS" . Recuperado el 10 de febrero de 2015 .
- ↑ "Eliminar WPAD de la lista de bloqueo DNS" . Microsoft TechNet . 26 de septiembre de 2008. Consultado el 10 de febrero de 2015 .
- ↑ "Alerta (TA16-144A) Vulnerabilidad de colisión de nombres WPAD" . US-CERT . 06/10/2016 . Consultado el 02/05/2017 .
Lecturas adicionales
- de Boyne Pollard, Jonathan (2004). "Configuración automática de servidor proxy HTTP en navegadores web" . Respuestas frecuentes .
- Jim Groves (noviembre de 2007). "Lista de bloqueo de consultas globales del servidor DNS" . Microsoft .
- "Ejemplos de archivos PAC y WPAD" . 18 de septiembre de 2015.
- Internet Explorer
- navegadores web
- Servidores proxy
- Configuración del ordenador
- Estándares de Internet
- Sistema de nombres de dominio
- protocolos de descubrimiento de servicios