Como encaminhar o tráfego HTTPS através do squid de forma transparente?

4

Eu quero redirecionar todo o tráfego HTTP e HTTPS para squid agindo como um proxy transparente. Esse tráfego será bloqueado ou autorizado (em massa) durante determinadas horas. Especificamente, não desejo descriptografar / re-criptografar o tráfego HTTPS, mas pressioná-lo como ele.

A parte HTTP funciona, uma regra REDIRECT em shorewall transfere todo o tráfego destinado à porta de destino 80 para a porta de escuta 3128 squid no modo transparent .

O mesmo truque para a porta 443 não funciona.

Existem tutoriais sobre como configurar o proxy transparente para o tráfego HTTPS, mas todos os que eu encontrei descrevem a criação de um par certifcado para descriptografar / re-criptografar o tráfego - algo que eu não quero fazer.

O wiki do squid menciona o CONNECT como uma forma de encapsular o tráfego HTTPS, mas adicionando http_access allow CONNECT all a a configuração (e desativando o padrão deny ) não altera nada.

Em seguida, alguns anteriores respostas sugerem que o tráfego HTTPS transparente não é possível sem interromper o túnel TLS.

Portanto: há uma maneira de configurar o squid para que o tráfego HTTPS redirecionado para ele via iptables seja transferido de forma transparente, sem nenhuma modificação?

(Eu acabaria por bloquear quando algumas regras de tempo são cumpridas (isto quer dizer que o bloco não será baseado em nada dentro do próprio stream HTTPS))

    
por WoJ 09.05.2016 / 21:58

1 resposta

4

but all the ones I found describe the creation of a certificate pair to decrypt/re-encrypt the traffic - something I do not want to do.

O que você está pedindo simplesmente não é possível devido ao funcionamento do protocolo https. Suas opções são:

  • Permitir https de saída através do seu firewall e não tente usar nenhum proxy
  • Configure clientes para usar seu proxy / filtro e eles usarão chamadas HTTP CONNECT para o proxy.
  • Configure seu proxy para ser um homem no meio e execute sslbump.

I would just eventually block when some time rules are met

Você pode com os módulos iptables corretos filtrar com base na hora do dia. Talvez você deva lidar apenas com a filtragem de hora do dia no seu firewall?

    
por 09.05.2016 / 23:27