Proxy HTTPS Squid transparente con padre ascendente

Proxy HTTPS Squid transparente con padre ascendente

Tengo una red sin acceso directo a Internet donde tengoCalamar 3.5.9como unproxy transparenteescuchando tcp/8080HTTP y tcp/8443HTTPS (redireccionado iptablesdesde tcp/80 y tcp/443 respectivamente).

Este Calamar tampoco tiene acceso directo a Internet, pero puede hablar con un Calamar padre en otra parte de la red que sí tiene acceso a Internet.

Con HTTP funciona bien: el cliente realiza una solicitud ahttp://www.ejemplo.com(puerto 80), el enrutador y iptables redirigen la conexión al puerto 8080 de Squid, que intercepta la solicitud y realiza una solicitud al proxy ascendente que la atiende como de costumbre. Estas son las opciones de configuración utilizadas:

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

Eso funciona bien. Ahora quería hacer algo similar 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

Sin cache_peerél, funciona como se esperaba, es decir, genera automáticamente un certificado SSL falso y establece una conexión directa con el objetivo.

Sin embargo, cache_peerno funciona. Recibo un error HTTP/503 del 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

Alternativamente, si cambio la ssl_bumpconfiguración a esto:

acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

Recibo un mensaje de error en cache.log:

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

Cuando uso este proxy en modo no transparente, es decir, configuro el proxy en el cliente para proxy-test:3128, funciona:

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

Entonces necesito de alguna manera cambiar la HTTPSsolicitud que llega aprueba de proxyen CONNECTla solicitud que se reenvía aproxy-ascendente. Si Squid no puede hacer eso, ¿existe algún otro software proxy de transparente a no transparente que pueda hacerlo?

¡Gracias!

información relacionada