Перейти к содержимому
Калькуляторы

Коллеги, здравствуйте.

 

Никак не могу понять в чем ошибка.

 

Стоит 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

 

Что забыли сделать?

Кто подскажет?
 

Изменено пользователем lacost

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

похоже борода...

 

https://wiki.squid-cache.org/KnowledgeBase/HostHeaderForgery

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А может кто-то NGINX под тему фильтрации пробовал?

По документации прозрачный прокси есть, должен SSL с SNI делать.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пробовал, но обычный http.

Работало ещё лет 5 назад без проблем и нынче работает.

На https забил, ибо для личного пользования, просто зафигачил в днс записи чтобы не резолвились.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как NGINX обрабатывает подмену ip-адреса? Т.е., допустим заворачиваете вы www.xxx.com на своем ДНС на машину с nginx. Nginx в свою очередь получив запрос будет ли резолвить поле host из запроса или так же как сквид будет ориентироваться на оригинальный адрес?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Естессно будет резолвить. Дальше запрос пойдёт от IP сервера где nginx.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 05.12.2017 в 09:02, Ivan_83 сказал:

Дальше запрос пойдёт от IP сервера где nginx.

Вообще то есть схемы давно уже схемы transparent установки и nginx и squid

ip сохраняется

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 09.12.2017 в 16:08, LostSoul сказал:

Вообще то есть схемы давно уже схемы transparent установки и nginx и squid

ip сохраняется

 

 

HTTPS?

 

Я, исходя из мануала по nginx не увидел что он может делать SSL-Bump 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Только что, lacost сказал:

HTTPS?

ssl 100% прозрачным не получается,  поэтому для втюхивания клиентам мало пригодно

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мне кажется, слово "втюхивание" не совсем то, что требуется.

Вариант: сделать работу пользователя при наличии "запрещенных сайтов" максимально комфортной - более правильно звучит.

И под такую задачу я кроме как squid с ssl_bump ничего подходящего не нашел. В принципе - решение сносное (правда не совсем стабильное).

NGINX в принципе не готов работать с SNI для получения имени запрашиваемого ресурса и передачи запроса в вышестоящий прокси. Или я ошибаюсь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

тоесть митмить шифрованный трафик это решение ? я бы послал за такую "услугу" сразу... втюхивание  - правильное слово.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

почему митмить? sni получили и по нему, митмить он стока не прожует мне кажеца судя по тому как там это сделано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну сквид вроде как прозрачно проксировать https может только в режиме МИТМ.. расшифровывая-зашифровывая своим ключем. Подороге умеет генерить ключи из оригинального, пететягивая туда все поля и подписывая его у локальном ЦА.. просто "коннект" он прозрачно не умеет. или научили ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Система умеющая в том числе резалть https по SNI обсуждается вот тут совсем рядом, в Блокировка сайтов провайдерами

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

59 минут назад, st_re сказал:

Система умеющая в том числе резалть https по SNI обсуждается вот тут

можно для не осиливших 129 страниц ссылку куда-то более конкретно?

страницу или по каким словам искать

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, myth сказал:

на гитхабе все есть

названия проектов, это страшная тайна?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот у этого автора https://github.com/max197616/

проект extfilter

 

Автор в той теме активно сапортит и развивает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7 часов назад, st_re сказал:

Автор в той теме активно сапортит и развивает.

вы уж простите что не осиливаю снова 129 страниц, но судя по обозрению github там указанный функционал сделан в userspace.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

21 час назад, st_re сказал:

Ну сквид вроде как прозрачно проксировать https может только в режиме МИТМ.. расшифровывая-зашифровывая своим ключем. Подороге умеет генерить ключи из оригинального, пететягивая туда все поля и подписывая его у локальном ЦА.. просто "коннект" он прозрачно не умеет. или научили ?

Уже, года с 2015, squid умеет без подмены сертификата, через SNI получать имя запрашиваемого домена, по списку доменов принимать решение - пропускаем его или отправляем на MITM.

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

Есть данный домен в реестре - принимай самоподписный сертификат.

Нет в реестре этого домена, а просто IP совпадает - проходи.

 

13 часов назад, st_re сказал:

Вот у этого автора https://github.com/max197616/

проект extfilter

Я правильно понимаю, что для HTTPS в этом проекте блокируется весь домен если в реестре находится только одна страница?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.