El Web Proxy Autodiscovery Protocol (WPAD) (en inglés Protocolo de autodescubrimiento de Proxy Web) es un método utilizado por clientes para encontrar la URL de un archivo de configuración utilizando métodos de descubrimiento de DHCP y/o DNS. Una vez que la detección y descarga del archivo de configuración se ha completado, puede ser ejecutado para determinar el proxy para un URL especificado.
El protocolo WPAD solo perfila el mecanismo para descubrir la ubicación de este archivo, pero el formato de archivo de configuración más comúnmente desplegado es el formato proxy auto-config originalmente diseñado por Netscape en 1996 para el Netscape Navigator 2.0.[1] El protocolo WPAD fue redactado por un consorcio de compañías que incluyen Inktomi Corp, Microsoft, RealNetworks Inc., y Sun Microsystems, Inc. (ahora Oracle Corp.). WPAD está documentado en un borrador de INTERNET el cual expiró en diciembre de 1999.[2] Aun así, WPAD es todavía aceptado por todos los navegadores importantes.[3][4] WPAD fue incluido por primera vez con Internet Explorer 5.0.
Para que a todos los navegadores en una organización se les suministre la misma política de proxy, sin tener que configurar cada navegador manualmente, se requiere una de las dos tecnologías de más abajo:
El estándar WPAD define dos métodos alternativos para que el administrador de sistema puede usar para publicar la ubicación del archivo de configuración de proxy, usando el Dynamic Host Configuration Protocol (DHCP) o el Domain Name System (DNS):
Antes de que recupere su primera página, un navegador de web que implementa este método envía al servidor local DHCP una consulta DHCPINFORM, y utiliza el URL de la opción WPAD en la respuesta del servidor. Si el servidor DHCP no proporciona la información deseada, se usa DNS. Si, por ejemplo, el nombre de red del ordenador del usuario es pc.department.branch.example.com, el navegador probará las siguientes URLs en orden hasta que encuentre un archivo de configuración proxy dentro del dominio del cliente:
(Nota: Estos son ejemplos y no son URL "vivas" debido a que usan el nombre de dominio reservado de "example.com".)
Además en Windows si la consulta DNS no es exitosa entonces se usará Resolución de Nombre de Enlace-Local Multicast (LLMNR) será utilizado.
Además en Windows si la consulta DNS no es exitosa entonces se utilizará NetBios.[5][6]
DHCP tiene una prioridad más alta que DNS: si DHCP proporciona el WPAD URL, no se ejecuta ninguna búsqueda DNS. Esto solo funciona con DHCPv4. En DHCPv6, no está definida la opción WPAD.
Notar que Firefox no permite usar DHCP, solo DNS, y lo mismo es cierto para Chrome en plataformas no Windows y para versiones de Chrome anteriores a la 13.[3][4]
Cuándo construyen el paquete de consulta, la búsqueda DNS remueve a la primera parte del nombre de dominio (el nombre de host del cliente) y lo reemplaza con wpad. Entonces, se "mueve hacia arriba" en la jerarquía sacando más partes del nombre de dominio, hasta que encuentra un archivo WPAD PAC o deja la organización actual.
El navegador adivina donde están las fronteras de organización. La suposición es a menudo correcta para dominios como 'company.com' o 'university.edu', pero incorrectos para 'company.co.uk' (ver seguridad abajo).
Para las búsquedas DNS, el camino del archivo de configuración es siempre wpad.dat. Para el protocolo DHCP, cualquier URL es utilizable. Para razones tradicionales, los archivos PAC son a menudo llamados proxy.pac (naturalmente, los archivos con este nombre serán ignorados por la búsqueda DNS WPAD).
El tipo MIME del archivo de configuración tiene que ser "aplicación/x-ns-proxy-autoconfig". Ver Proxy auto-config para más detalles.
Internet Explorer y Konqueror son actualmente los únicos navegadores que ofrecen soporte para ambos métodos DHCP y DNS; el método DNS es permitido en los navegadores más importantes.[7] [8]
Para que WPAD para trabajar, deben cumplirse algunos requisitos:
"Host: <dirección IP>"
y IE7+ y Firefox enviarán un encabezado "Host: wpad"
. Por lo tanto, se recomienda que el archivo wpad.dat sea alojado bajo el host virtual por omisión antes que en el suyo propio.Así como simplifica mucho la configuración de los navegadores web de una organización, el protocolo WPAD tiene que ser utilizado con cuidado: equivocaciones sencillas pueden abrir puertas para que atacantes cambien lo que aparece en el navegador de un usuario:
A través del archivo WPAD, el atacante puede apuntar los navegadores de los usuarios a su propios proxies e interceptar y modificar todo el tráfico WWW. A pesar de que se aplicó un parche simple al manejo de WPAD en Windows en 2005, este solo corrige el problema para el dominio .com.[12] Una presentación en Kiwicon mostró que el resto del mundo era todavía críticamente vulnerable a este agujero de seguridad, con un dominio de ejemplo registrado en Nueva Zelanda para propósitos de probar las solicitudes de proxy que reciben de todas partes del país a una tasa de varios por segundo. Muchos dominios wpad.tld (incluyendo COM, NET, ORG y US) ahora apuntan a la dirección de loopback del cliente para ayudar a proteger contra esta vulnerabilidad, aunque algunos nombres todavía están registrados (wpad.co.uk).[cita requerida]
Así, un administrador tendría que asegurarse que un usuario puede confiar en cualquier servidor DHCP en una organización y que todos los posibles dominios wpad para la organización están bajo control. Aún má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 va a usar como su configuración. Esto deja a quienquiera que registre el subdominio wpad en un país particular en condiciones de hacer un ataque man-in-the-middle en grandes porciones del tráfico de internet de aquel país al ponerse ellos como proxy para todo tráfico o sitios de interés.[13]
Además de estas trampas, el método WPAD busca un archivo de Javascript[14] y lo ejecuta en todos navegadores de los usuarios, incluso cuándo han inutilizado Javascript para ver páginas web.