Proxy Squid HTTPS Transparente com pai ascendente

1

Eu tenho uma rede sem acesso direto à internet, onde eu tenho Squid 3.5.9 como um proxy transparente ouvindo tcp/8080 para HTTP e em tcp/8443 para HTTPS (redirecionado via iptables de tcp / 80 e tcp / 443, respectivamente).

Esse Squid também não tem acesso direto à Internet, mas pode conversar com um pai Squid em outra parte da rede que tenha acesso à Internet.

Com HTTP ele funciona bem - o cliente faz um pedido para link (porta 80), roteador e iptables redirecionam a conexão para a porta do Squid 8080 , que intercepta o pedido e faz um pedido ao proxy upstream que o serve como de costume. Aqui estão as opções de configuração usadas:

http_port 8080 intercept
cache_peer proxy-upstream parent 3128 0 no-query
never_direct allow all

Isso funciona bem. Agora eu queria fazer algo semelhante para HTTPS:

https_port 8443 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/myCA.pem
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
sslcrtd_children 5

ssl_bump bump all

Sem cache_peer , ele funciona como esperado, ou seja, gera automaticamente um certificado SSL falso e estabelece uma conexão direta com o destino.

No entanto, com cache_peer , não funciona. Eu recebo o erro HTTP / 503 do proxy:

1446684476.877  0 proxy-client TAG_NONE/200 0 CONNECT 198.51.100.10:443 - HIER_NONE/- -
1446684476.970  3 proxy-client TCP_MISS/503 4309 GET https://secure.example.com/ - FIRSTUP_PARENT/proxy-upstream text/html

Como alternativa, se eu alterar a configuração ssl_bump para isso:

acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

Eu recebo uma mensagem de falha no cache.log:

2015/11/05 01:07:11 kid1| assertion failed: PeerConnector.cc:116: "peer->use_ssl"

Quando uso esse proxy no modo não transparente, ou seja, configurando o proxy no cliente para o teste de proxy: 3128, ele funciona:

1446684724.879 141 proxy-client TCP_TUNNEL/200 1886 CONNECT secure.example.com:443 - FIRSTUP_PARENT/proxy--upstream -

Então, eu preciso de alguma forma transformar a solicitação HTTPS que chega em proxy-test na solicitação CONNECT que é encaminhada para proxy-upstream . Se o Squid não puder fazer isso, existe algum outro software de proxy transparente para não transparente que possa fazer isso?

Obrigado!

    
por MLu 05.11.2015 / 02:12

0 respostas