Transparenter HTTPS-Squid-Proxy mit Upstream-Übergeordnetem

Transparenter HTTPS-Squid-Proxy mit Upstream-Übergeordnetem

Ich habe ein Netzwerk ohne direkten Internetzugang, in dem ichTintenfisch 3.5.9Als eintransparenter ProxyLauschen Sie auf tcp/8080HTTP und auf tcp/8443HTTPS (umgeleitet über iptablesTCP/80 bzw. TCP/443).

Dieser Squid hat ebenfalls keinen direkten Internetzugang, kann aber mit einem übergeordneten Squid in einem anderen Teil des Netzwerks kommunizieren, der über Internetzugang verfügt.

Mit HTTP funktioniert es gut - der Client stellt eine Anfrage anhttp://www.example.com(Port 80), Router und iptables leiten die Verbindung auf Squids Port 8080 um, der die Anfrage abfängt und eine Anfrage an den Upstream-Proxy sendet, der sie wie üblich bedient. Hier sind die verwendeten Konfigurationsoptionen:

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

Das funktioniert gut. Jetzt wollte ich etwas Ähnliches für HTTPS machen:

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

Ohne cache_peerfunktioniert es wie erwartet, d. h. es generiert automatisch ein gefälschtes SSL-Zertifikat und stellt eine direkte Verbindung zum Ziel her.

Allerdings cache_peerfunktioniert es nicht. Ich erhalte eine HTTP/503-Fehlermeldung vom 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

Alternativ kann ich das ssl_bumpSetup folgendermaßen ändern:

acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

Ich erhalte eine Absturzmeldung im Cache.log:

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

Wenn ich diesen Proxy im nicht-transparenten Modus verwende, also den Proxy auf dem Client auf Proxy-Test:3128 konfiguriere, funktioniert es:

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

Ich muss also die HTTPSAnfrage, die aufProxy-Testin CONNECTAnfrage, die weitergeleitet wird anProxy-Upstream. Wenn Squid das nicht kann, gibt es eine andere transparent-zu-nicht-transparente Proxy-Software, die das kann?

Danke!

verwandte Informationen