URL filtrando o tráfego HTTPS

1

a configuração com a qual estou lidando é um proxy HTTP transparente: no firewall todo o tráfego HTTP (porta 80) é redirecionado para o proxy via iptables; O Dansguardian é instalado no proxy e filtra os URLs. Ao ler na Web, percebi que, se eu redirecionar o tráfego HTTPS (porta 443) para o proxy também, os usuários receberão um erro quando apontarem para um site HTTPS, correto?

A solução que encontrei para resolver esses problemas é:

  • Eu removo a regra de redirecionamento no firewall e os usuários especificam o endereço do proxy nas opções de conexão em seus navegadores. Eles precisam especificar uma porta diferente para o tráfego HTTPS ou a porta padrão (3128) pode ser especificada para cada protocolo? Ou eu tenho que especificar a diretiva 'https_port' no squid.conf?
  • Eu removi a regra de redirecionamento no firewall e criei um arquivo de configuração (proxy.pac / wpad.dat); os usuários especificam o URL desse arquivo em seus navegadores, portanto, ele carrega automaticamente configurações de proxy.

Neste ponto, minha pergunta é: por que essas soluções funcionam com tráfego HTTPS e o proxy transparente não?

Obrigado antecipadamente.

    
por J.B. 12.04.2013 / 21:58

2 respostas

0

No momento em que o tráfego https chega ao proxy transparente, há apenas o IP "visível": informações insuficientes para recriar o pedido de conexão e procurá-lo.

Quando você define um proxy em seu navegador (manualmente ou por proxy.pac), o navegador sabe enviar mais informações ao proxy sobre o que ele quer.

Alguns proxies podem usar informações SNI para representar de forma transparente a maioria do tráfego SSL - e, em seguida, filtrar o domínio (a partir das informações sni) ou MITM e fazer um trabalho de filtragem completo. Eu trabalho para um fornecedor de um desses filtros - Smoothwall (que também emprega o dansguardian Dan).

    
por 12.04.2013 / 23:21
0

O protocolo HTTPS implementa SSL que, em geral, garante integridade, não repúdio e confidencialidade. Tentativa de proxy transparente O tráfego HTTPS é meio man-in-the-middle e assim quebra o canal SSL.

Se você deseja usar o protocolo HTTPS sem quebrar o canal SSL, você precisa usar o chamado túnel CONNECT, do qual o cliente deve estar ciente (ele então envolve o SSL dentro do HTTP CONNECT).

Do they have to specify a different port for the HTTPS traffic or default port (3128) can be specified for each protocol? Or do I have to specify 'https_port' directive on squid.conf?

O túnel CONNECT funciona em http_port

I remove the redirect rule on the firewall and create a configuration file (proxy.pac/wpad.dat); the users specify the URL of this file on their browsers, so it automatically loads proxy configurations.

Você pode fornecer aos usuários um local de proxy.pac por DHCP.

Mais sobre o Squid e HTTPS

    
por 12.04.2013 / 22:29