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

кальмар прозрачный прокси https

Я надеюсь, что кто-то может мне помочь. у меня такая проблема:

squid работает как прозрачный прокси-сервер ssl, и на данный момент он получает весь трафик с этими двумя правилами 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

пока никаких проблем. все работает идеально ... но когда я добавляю любой простой acl для блокировки веб-сайта ssl, я получаю эту ошибку браузера: ошибка подключения ssl (ERR_SSL_PROTOCOL_ERROR) также, если я пытаюсь запустить squid со строкой, которая в настоящее время прокомментирована в conf, вставленном ниже, я получаю сообщение об ошибке сертификата (несоответствие домена) от клиента.

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 подписан признанным центром сертификации) есть идеи? Спасибо.

Вы всегда будете получать ошибку сертификата при использовании Squid через SSL. Причина в том, что существует отдельное SSL-соединение от Squid к целевому сайту и от Squid к браузеру. Итак, когда браузеру предоставляется сертификат от Squid, даже если он может быть подписан, домен не совпадает.

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

В некоторых ситуациях есть способ обойти это. Вы можете использовать динамическое создание сертификата SSL, которое генерирует сертификат для целевого домена, например, gmail.com, и подписывает его с помощью созданного вами корневого центра сертификации с собственной подписью. Загвоздка в том, что самоподписанному сертификату корневого ЦС необходимо доверять в каждом браузере / клиенте, который будет получать доступ к Интернету через прокси. Он не обязательно должен быть подписан действительным центром сертификации, на самом деле это не может быть. Если в среде Windows вы, вероятно, можете вытолкнуть самоподписанный корневой ЦС через диспетчер групповой политики.

http://wiki.squid-cache.org/Features/DynamicSslCert