The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Squid, HTTPS и современные браузеры, !*! vladadm, 04-Сен-14, 12:26  [смотреть все]
  Приветствую.

Hекоторое время назад перестала срабатывать блокировка по HTTPS (при прозрачном проксировании, с использованием ssl_bump). Сначала грешил на сквид (давно обновился на 3.3). После изучения логов, я увидел, что по https-запросам в строке CONNECT, вместо домена всегда висит IP, при этом, от пользователей, сидящих на Win XP и IE 8 - я продолжаю видеть запросы по домену.

=== выдержка из документации сквида ===
Примерный перевод:
Hекоторые браузеры отправляют IP-адреса в запросы на подключение, даже если пользователь ввел имя сервера (url - не ip) в адресной строке. Hичего не можем с этим поделать, т.к мы не отвечаем за исходный код браузеров.

Оригинал:
Some browsers (e.g., Rekonq browser v0.7.x) send IP addresses in CONNECT requests even when the user typed a host name in the address bar. Squid cannot handle both such browsers and URLs with IP addresses instead of host names because Squid cannot distinguish one case from another. There is nothing we can do about it until somebody contributes code to reliably detect CONNECT requests from those  browsers.
=== выдержка из документации сквида ===

И эти <некоторые браузеры> - это все современные (хром, ie11 и прочие) просто перестали обращатся в сайтам по доменному имени, передавая в строке не URL, а исключительно IP :(

Соответственно, если мы хотим запретить, например, вход на mail.ru по домену - то мы можем это сделать только для пользователей с Win XP, и максимально IE8.

Пример из лога сквида (вырезка 1 строчки из входа на mail.ru):
=== https-запрос от пользователя на XP с IE8 ===
1409725807.296 317 192.168.21.6 TCP_MISS/200 341 CONNECT rs.mail.ru:443 -
HIER_DIRECT/94.100.181.196 -
=== https-запрос от пользователя на XP с IE8 ===

=== https-запрос от пользователя на Win7 с IE11 ===
1409733165.939 2034 192.168.21.77 TCP_MISS/200 1392 CONNECT 94.100.181.196:443
- HIER_DIRECT/94.100.181.196 -
=== https-запрос от пользователя на Win7 с IE11 ===

Кто-нибудь по URL (не по IP) фильтрует трафик? Что посоветуете?

p.s: пока придумали только кривокостыль: регулярно резолвим банлисты, преобразуем их в список ip. Блокируем эти ip по https, в отдельных секциях.

Так же запросил тут: http://rejik.ru/bb_rus/viewtopic.php?f=1&t=1323

upd: это наблюдается только при прозрачном проксировании https, с ssl_bump. Похоже не в браузерах дело.
Вообщем, кто сталкивался, кто наблюдал такое?

  • Squid, HTTPS и современные браузеры, !*! rusadmin, 13:43 , 04-Сен-14 (1)
    0. Советую почитать теорию как работает TLS/HTTPS
    1. На прозрачных прокси наблюдается, потому что хост сам определяет IP сервера через свой DNS, и обращается напрямую без имен. Хост не в курсе, что он ходит через прокси.
    Вам нужно либо переходить на обычный прокси (не транспарентный), либо вечно резолвить свои блэклисты и подсовывать сквиду. При выборе второго варианта вы заблокируете кучу ресурсов дополнительно
    • Squid, HTTPS и современные браузеры, !*! vladadm, 15:52 , 04-Сен-14 (2)
      > 0. Советую почитать теорию как работает TLS/HTTPS
      > 1. На прозрачных прокси наблюдается, потому что хост сам определяет IP сервера
      > через свой DNS, и обращается напрямую без имен. Хост не в
      > курсе, что он ходит через прокси.
      >  Вам нужно либо переходить на обычный прокси (не транспарентный), либо вечно
      > резолвить свои блэклисты и подсовывать сквиду. При выборе второго варианта вы
      > заблокируете кучу ресурсов дополнительно

      Понял, пасиб...

      Раньше же работало :( До перехода на 3.3 всё работало и на 2.6 и на 2.7 и 3.1... всё норм было с прозрачным прокси на сквиде, перешёл на 3.3. Правда и заметил не сразу - юзера, сидящие на ХР в IE8 так и блочатся, как блочились. :(
      Блин :(

      Ну и http-то норм урлы отдаёт...

      ссл в конфиге настроен:

      === squid ===
      http_port local_ip:3128
      http_port local_ip:3129 intercept
      https_port local_ip:3130 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/tmp/squid.pem key=/tmp/squid.pem
      ssl_bump none
      === squid ===

      ipfw:
      ipfw add 50 allow tcp from me to any 80,443 out via ${extif} keep-state uid squid
      ipfw add 51 fwd local_ip,3129 tcp from ${lan} to any 80 out via ${extif}
      ipfw add 52 fwd local_ip,3130 tcp from ${lan} to any 443 out via ${extif}




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

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