El protocolo de descubrimiento automático de proxy web (WPAD) es un método utilizado por los clientes para localizar la URL de un archivo de configuración mediante métodos de descubrimiento de DNS y / o DHCP . Una vez que se completa la detección y descarga del archivo de configuración, se puede ejecutar para determinar el proxy para 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 configuración automática de proxy diseñado originalmente por Netscape en 1996 para Netscape Navigator 2.0 . [1] El protocolo WPAD fue elaborado por un consorcio de empresas que incluía a Inktomi Corporation , Microsoft Corporation , RealNetworks, Inc. y Sun Microsystems, Inc. (ahora Oracle Corp. ). WPAD está documentado en un BORRADOR DE INTERNET 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 configurar cada navegador manualmente, se requieren las dos tecnologías siguientes:
- Estándar de configuración automática de proxy (PAC): cree y publique un archivo de configuración de proxy central. Los detalles se discuten en un artículo separado.
- Estándar Web Proxy Auto-Discovery Protocol (WPAD): asegúrese de que los navegadores de una organización encuentren este archivo sin 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 usar para publicar la ubicación del archivo de configuración del proxy, usando el Protocolo de configuración dinámica de host (DHCP) o el Sistema de nombres de dominio (DNS):
Antes de obtener su primera página, un navegador web que implementa este método envía una consulta DHCPINFORM al servidor DHCP local y usa 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. Si, por ejemplo, el nombre de red de la computadora del usuario es pc.department.branch.example.com , el navegador probará las siguientes URL sucesivamente hasta que encuentre 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 emplean el nombre de dominio reservado de " example.com ").
Además, en Windows, si la consulta de DNS no es correcta , se utilizará la resolución de nombre de multidifusión local de enlace (LLMNR) y / o NetBIOS . [5] [6]
Notas
DHCP tiene una prioridad más alta que DNS: si DHCP proporciona la URL de WPAD, no se realiza ninguna búsqueda de DNS. Esto solo funciona con DHCPv4. En DHCPv6, no hay una opción WPAD definida.
Tenga en cuenta que Firefox no admite DHCP, solo DNS, y lo mismo ocurre con Chrome en plataformas distintas de Windows y ChromeOS, y con versiones de Chrome anteriores a la versión 13. [3] [4]
Al construir el paquete de consulta, la búsqueda de DNS elimina la primera parte del nombre de dominio (el nombre de host del cliente) y lo reemplaza con wpad . Luego, "sube" en la jerarquía eliminando más partes del nombre de dominio, hasta que encuentra un archivo WPAD PAC o abandona la organización actual.
El navegador adivina dónde están los límites de la organización. La suposición suele ser correcta para dominios como 'empresa.com' o 'university.edu', pero incorrecta para 'empresa.co.uk' (consulte la seguridad a continuación).
Para las búsquedas de DNS, la ruta del archivo de configuración es siempre wpad.dat . Para el protocolo DHCP, se puede utilizar cualquier URL. Por razones tradicionales, los archivos PAC a menudo se denominan proxy.pac (por supuesto, los archivos con este nombre serán ignorados por la búsqueda de DNS de WPAD).
El tipo MIME del archivo de configuración debe ser "application / x-ns-proxy-autoconfig". Consulte Configuración automática de 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 principales navegadores. [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 de, por ejemplo, http://example.com/wpad.dat donde " example.com "es la dirección de un servidor web.
- Para utilizar el método de solo DNS, se necesita una entrada de DNS para un host llamado WPAD.
- El anfitrión en la dirección WPAD debe poder servir una página web .
- En ambos casos, el servidor web debe configurarse para servir el archivo WPAD con un tipo MIME de
application/x-ns-proxy-autoconfig
. - Si se utiliza el método DNS, se debe ubicar 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 configuración automática de proxy .
- Tenga cuidado 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:
" e IE7 + y Firefox envía un encabezado "Host: wpad". ón>Por lo tanto, se recomienda que el archivo wpad.dat se aloje en el host virtual predeterminado en lugar de en el suyo. - Internet Explorer versión 6.0.2900.2180.xpsp_sp2_rtm solicita "wpad.da" en lugar de "wpad.dat" del servidor web.
- Si está utilizando Windows Server 2003 (o posterior) como su servidor DNS, es posible que deba deshabilitar la Lista global de consultas bloqueadas del servidor DNS , o incluso modificar el registro para editar la lista de consultas bloqueadas. [8] [9]
Seguridad
Si bien simplifica enormemente la configuración de los navegadores web de una organización, el protocolo WPAD debe usarse con cuidado: los errores simples pueden abrir puertas para que los atacantes cambien lo que aparece en el navegador de un 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 'empresa.co.uk' y el archivo http://wpad.company.co.uk/wpad.dat no se sirve, los navegadores continuarán solicitando http://wpad.co.uk /wpad.dat. El navegador no determina si esto todavía está dentro de la organización. Consulte http://wpad.com/ para ver un ejemplo.
- Se ha utilizado el mismo método con http://wpad.org.uk. Esto solía servir un archivo wpad.dat que redirigiría todo el tráfico del usuario a un sitio de subastas en Internet.
- Los ISP que han implementado el secuestro de DNS pueden romper la búsqueda de DNS del protocolo WPAD dirigiendo a los usuarios a un host que no es un servidor proxy.
- Las consultas WPAD filtradas podrían resultar en colisiones de nombres de dominio con esquemas de nombres de redes internas. Si un atacante registra un dominio para responder consultas WPAD filtradas y configura un proxy válido, existe la posibilidad de realizar ataques man-in-the-middle (MitM) a través de Internet. [10]
A través del archivo WPAD, el atacante puede apuntar los navegadores de los usuarios a sus propios proxies e interceptar y modificar todo el tráfico WWW. Aunque en 2005 se aplicó una solución simplista para el manejo de WPAD de Windows, solo solucionó el problema del dominio .com. Una presentación en Kiwicon mostró que el resto del mundo seguía siendo críticamente vulnerable a este agujero de seguridad, con un dominio de muestra registrado en Nueva Zelanda con fines de prueba que recibía solicitudes de proxy de todo el país a una velocidad de varios por segundo. Varios de los nombres de dominio wpad.tld (incluidos COM, NET, ORG y US) ahora apuntan a la dirección de bucle de retorno del cliente para ayudar a protegerse contra esta vulnerabilidad, aunque algunos nombres todavía 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 una organización y de que todos los posibles dominios wpad de la organización estén bajo control. Además, si no hay un dominio wpad configurado para una organización, un usuario irá a cualquier ubicación externa que tenga el siguiente sitio wpad en la jerarquía de dominios y lo usará para su configuración. Esto permite que quien registre el subdominio wpad en un país en particular realice un ataque de intermediario en grandes porciones del tráfico de Internet de ese país al establecerse como un proxy para todo el tráfico o sitios de interés.
Además de estas trampas, el método WPAD obtiene un archivo JavaScript y lo ejecuta en todos los navegadores de los usuarios, incluso cuando han desactivado JavaScript para ver páginas web.
Referencias
- ^ "Formato de archivo de configuración automática de Navigator Proxy" . Documentación de Netscape Navigator . Marzo de 1996. Archivado desde el original el 7 de marzo de 2007 . Consultado el 10 de febrero de 2015 .
- ^ Gauthier, Paul; Josh Cohen; Martin Dunsmuir; Charles Perkins (28 de julio de 1999). "Protocolo de descubrimiento automático de proxy web (INTERNET-BORRADOR)" . IETF . Consultado el 10 de febrero de 2015 .
- ^ a b "Chromium # 18575: Plataformas que no son de Windows: WPAD (detección automática de proxy) no prueba DHCP" . 2009-08-05 . Consultado el 10 de febrero de 2015 .
- ^ a b "Firefox # 356831 - El descubrimiento automático de proxy no marca DHCP (opción 252)" . 2006-10-16 . Consultado el 10 de febrero de 2015 .
- ^ "Solución de problemas de detección automática de proxy web (WPAD)" . Software GFI . Consultado el 10 de febrero de 2015 .
- ^ Hjelmvik, Erik (17 de julio de 2012). "WPAD Man in the Middle" . Consultado el 10 de febrero de 2015 .
- ^ "Konqueror: descubrimiento automático de proxy" . KDE . 2013-05-20 . Consultado el 10 de febrero de 2015 .
- ^ King, Michael (17 de febrero de 2010). "WPAD no se resuelve en DNS" . Consultado el 10 de febrero de 2015 .
- ^ "Eliminando WPAD de la lista de bloqueo de DNS" . Microsoft TechNet . Consultado el 10 de febrero de 2015 .
- ^ "Alerta (TA16-144A) WPAD Name Collision Vulnerability" . US-CERT . 2016-10-06 . Consultado el 2 de mayo de 2017 .
Otras lecturas
- de Boyne Pollard, Jonathan (2004). "Configuración automática del servidor proxy HTTP en navegadores web" . Respuestas dadas con frecuencia .
- Jim Groves (noviembre de 2007). "Lista de bloqueo de consultas globales del servidor DNS" .
- "Ejemplos de archivos PAC y WPAD" . 2015-09-18.