Configure o Squid para passar por tráfego SSL para hosts específicos em vez de interceptá-lo

1

Atualmente estou usando o squid em uma caixa pfSense para interceptar SSL, o que funciona bem. O problema agora é que o WhatsApp Web não funcionará por meio desse proxy, porque ele não atende ao procedimento do Handshake conforme o esperado, o que faz com que o squid termine essa conexão.

É possível excluir alvos específicos da interceptação SSL no squid para evitar esse problema?

    
por davidb 06.07.2016 / 00:05

1 resposta

2

O que você está pedindo não é possível. O que você aparentemente está tentando alcançar requer fazer outra coisa.

Porque a interceptação está sendo feita pelo sistema NAT do pfSense. O Squid é apenas o processo que recebe as conexões TCP interceptadas e executa as partes de decriptografia TLS.

Para ignorar a intercepção, você precisa alterar a configuração NAT do pfSense. Uma vez que os pacotes chegam ao Squid, é tarde demais - a única opção então é fazer proxy ou finalizar. No entanto, detectar antecipadamente se um determinado pacote TCP SYN vai se transformar em uma conexão HTTPS ou WhatsApp é um problema. Portanto, contornar a interceptação geralmente não vale a pena.

Então, o que você realmente precisa fazer é detectá-los no Squid durante o processamento do SSL-Bump e no túnel (não ignorar) o tráfego relevante através do proxy.

O Squid-3.5 pode fazer isso com a ação "ssl_bump splice" se o tráfego for realmente TLS, mas não decifrável (use o TLS SNI e / ou os detalhes do certificado do servidor para decidir sobre a emenda). Se isso não for suficiente, o Squid-4 fornece um recurso de link para o tráfego de tunelamento que acaba sendo não-TLS na porta 443.

    
por 28.09.2016 / 04:35

Tags