Estou usando o squid como um proxy explícito em minha organização para bloquear determinados sites em minha infraestrutura. Eu o configurei com sucesso usando os recursos url_rewrite_program e ssl_bump e está funcionando como um encanto.
O problema é que, até agora, não consegui descobrir o URL do site principal no access.log do squid ou no url_rewrite_program. ou seja, quando o usuário acessa um site, digamos http://www.yahoo.com , um grande número de solicitações para muitos hosts diferentes é registrado e não consigo descobrir qual site o usuário realmente deseja acessar. Eu também tentei olhar para o campo de cabeçalho do referenciador e descobri que na maioria das vezes ele não está definido. especialmente para solicitação de conexão https.
Existe uma maneira organizada e limpa de descobrir quais sites são realmente visitados pelos usuários e quais urls são realmente solicitados internamente pela página da web. Qualquer ajuda será muito apreciada.
Uma maneira clara e organizada de detectar qual site o usuário estava visitando é examinar o
Host
cabeçalho da solicitação HTTP. Se o usuário inserir o endereço na barra de endereços e o navegador do usuário abrir uma dúzia de vários URLs, isso significa que o usuário está visitando todos esses sites. A diferença entre "um usuário está visitando um site" e "um navegador está visitando um site" é estritamente filosófica: um navegador visita um site em nome da solicitação de um usuário.A única razão pela qual você realmente não pode ter certeza de qual site o usuário visita é o caso quando o usuário visita o site com uma solicitação HTTPS, cujo squid registrará como uma
CONNECT
solicitação com um endereço IP do par. Mas como você implementou o sslBump com sucesso, não deve haver complicações: para sites batidos e marcados, o squid saberá exatamente o que são. As outras vão depender de uma série de fatores.