squid proxy transparente https

2

Espero que alguém possa me ajudar. Eu tenho esse problema:

O

squid está rodando como um proxy transparente ssl, e no momento ele está recebendo todo o tráfego com estas duas regras do iptables:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3130

até agora não há problema algum. tudo funciona perfeito ... mas quando eu adiciono qualquer acl simples para bloquear um site ssl, eu recebo o erro deste navegador: erro de conexão ssl (ERR_SSL_PROTOCOL_ERROR) também, se eu tentar executar o squid com a linha atualmente comentada no conf colado abaixo, Eu recebo um erro de certificado (incompatibilidade de domínio) do cliente.

http_port 3128 intercept https_port 3130 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/usr/local/squid/ssl_cert/proxy_matrix-test_com.crt key=/usr/local/squid/ssl_cert/squid.key acl broken_sites dstdomain .example.com ssl_bump none localhost ssl_bump none broken_sites
#ssl_bump server-first all ssl_bump none sslcrtd_program /usr/local/squid/libexec/ssl_crtd -s /usr/local/squid/var/lib/ssl_db
-M 4MB sslcrtd_children 5

(cert.crt é assinado por uma autoridade de certificação reconhecida) alguma idéia? obrigado.

    
por user3401310 18.03.2014 / 14:39

1 resposta

1

Você sempre obterá um erro de certificado ao usar o Squid por SSL. A razão é que existe uma conexão SSL separada do Squid para o site de destino e do Squid para o navegador. Assim, quando o navegador é apresentado com um certificado do Squid, mesmo que possa ser assinado, o domínio não corresponde.

+-----------+               +-------+               +---------+
| gmail.com |<----Cert1---->| Squid |<----Cert2---->| Browser |
+-----------+               +-------+               +---------+

Existe uma maneira de contornar isso em algumas situações. Você pode usar a geração do Certificado SSL dinâmico, que gera um certificado para o domínio de destino, por exemplo, gmail.com, e assina-o com uma CA raiz autoassinada que você criou. O problema é que o certificado da CA raiz auto-assinado deve ser confiável em cada navegador / cliente que acessará a Internet por meio do proxy. Ele não precisa ser assinado por uma autoridade de certificação real, na verdade, não pode ser. Se, em um ambiente Windows, você provavelmente puder enviar a autoridade de certificação raiz autoassistida por meio do Gerenciador de diretivas de grupo.

link

    
por 06.12.2016 / 11:23