Назад | Перейти на главную страницу

Удар SSL Squid с родительским прокси

Работает ли поддержка SSL с родительским прокси? squid и pf настроены так:

squid.conf:

http_port 3128 intercept
https_port 3129 intercept ssl-bump generate-host-certificates=on key=/usr/local/etc/squid/ssl/squid.key cert=/usr/local/etc/squid/ssl/squid.pem

sslproxy_flags DONT_VERIFY_PEER
sslproxy_cert_error allow all
ssl_bump client-first none
ssl_bump server-first all


cache_peer proxy.office.com parent 8080 0 login=user:password

pf.conf

rdr pass on lo0 proto tcp from any to any port 80 -> 127.0.0.1 port 3128
rdr pass on lo0 proto tcp from any to any port 443 -> 127.0.0.1 port 3129

pass out on en0 route-to lo0 inet proto tcp from any to any port 80 keep state
pass out on en0 route-to lo0 inet proto tcp from any to any port 443 keep state

squid версия:

Squid Cache: Version 3.2.9
configure options:  '--disable-debug' '--disable-dependency-tracking' '--prefix=/usr/local/Cellar/squid/3.2.9' '--localstatedir=/usr/local/var' '--enable-ssl' '--enable-ssl-crtd' '--disable-eui' '--enable-ipfw-transparent' 'CC=cc' 'CXX=c++' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.8'

Для HTTP все работает нормально, но HTTPS-соединения повышаются 1372080519.323 0 172.17.244.135 NONE/400 3998 NONE error:invalid-request - HIER_NONE/- text/html в cache.log. Родительский прокси-сервер работает, если он установлен в браузерах как прокси-сервер HTTPS.

Там нужно 3 строчки:

http_port 3128
http_port 3129 intercept
https_port 3130 intercept ssl-bump...

Укажите прокси-сервер HTTP и SSL в браузере на 3128, и он должен работать. Каждый раз, когда он получает безопасный запрос CONNECT, он переходит к 3130 для https. Никаких других записей в брандмауэре не требуется, поскольку все это внутреннее устройство squid.