2013-09-10 2 views

ответ

5

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

+1

Google Chrome может читать SSL через кеш, но Firefox не может. С другой стороны, когда вы используете Hotspot, оба браузера могут читать SSL через прокси. Вот где меня путают с –

+0

Squid может передавать произвольный трафик TCP, такой как SSL, используя директиву CONNECT, но никак не может кэшировать содержимое. Поэтому ответ на ваш первоначальный вопрос просто нет. Вы не можете кэшировать веб-контент для SSL-соединений, как зашифрованные в конец. Как заставить Firefox подключаться к URL-адресам https через прокси-сервер - совершенно другой вопрос, который не имеет никакого отношения к кешированию. – krisku

+0

с использованием [ssl-bump] (http://wiki.squid-cache.org/Features/SslBump), squid может установить сокет между клиентом <-> прокси и прокси <-> происхождения. Когда это будет сделано, трафик будет очищен прокси и может быть кэширован до того, как он будет возвращен клиенту. – cjac

1

У меня нет проблем с получением Firefox (версия 23.0.1 в Windows) для маршрутизации трафика SSL через Squid. В настройках сетевого подключения Firefox я просто указываю SSL Proxy и HTTP Proxy на ту же установку Squid.

После того, что я могу успешно получить доступ к HTTPS URL-адресов в Firefox и в access_log Squid, я вижу, как эти записи:

1379660084.878 115367 10.0.0.205 TCP_MISS/200 6581 CONNECT www.gravatar.com:443 - DIRECT/68.232.35.121 - 

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

+1

, что не проблема, squid принимает ssl, но он не кэширует его. http-контент получил кеширование, но https не –

+1

Как я уже сказал, вы не можете кэшировать трафик SSL! Все данные зашифрованы, поэтому Squid не может видеть или понимать что-либо из содержимого. Squid видит только TCP-соединение с портом 443 на удаленном веб-сервере, но все в трафике зашифровывается. Squid не знает, к каким URL-адресам вы обращаетесь на этом сервере, он не видит, что вы запрашиваете, и он не видит, что такое ответы. Вот что зашифровано! – krisku

+0

krisku, проблема заключается не в том, чтобы получать squid для прокси-трафика SSL, он заставляет его кэшировать содержимое SSL-туннеля. Конфигурация по умолчанию позволяет клиенту запрашивать https-трафик через прокси-сервер. Без ssl-bump прокси-сервер не видит трафик SSL и не может кэшировать его. Часть, которая * не * работает с firefox (и делает с chrome), - это ssl-соединение между клиентом и прокси-сервером для тех враждебных сетей, в которых вы не хотите передавать текстовое содержимое между клиентом и прокси-сервером. – cjac

8

На самом деле SQUID может быть использован для доступа HTTPS трафика - это, по сути, атака человек-в-середине - и есть предостережений:

См: http://wiki.squid-cache.org/Features/SslBump

Я не пробовал кэширование это данных, поэтому нельзя сказать, что он будет работать с абсолютной уверенностью. Если/когда я это сделаю, я обновлю этот пост.

+2

Это довольно уродливый взлом. В этом случае браузер не увидит настоящие серверные сертификаты, а вместо этого подделывает сертификаты, динамически создаваемые Squid, то есть вы должны установить доверенный корневой центр сертификации в браузере, чтобы не получать предупреждения о безопасности, но тогда вы действительно уязвимы для всех видов проблем , Например.вы * думаете * вы получаете доступ к gmail по https, но вы действительно говорите https в своем Squid, который расшифровывает ваш трафик (пароль и т. д.), а затем использует другое зашифрованное соединение для передачи данных на какой-либо сервер, который ваш браузер не может проверить. . * shrug * – krisku

+0

Это очень похоже на то, как [Microsoft ISA Server] (https://msdn.microsoft.com/en-us/library/ms826748.aspx) выполняет роль прокси-сервера кэширования SSL. Разница в том, что в среде ISA хосты за прокси-сервером управляются Active DIrectory (AD). Серверы AD, в свою очередь, могут распространять сертификаты CA на корни доверия всех хостов, которыми он управляет. Этот последний шаг должен выполняться вручную в средах Squid. – cjac

+0

@krisku Взлом, да, но это единственный способ захватить/кешировать трафик TLS/SSL. Так оно и есть. – orev

 Смежные вопросы

  • Нет связанных вопросов^_^