The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
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)
    • 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)
        • 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

          для гугла пока не получается добавить все домены и поддомены, дроп боксом пока не занимался




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру