lacost Posted December 1, 2017 (edited) · Report post Коллеги, здравствуйте. Никак не могу понять в чем ошибка. Стоит squid/3.1.6 слушает 3 порта, http_port 3128 http_port 3130 intercept https_port 3129 intercept xxxxx в NAT redirect tcp dpt:443 redir ports 3129 tcp dpt:80 redir ports 3130 Маршрутизация заворачивает нужный трафик на машину с сквидом. В прозрачном режиме все ОК. Так же ДНС отдает зафильтрованные сайты с ip от сквида. Пользователь обращается непосредственно на сквид, и сквид уже через внешний ДНС резолвит имя и забирает контент. Все ОК. 1512121811.929 300 x.x.77.206 TCP_MISS/302 915 GET http://www.deviantart.com/ - DIRECT/13.33.244.84 text/html 1512121820.030 298 x.x.77.206 TCP_MISS/503 4902 GET https://www.deviantart.com/ - DIRECT/13.33.244.84 text/html 1512121821.058 281 x.x.77.206 TCP_MISS/503 4897 GET https://www.deviantart.com/favicon.ico - DIRECT/13.33.244.84 text/html Разворачиваю Squid Cache: Version 3.5.8 http_port 3128 intercept http_port 3130 https_port 3129 intercept ssl-bump xxxxx в NAT redirect tcp dpt:443 redir ports 3129 tcp dpt:80 redir ports 3128 При маршрутизации и прозрачном проксировании все так же нормально работает. А вот если подменяем в DNS ip-адрес на адрес сквида - работать перестает. Сквид адрес не резолвит а обращается сам на себя. 1512121643.543 52 x.x.77.206 TCP_MISS/503 4958 GET http://www.deviantart.com/ - ORIGINAL_DST/x.x.77.193 text/html 1512121644.036 0 x.x.77.206 TCP_MISS/503 4952 GET http://www.deviantart.com/favicon.ico - ORIGINAL_DST/x.x.77.193 text/html Что забыли сделать? Кто подскажет? Edited December 1, 2017 by lacost Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GHhost Posted December 2, 2017 · Report post client_dst_passthru off ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
lacost Posted December 2, 2017 · Report post похоже борода... https://wiki.squid-cache.org/KnowledgeBase/HostHeaderForgery Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
lacost Posted December 4, 2017 · Report post А может кто-то NGINX под тему фильтрации пробовал? По документации прозрачный прокси есть, должен SSL с SNI делать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted December 4, 2017 · Report post Пробовал, но обычный http. Работало ещё лет 5 назад без проблем и нынче работает. На https забил, ибо для личного пользования, просто зафигачил в днс записи чтобы не резолвились. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
lacost Posted December 5, 2017 · Report post А как NGINX обрабатывает подмену ip-адреса? Т.е., допустим заворачиваете вы www.xxx.com на своем ДНС на машину с nginx. Nginx в свою очередь получив запрос будет ли резолвить поле host из запроса или так же как сквид будет ориентироваться на оригинальный адрес? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted December 5, 2017 · Report post Естессно будет резолвить. Дальше запрос пойдёт от IP сервера где nginx. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
lacost Posted December 5, 2017 · Report post Надо будет покрутить. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted December 9, 2017 · Report post В 05.12.2017 в 09:02, Ivan_83 сказал: Дальше запрос пойдёт от IP сервера где nginx. Вообще то есть схемы давно уже схемы transparent установки и nginx и squid ip сохраняется Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
lacost Posted December 12, 2017 · Report post В 09.12.2017 в 16:08, LostSoul сказал: Вообще то есть схемы давно уже схемы transparent установки и nginx и squid ip сохраняется HTTPS? Я, исходя из мануала по nginx не увидел что он может делать SSL-Bump Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted December 12, 2017 · Report post Только что, lacost сказал: HTTPS? ssl 100% прозрачным не получается, поэтому для втюхивания клиентам мало пригодно Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
lacost Posted December 12, 2017 · Report post Мне кажется, слово "втюхивание" не совсем то, что требуется. Вариант: сделать работу пользователя при наличии "запрещенных сайтов" максимально комфортной - более правильно звучит. И под такую задачу я кроме как squid с ssl_bump ничего подходящего не нашел. В принципе - решение сносное (правда не совсем стабильное). NGINX в принципе не готов работать с SNI для получения имени запрашиваемого ресурса и передачи запроса в вышестоящий прокси. Или я ошибаюсь? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted December 12, 2017 · Report post тоесть митмить шифрованный трафик это решение ? я бы послал за такую "услугу" сразу... втюхивание - правильное слово. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GHhost Posted December 12, 2017 · Report post почему митмить? sni получили и по нему, митмить он стока не прожует мне кажеца судя по тому как там это сделано. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted December 12, 2017 · Report post Ну сквид вроде как прозрачно проксировать https может только в режиме МИТМ.. расшифровывая-зашифровывая своим ключем. Подороге умеет генерить ключи из оригинального, пететягивая туда все поля и подписывая его у локальном ЦА.. просто "коннект" он прозрачно не умеет. или научили ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted December 12, 2017 · Report post 4 часа назад, st_re сказал: просто "коннект" он прозрачно не умеет. или научили ? Так может нахрен сквид вообще, если вам только для РКН. Такое не смотрели? https://github.com/Lochnair/xt_tls там правда ещё отдельно придется как-то рубить те запросы которые без SNI идут. Возможно будет достаточно как-то так #режем запретное iptables -m set -m tls --match-set list_rkn_https_ip_address --tls-host "navalny.com" -j REJECT #разрешаем остальное с SNI iptables -m set -m tls --match-set list_rkn_https_ip_address --tls-host "*" -j ACCEPT # режем без SNI iptables -m set --match-set list_rkn_https_ip_address -j DROP непонятно будет ли срабатывать второе правило только при наличии какого-либо читаемого имени, или же перманентно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted December 12, 2017 · Report post Система умеющая в том числе резалть https по SNI обсуждается вот тут совсем рядом, в Блокировка сайтов провайдерами Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted December 12, 2017 · Report post 59 минут назад, st_re сказал: Система умеющая в том числе резалть https по SNI обсуждается вот тут можно для не осиливших 129 страниц ссылку куда-то более конкретно? страницу или по каким словам искать Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myth Posted December 12, 2017 · Report post на гитхабе все есть Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myth Posted December 12, 2017 · Report post Работает без нареканий Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted December 12, 2017 · Report post 1 час назад, myth сказал: на гитхабе все есть названия проектов, это страшная тайна? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted December 12, 2017 · Report post Вот у этого автора https://github.com/max197616/ проект extfilter Автор в той теме активно сапортит и развивает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted December 13, 2017 · Report post 7 часов назад, st_re сказал: Автор в той теме активно сапортит и развивает. вы уж простите что не осиливаю снова 129 страниц, но судя по обозрению github там указанный функционал сделан в userspace. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myth Posted December 13, 2017 · Report post в nfqfilter - через nfqueue, т.е - да. в extfilter - через dpdk Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
lacost Posted December 13, 2017 · Report post 21 час назад, st_re сказал: Ну сквид вроде как прозрачно проксировать https может только в режиме МИТМ.. расшифровывая-зашифровывая своим ключем. Подороге умеет генерить ключи из оригинального, пететягивая туда все поля и подписывая его у локальном ЦА.. просто "коннект" он прозрачно не умеет. или научили ? Уже, года с 2015, squid умеет без подмены сертификата, через SNI получать имя запрашиваемого домена, по списку доменов принимать решение - пропускаем его или отправляем на MITM. С точки зрения пользователя все становится более адекватным. Есть данный домен в реестре - принимай самоподписный сертификат. Нет в реестре этого домена, а просто IP совпадает - проходи. 13 часов назад, st_re сказал: Вот у этого автора https://github.com/max197616/ проект extfilter Я правильно понимаю, что для HTTPS в этом проекте блокируется весь домен если в реестре находится только одна страница? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...