URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 7131
[ Назад ]

Исходное сообщение
"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 , 04-Сен-14 13:43 
0. Советую почитать теорию как работает TLS/HTTPS
1. На прозрачных прокси наблюдается, потому что хост сам определяет IP сервера через свой DNS, и обращается напрямую без имен. Хост не в курсе, что он ходит через прокси.
Вам нужно либо переходить на обычный прокси (не транспарентный), либо вечно резолвить свои блэклисты и подсовывать сквиду. При выборе второго варианта вы заблокируете кучу ресурсов дополнительно

"Squid, HTTPS и современные браузеры"
Отправлено vladadm , 04-Сен-14 15:52 
> 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}


"Squid, HTTPS и современные браузеры"
Отправлено rusadmin , 05-Сен-14 06:47 
думаю просто в новых браузерах секурность повысили. Чтобы домены не светить.
HTTP ты видишь, потому что данные незашифрованные. А тут обратная ситуация

"Squid, HTTPS и современные браузеры"
Отправлено pavlinux , 09-Сен-14 04:19 
> Раньше же работало

А ещё есть такая хрень как SPDY, NaCl,... Tor и куча свободных проксей, а ещё у юзеров есть мобилы с 4G.

Squid уже морально устарел. От него только одна польза - кэширование.      


"Squid, HTTPS и современные браузеры"
Отправлено pavlinux , 09-Сен-14 04:23 
> ipfw:
> ipfw add

А.... всё ясно.