Cuando un navegador web usa un proxy HTTP, las cosas van de la siguiente manera. Supongamos que la URL de destino es http://www.example.com/index.html
. El navegador se conecta al proxy y le dice: "Quiero obtener la página en http://www.example.com/index.html
". El proxy cumple, obtiene los datos y los envía de vuelta al navegador. Por construcción, el proxy ve todos los datos. La conexión entre el proxy y el navegador podría estar encriptada, pero el proxy todavía lo ve todo.
Si la URL de destino usa SSL ( https://www.example.com/index.html
: tenga en cuenta el s
en https
), entonces el navegador se conecta al proxy y le dice: "Quiero conectarme al puerto 443 de www.example.com
; hazlo y luego transmite todos los bytes en ambas direcciones ". La Sección 5.2 de RFC 2817 describe este mecanismo. Luego, el proxy actúa como retransmisión para todos los bytes entre el navegador y el servidor web, estos bytes codifican lo que el navegador y el servidor web deseen que sean, es decir, en la práctica, un protocolo de enlace SSL y los datos subsiguientes. En ese caso, el proxy está fuera del túnel SSL y no puede ver los datos de intercambio. El túnel SSL aún se encuentra entre el servidor web y el navegador, y el proxy es un mecanismo puramente de transporte.
El proxy todavía está en la posición ideal para intentar ataques Man-in-the-Middle , ya que todas las comunicaciones pasan por ello; pero SSL está protegido contra eso, es decir, en virtud del servidor web certificado que está siendo validado por el cliente. Por supuesto, esto se basa en que el usuario humano no haga clic en las advertencias sobre certificados no válidos. En algunas organizaciones, los administradores de sistemas locales instalan certificados de CA raíz "rogue" adicionales en sistemas de escritorio para que puedan crear un certificado de servidor falso en el proxy y hagan el ataque MitM, otorgándoles acceso a los datos intercambiados (para que puedan aplicar filtros de antivirus) incluso en el tráfico HTTPS, o al menos eso dicen).
Salvo una instalación de CA fraudulenta (que es, básicamente, una violación de la seguridad del equipo cliente), el proxy no podrá ver los datos intercambiados entre el navegador y el servidor HTTPS. El proxy aún podrá saber con qué servidor se contactó y observar el tamaño de los intercambios de datos: el cifrado oculta el contenido, no el tamaño.
La situación de SOCKS es conceptualmente similar. El diálogo entre el navegador y el proxy es diferente, pero lo básico sigue siendo el mismo: el proxy podrá ver todo el tráfico HTTP y ninguno del tráfico HTTPS.
Editar: al parecer, existen otros tipos de "proxies", en los que su navegador entra en contacto con un servidor dedicado, que a su vez ejecuta un navegador, realiza su búsqueda por usted y le devuelve las páginas. . Desafortunadamente, algunas personas lo llaman "proxies web", una terminología que ha estado en uso durante dos décadas para designar lo que, técnicamente, es un proxy HTTP. La confusión sigue.
Tales "proxies de navegación" son similares, en concepto, con la apertura de una sesión en el servidor con un protocolo de escritorio remoto y ejecutando su navegador desde allí. Esto otorga todo el poder posible a los administradores de proxy en sus actividades de navegación. No desea hacerlo si no confía absolutamente en los administradores de sistemas proxy.
Y preferiría no utilizar la expresión "proxy web" si existe algún riesgo de ambigüedad.