Como redirecionar solicitação Https CONNECT com proxy explícito Squid

Como redirecionar solicitação Https CONNECT com proxy explícito Squid

Quero bloquear determinados URLs para alguns usuários da minha rede interna. Estou usando um proxy explícito baseado em squid para essa finalidade com um redirect_program. Os clientes são configurados para usar um arquivo pac para URLs https, o que os faz rotear suas solicitações https para o proxy explícito.

O problema é que o redirecionamento de qualquer solicitação CONNECT de um URL https para um URL de página bloqueada falha. Tentei URLs de páginas bloqueadas baseadas em http e https, mas não tive sorte. Por alguns motivos, não quero usar um proxy transparente com SSL bumping.

  1. O Safari apresenta o erro 'O Safari não consegue abrir a página. O erro foi "Ocorreu um problema ao estabelecer um túnel seguro através do servidor proxy da web"'

  2. O Chrome apresenta o erro 'Esta página da web não está disponível. ERR_TUNNEL_CONNECTION_FAILED'.

Aqui está uma linha de access.log parahttps://www.yahoo.com.

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

Li em algum lugar que o navegador espera iniciar um handshake SSL/TLS após a solicitação de conexão e é por isso que está falhando. Aqui está uma citação da documentação do redirecionador squid.

"Alterações de URL e principalmente redirecionamentos só são possíveis em determinados métodos, e alguns como POST e CONNECT requerem cuidados especiais."

Não diz que o redirecionamento não é possível para o método CONNECT. No entanto, em nenhum lugar é mencionado como podemos redirecionar POST e CONNECT (estou particularmente interessado em CONNECT) ou qualquer exemplo é dado.

Por favor, oriente-me sobre como redirecionar solicitações de conexão https para uma página bloqueada. Se isso não for possível, existe uma solução alternativa para isso com proxy explícito? Obrigado.

Estou usando o squid 3.5.4 no Ubuntu.

Responder1

Infelizmente, isso não é possível sem primeiro descriptografar (descriptografar) a conexão SSL. Os navegadores, por design, negam qualquer carga/redirecionamento adicional de solicitações CONNECT com falha. Para uma descrição mais formal, consulte -http://docs.diladele.com/faq/squid/cannot_connect_to_site_using_https.html.

Se vocêfazerdecidir realizar a descriptografia SSL, então é possível primeiro permitir que a solicitação CONNECT seja bem-sucedida e depois bloquear/redirecionar a próxima solicitação HTTP que passa por este túnel de conexão estabelecido - leve em consideração que se não for HTTP, pois alguns aplicativos usam o túnel proxy CONNECT para seus próprios protocolos (como o Skype, por exemplo).

Também é algo para se ter em mente - se o aplicativo usou a técnica de "fixação SSL" ao fazer solicitações CONNECT ao proxy - ele se recusará a trabalhar com conexões descriptografadas.

informação relacionada