squid transparent https, google drive dropbox, sasiska, 16-Июл-15, 12:56 [смотреть все]Здравствуйте, имеется прокси сервер на фря:9.3-RELEASE FreeBSD 9.3-RELEASE #2: Thu Jun 11 09:52:58 MSK 2015 user@gate.local:/usr/obj/usr/src/sys/MYKERNEL amd64 И Есть вопрос Шлюз с nat+ipfw+squid, прокси работает в прозрачном режиме, так же прикручен sslbump, все работает, но есть проблема с google drive, dropbox и яндекс диском, подключение не происходит. Если прописать проксю в браузере вида 192.168.0.* 3128 то, гугл драйв начинает работать, но по https перестает блокироваться аудио видео, редиректор блокирует запрещенные сайты, но при этом почему то не перенаправляет на корп. ресурс, а просто открывается пустая страница Готов добавить в исключения (allow_site), но не понимаю как корректно занести все поддомены, пробовал на яндексе, добавив: yandex.ru disk.yandex.ru яндекс диск стал подключаться за 5-10 минут, при этом если я открываю яндекс то, в свойствах безопасности я вижу сертификат яндекса (а не свой), если я иду по вкладкам то, содержимое страниц начинает отображаться не полность, возможно там используются еще какие то сертификаты, которые прокси уже не пропускает, но с гуглом не получилось даже так. В поддержка гугла есть https://support.google.com/drive/answer/2589954?hl=ru вся имена, которые надо добавить в исключения, но не очень понятно как это сделать корректно, и в каком виде Если смотреть логи, то весь трафик идет на googledrive.com:433 Пробовал добавлять googledrive.\com, но результат тот же конфиг сквида (убрал блокировку видео\аудио и флеша для сокращения): shutdown_lifetime 2 seconds ######################################################################### acl localnet src 192.168.0.0/24 ###########################################################################
acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !Safe_ports # Deny CONNECT to other than secure SSL ports http_access deny CONNECT !SSL_ports # Only allow cachemgr access from localhost acl webserver src 192.168.0.30/32 http_access allow manager localhost http_access allow manager webserver http_access deny manager cachemgr_passwd ********* all http_access deny to_localhost acl allow_sites url_regex "/usr/local/etc/squid/allow_site" ########################################################################### http_access allow localnet http_access allow localhost ####################################################################### http_access deny all ####################################################################### # Squid normally listens to port 3128 http_port 3128 http_port 3129 intercept https_port 3127 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/usr/local/etc/squid/squid.pem key=/usr/local/etc/squid/squid.pem redirect_program /usr/local/rejik3/redirector /usr/local/rejik3/redirector.conf ssl_bump none domains_ssl_direct ssl_bump server-first all # Also add the following lines to enable SSL bumping: always_direct allow all !domains_ssl_direct ssl_bump client-first all # the following two options are unsafe and not always necessary: sslproxy_cert_error allow all sslproxy_flags DONT_VERIFY_PEER #sslproxy_capath /var/lib/ssl_db/certs sslcrtd_program /usr/local/libexec/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB #Access.log #log_fqdn on access_log /var/log/squid/access.log squid !user-gods # Uncomment and adjust the following to add a disk cache directory. cache_log /var/log/squid/cache.log cache_dir ufs /var/squid/cache 8192 16 256 maximum_object_size 10 MB cache_effective_user squid #cachemgr_passwd none all # Leave coredumps in the first cache dir coredump_dir /var/squid/cache/squid
# # Add any of your own refresh_pattern entries above these. # refresh_pattern ^ftp: &n... 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 dns_v4_first on redirector_access deny localhost
|
- squid transparent https, google drive dropbox, Alexander Sheiko, 23:52 , 16-Июл-15 (1)
> все работает, но есть проблема с google drive, dropbox и яндекс > диском, подключение не происходит. Если прописать проксю в браузере вида 192.168.0.* > 3128 то, гугл драйв начинает работать, но по https перестает блокироваться > аудио видео, редиректор блокирует запрещенные сайты, но при этом почему то > не перенаправляет на корп. ресурс, а просто открывается пустая страница Когда Вы ставите прокси в броузере, соединение идёт методом connect и прокси видит лишь домены, без полных ссылок. По этому и не блокирует. Мне кажется, что нужно копать в сторону того, чтобы сертификат прокси сервера не использовался для установки соединений с серверами. В настройках прокси должны быть подобные опции. Когда устанавливается TLS соединение, возможны варианты, как использования сертификатов клиента (ваш прокси) и сервера (упомянутые сайты), так и использование только сертификатов сервера. Так вот - Ваш проси имеет "кривой" сертификат, который не пройдёт проверку на вышеупомянутых серверах и они его отбросят - соединение не установится.
- squid transparent https, google drive dropbox, sasiska, 13:01 , 17-Июл-15 (2)
> Когда Вы ставите прокси в броузере, соединение идёт методом connect и прокси Но при этом запрещенные ресурсы фильтруются, даже не смотря на https, тот же ютуб, вконтакт по https не открывается на пользовательских машинах. Или при этом сам сквид не лезет в https трафик, а видит лишь доменное имя? То есть squid увидел как пользователь ломанулся по https на страницу vk.com, и прокся его отфутболила, но при этом если пользователю будет разрешен туда доступ то, когда он зайдет трафик расшифровать, как при ssl_bump будет невозможно? > видит лишь домены, без полных ссылок. По этому и не блокирует. Да, это понятно >Мне кажется, что нужно копать в сторону того, чтобы сертификат прокси сервера не использовался для установки соединений с серверами. Ну я и хотел добавить в исключения все имена, но через url_regex указываю основные домены, такие как google.com googledrive.com, но при это их поддомены, как написано в статье поддержки гугла, например drive.google.com или docs.google.com почему то не попадают в исключения. Так же и с яндексом, какие то поддомены яндекса, например market.yandex.ru или maps.yandex.ru нормально ходят мимо прокси, но именно disk.yandex.ru не хочет это делать >Так вот - Ваш проси имеет "кривой" сертификат, который не пройдёт проверку на вышеупомянутых серверах Кривой так как самоподписанный?
- squid transparent https, google drive dropbox, sasiska, 13:01 , 17-Июл-15 (3)
> Когда Вы ставите прокси в броузере, соединение идёт методом connect и прокси Но при этом запрещенные ресурсы фильтруются, даже не смотря на https, тот же ютуб, вконтакт по https не открывается на пользовательских машинах. Или при этом сам сквид не лезет в https трафик, а видит лишь доменное имя? То есть squid увидел как пользователь ломанулся по https на страницу vk.com, и прокся его отфутболила, но при этом если пользователю будет разрешен туда доступ то, когда он зайдет трафик расшифровать, как при ssl_bump будет невозможно? > видит лишь домены, без полных ссылок. По этому и не блокирует. Да, это понятно >Мне кажется, что нужно копать в сторону того, чтобы сертификат прокси сервера не использовался для установки соединений с серверами. Ну я и хотел добавить в исключения все имена, но через url_regex указываю основные домены, такие как google.com googledrive.com, но при это их поддомены, как написано в статье поддержки гугла, например drive.google.com или docs.google.com почему то не попадают в исключения. Так же и с яндексом, какие то поддомены яндекса, например market.yandex.ru или maps.yandex.ru нормально ходят мимо прокси, но именно disk.yandex.ru не хочет это делать >Так вот - Ваш проси имеет "кривой" сертификат, который не пройдёт проверку на вышеупомянутых серверах Кривой так как самоподписанный?
- squid transparent https, google drive dropbox, Alexander Sheiko, 22:04 , 17-Июл-15 (4)
> Или при этом сам сквид не лезет в https трафик, а видит лишь доменное имя?Именно так. > но при этом если пользователю будет разрешен туда доступ то, когда он зайдет трафик расшифровать, как при ssl_bump будет невозможно? Да. Ибо он заходит методом connect. После установки соединения все команды передаются уже зашифрованными. > Кривой так как самоподписанный? Да. Ищите опции, отвечающие за использование сертификата прокси при работе с сайтами. Его передачу сайтам нужно отключить.
- squid transparent https, google drive dropbox, sasiska, 12:08 , 20-Июл-15 (5)
> Ищите опции, отвечающие за использование сертификата прокси при работе с сайтами. Его > передачу сайтам нужно отключить.ну я так и пытался сделать, создал acl acl domains_ssl_direct url_regex "/usr/local/etc/squid/allow_site" в файле allow_site дословно написал yandex.ru disk.yandex.ru дальше исключил из сслбумпа ssl_bump none domains_ssl_direct И сам яндекс открывается нормально, с сертификатом самого яндекса, а не сгенерированного проксей, но яндекс диск не работает. несмотря на url_regex почему то он добавил не все поддомены сайта, то есть у той же radio.yandex.ru сертификат уже попадает самоподписанный ps может кому то поможет, яндекс диск сейчас работает порядок действий такой: делаем acl куда добавим все доменные имена acl domains_ssl_direct url_regex "/usr/local/etc/squid/allow_site" url_regex - означает, что надо включить поддомены (если я ничего не путаю) в сам файл allow_site добавим записи для этой acl, для яндекса disk.yandex.ru и webdav.yandex.ru, этого оказалось достаточно Дальше делаем исключение из sll_bump, где domains_ssl_direct - вышесозднная acl
ssl_bump none domains_ssl_direct для гугла пока не получается добавить все домены и поддомены, дроп боксом пока не занимался
- squid transparent https, google drive dropbox, Alexander Sheiko, 23:36 , 20-Июл-15 (6)
> в файле allow_site дословно написал yandex.ru disk.yandex.ru > дальше исключил из сслбумпа > ssl_bump none domains_ssl_direct > И сам яндекс открывается нормально, с сертификатом самого яндекса, а не сгенерированногоЭто не то. Вы выключили подмену сертификата для этих доменов. А нужно выключить не это, а передачу самоподписанного сертификата прокси при установке TLS соединения с сервером. TLS соединение с сервером может осуществляться, как с использованием только сертификата сервера (что нам нужно), так и с обоюдным использованием сертификатов сервера и прокси (что нам не нужно). > url_regex - означает, что надо включить поддомены (если я ничего не путаю) url_regex означает, что к списку применяется регулярное выражение.
|