Proxy de filtragem de domínio HTTP / HTTPS transparente [fechado]

3

Desejo configurar um proxy HTTP / HTTPS transparente para filtrar solicitações de saída com base no nome do host de destino (domínio). O próprio proxy deve ser não intrusivo e apenas encaminhar o tráfego, não descriptografá-lo / modificá-lo. No caso de HTTPS, ele deve usar a extensão TLS SNI para extrair o nome do host sem descriptografia.

Vários clientes usarão o proxy para acessar vários hosts, portanto, o proxy deve procurar se um determinado nome de host de destino é permitido para o cliente que fez a solicitação.

Isso é possível com o squid (de preferência a versão 3.3.8)? Em caso afirmativo, você poderia fornecer uma configuração simples de exemplo sobre como realizá-lo? Se não, você pode recomendar alternativas que sejam capazes de fazê-lo?

Informações adicionais:

  • servidor que deve executar o proxy é um Ubuntu 14.04
  • o redirecionamento de tráfego é coberto por outro roteador para uma porta fixa desse servidor
  • O proxy
  • deve usar o DNS normalmente para resolver o nome do host de destino ao encaminhar solicitações

Muito obrigado!

    
por Cybran 16.12.2015 / 17:58

1 resposta

2

O que você precisa é possível com o squid a partir da versão 3.5, porque você precisa do recurso 'peek-and-splice' introduzido nessa versão. Sua ação chamada "espiar": link .

Use algo como:

https_port 3130 intercept ssl-bump
ssl_bump peek all
ssl_bump splice all

intercept torna o proxy transparente.

Não tenho certeza sobre o terceiro requisito (uso de nomes DNS), o squid parece ser realmente transparente nesse modo. Mas deve extrair informação SNI se estiver lá.

Você pode usar essas informações na ACL:

acl aclname ssl::server_name .foo.com ...
    
por 16.12.2015 / 19:01