¿Cómo es posible hacer TLS a través de un proxy sin que nadie se dé cuenta?

11

Mi lugar de trabajo usa un proxy para conectarse a Internet, incluso para sitios https.

Tenía entendido que para que esto funcione, el proxy se consideraría un MITM, y el certificado presentado sería del proxy.

Esta raíz para este certificado debería ser confiable, lo que sería fácil de lograr a través de la política de grupo en un entorno corporativo.

Sin embargo, esto no es lo que estoy viendo.

Estoy viendo cadenas de certificados originales del sitio web objetivo, pero Wirehark está demostrando que solo he golpeado mi proxy.

¿Qué da?

    
pregunta gtmcclinton 25.02.2016 - 17:58
fuente

2 respuestas

12

Desde la versión 1.1, HTTP admite un método especial, CONECTAR. Esto configura el túnel TLS a través del proxy, aunque su computadora solo se conecta directamente al proxy. HTTPS sabe cómo canalizar el protocolo de enlace TLS incluso a través del proxy.

Consulte Wikipedia :

  

El método CONNECT convierte la conexión de solicitud en un túnel TCP / IP transparente, generalmente para facilitar la comunicación cifrada con SSL (HTTPS) a través de un proxy HTTP sin cifrar.

Incluso más detalles aquí :

  

Una variación del túnel HTTP cuando detrás de un Servidor Proxy HTTP es usar el método HTTP "CONECTAR".
  En este mecanismo, el cliente solicita a un servidor proxy HTTP que reenvíe la conexión TCP al destino deseado. Luego, el servidor procede a realizar la conexión en nombre del cliente. Una vez que la conexión ha sido establecida por el servidor, el servidor Proxy continúa representando la secuencia TCP hacia y desde el cliente. Tenga en cuenta que solo la solicitud de conexión inicial es HTTP; después de eso, el servidor simplemente establece la conexión TCP establecida.   Este mecanismo es cómo un cliente detrás de un proxy HTTP puede acceder a sitios web utilizando SSL (es decir, HTTPS).

Pero tenga en cuenta esta advertencia:

  

No todos los servidores proxy HTTP admiten esta función, e incluso los que sí lo hacen, pueden limitar el comportamiento (por ejemplo, solo permiten conexiones al puerto predeterminado HTTPS 443, o bloquean el tráfico que no parece ser SSL).

    
respondido por el AviD 25.02.2016 - 18:05
fuente
30

Normalmente, cuando se realiza HTTPS a través de un proxy, esto se hace con el mecanismo CONNECT : el el cliente habla con el proxy y le pide que proporcione un túnel bidireccional para bytes con el sistema de destino. En ese caso, el certificado que el cliente ve es realmente del servidor, no del proxy. En esa situación, el proxy se mantiene fuera de la sesión SSL / TLS; puede ver que se está ejecutando algo de SSL / TLS, pero no tiene acceso a las claves de cifrado.

Algunas organizaciones implementan un completo Man-in-the-Middle generando un certificado falso para el servidor de destino sobre la marcha. Lo hacen precisamente para que el proxy pueda ver los datos de texto sin cifrar y escanearlos para cumplir con la política de la organización (por ejemplo, análisis antivirus automático). Esto solo puede funcionar si el cliente (su navegador) acepta el certificado falso como genuino, lo que a su vez requiere que se inserte una CA raíz controlada por la organización en la máquina cliente (y en un mundo de Windows / Active Directory, un GPO puede hacerlo). que).

Acerca de los principales proveedores de firewall / dispositivos proxy que ofrecen ese mecanismo como opción.

No todas las organizaciones implementan un sistema MitM de este tipo, por varias razones, entre ellas:

  • La MitM automática puede ser costosa. El dispositivo proxy puede tener que ser computacionalmente poderoso si hay muchos usuarios; y la licencia del producto puede ser alta.

  • MitM rompe la autenticación del cliente basada en certificados.

  • Hacer un MitM solo tiene sentido si realmente inspeccionas los datos, lo que a su vez aumenta los costos computacionales.

  • El empuje automático de una CA raíz no funciona con BYOD .

  • Como regla, a los usuarios realmente les disgustan tales MitM.

respondido por el Tom Leek 25.02.2016 - 18:08
fuente

Lea otras preguntas en las etiquetas