Cómo redirigir la solicitud Https CONNECT con el proxy explícito Squid

Cómo redirigir la solicitud Https CONNECT con el proxy explícito Squid

Quiero bloquear ciertas URL para algunos usuarios de mi red interna. Estoy usando un proxy explícito basado en Squid para este propósito con un programa de redirección. Los clientes están configurados para usar un archivo pac para las URL https que les permite enrutar sus solicitudes https al proxy explícito.

El problema es que falla la redirección de cualquier solicitud CONNECT para una URL https a una URL de página bloqueada. Probé las URL de páginas bloqueadas basadas en http y https, pero no pude encontrar suerte. Por algunas razones, no quiero utilizar un proxy transparente con salto SSL.

  1. Safari muestra el error "Safari no puede abrir la página". El error fue "Hubo un problema al establecer un túnel seguro a través del servidor proxy web".

  2. Chrome muestra el error "Esta página web no está disponible". ERR_TUNNEL_CONNECTION_FAILED'.

Aquí hay una línea de access.log parahttps://www.yahoo.com.

07/octubre/2015:01:41:29 -0500 74 172.0.0.9 TCP_REDIRECT/302 253 CONNECT www.yahoo.com:443 - HIER_NONE/- -

Leí en alguna parte que el navegador espera iniciar un protocolo de enlace SSL/TLS después de la solicitud de conexión y es por eso que falla. Aquí hay una cita de la documentación de squid redirector.

"Las modificaciones de URL y, en particular, la redirección, sólo son posibles con ciertos métodos, y algunos como POST y CONNECT requieren cuidado especial".

No dice que la redirección no sea posible para el método CONNECT. Sin embargo, en ningún lugar se menciona cómo podemos redirigir POST y CONNECT (estoy particularmente interesado en CONNECT) ni se da ningún ejemplo.

Guíeme sobre cómo redirigir las solicitudes de conexión https a una página bloqueada. Si esto no es posible, ¿existe alguna solución con un proxy explícito? Gracias.

Estoy usando Squid 3.5.4 en Ubuntu.

Respuesta1

Desafortunadamente, esto no es posible sin primero activar (descifrar) la conexión SSL. Los navegadores, por diseño, niegan cualquier carga útil/redireccionamiento adicional procedente de solicitudes CONNECT fallidas. Para una descripción más formal, consulte:http://docs.diladele.com/faq/squid/cannot_connect_to_site_using_https.html.

Si ustedhacerSi decide realizar el descifrado SSL, entonces es posible permitir primero que la solicitud CONNECT se realice correctamente y luego bloquear/redirigir la siguiente solicitud HTTP que llegue a través de este túnel de conexión establecido; tenga en cuenta que es posible que ni siquiera sea HTTP, ya que algunas aplicaciones utilizan el túnel proxy CONNECT para sus propios protocolos (como Skype por ejemplo).

También es algo a tener en cuenta: si la aplicación utilizó la técnica de "fijación SSL" al realizar solicitudes CONNECT al proxy, se negará a funcionar con conexiones descifradas.

información relacionada