Un proxy HTTPS es un servidor proxy que retransmite tráfico HTTPS cifrado entre un cliente y un sitio web. El cliente envía una solicitud HTTP CONNECT nombrando el host y el puerto de destino. El proxy luego abre un túnel y reenvía datos en ambas direcciones. TLS se ejecuta de extremo a extremo dentro de ese túnel, por lo que el proxy ve a dónde va el tráfico, pero no lo que contiene.

Cifrando la Conexión al Proxy

  • Proxy de túnel simple: El cliente se comunica con el proxy a través de HTTP simple y envía CONNECT host:port. Solo el tráfico dentro del túnel está cifrado, por lo que el host y el puerto de destino en esa solicitud viajan sin cifrar al proxy.
  • Proxy alcanzado a través de TLS: Algunos clientes también cifran el salto al proxy. En curl, una URL de proxy que comienza con https:// hace que curl abra una conexión TLS al proxy y verifique el certificado del proxy antes de continuar.
  • Configuraciones de confianza separadas: curl te permite verificar el certificado del proxy contra un archivo CA diferente (--proxy-cacert) al que se utiliza para el sitio de destino.

Proxies de Intercepción TLS

Algunos proxies HTTPS descifran el tráfico en lugar de tunelizarlo. Actúan como un hombre en el medio: el proxy termina la sesión TLS del cliente, inspecciona el contenido, luego lo vuelve a cifrar y lo reenvía al servidor real. Para evitar advertencias del navegador, los administradores deben instalar un certificado que el cliente confíe en cada dispositivo. CISA advierte que el cliente solo puede verificar su conexión al producto de intercepción, no al servidor de destino.

Términos Relacionados