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

Исходное сообщение
"url_rewrite + connect"

Отправлено Нет , 08-Окт-14 15:50 
Здравствуйте.

url_rewrite_program не хочет работать с соединениями типа connect. Http пролетает на ура, ssl сразу зарубается - не может открыть страницу.

Пример: делаем простейший скрипт

#!/bin/sh
while read LINE; do
    echo ${LINE} >> /tmp/out.txt
done

пишем в сквиде
url_rewrite_program /test.sh

Обращаемся к http://google.ru, который сразу форвардит на https, потом к https://mail.ru.
Имеем на выходе в access.log :
1412764210.059     87 192.168.1.2 TCP_MISS/302 718 GET http://www.google.ru/ username DIRECT/64.233.161.94 text/html
1412764210.072      3 192.168.1.2 TCP_MISS/404 0 CONNECT www.google.ru:443 username DIRECT/- -
1412764239.120      3 192.168.1.2 TCP_MISS/404 0 CONNECT mail.ru:443 username DIRECT/- -

В /tmp/out.txt например так
e.mail.ru:443 192.168.1.2/- username CONNECT myip=192.168.1.1 myport=3128

Обойти это дело можно через
url_rewrite_access deny SSL_ports
Но это очень некрасиво. Кто-нибудь сталкивался с таким? Может быть результирующий url надо в каком-то особом виде отдавать? Что-то гуголь не дает ответа.
Спасибо.


Содержание

Сообщения в этом обсуждении
"url_rewrite + connect"
Отправлено Andrey Mitrofanov , 08-Окт-14 18:17 
> Обращаемся к http://google.ru, который сразу форвардит на https, потом к https://mail.ru.
> 1412764239.120      3 192.168.1.2 TCP_MISS/404 0 CONNECT mail.ru:443
> username DIRECT/- -
> В /tmp/out.txt например так
> e.mail.ru:443 192.168.1.2/- username CONNECT myip=192.168.1.1 myport=3128

Представь себе, https - это шифрованный http, и именно _для _того, чтобы ты и твой сквид не "видели" того, что скрыто.

Проверил на своём squidGuard-е, на эту строку отвечает
_пустой _строкой, то есть не переписывать. https у меня работает...

> Обойти это дело можно через
> url_rewrite_access deny SSL_ports
> Но это очень некрасиво. Кто-нибудь сталкивался с таким? Может быть результирующий url
> надо в каком-то особом виде отдавать? Что-то гуголь не дает ответа.

Ну, полюбуйся вот этой "красотой": http://wiki.squid-cache.org/Features/SslBump


"url_rewrite + connect"
Отправлено Нет , 09-Окт-14 07:51 
Представь себе, мне и не нужно видеть что там внутри ssl. Это url_rewrite, как он относится к заглядыванию внутри туннеля? Еще раз посмотри на предложенный тестовый скрипт, при чем там mitm? Он таки и выдаст пустую строку-то.

"url_rewrite + connect"
Отправлено Нет , 09-Окт-14 07:59 
Спасибо за наводку. Хоть ты и неправ в своем высокомерном непонимании вопроса, но здравые слова в твоем посте есть - "возвращает пустую строку".
Работает в таком варианте:
#!/bin/sh
while read LINE; do
    echo ${LINE} >> /tmp/redirect.txt
    echo ""
done

До этого пробовал вариант с echo "OK", как вроде бы и следует из http://www.squid-cache.org/Doc/config/url_rewrite_program/, но это не канает.

SOLVED


"url_rewrite + connect"
Отправлено Andrey Mitrofanov , 09-Окт-14 10:24 
> Спасибо за наводку. Хоть ты и неправ в своем высокомерном непонимании вопроса,
> но здравые слова в твоем посте есть - "возвращает пустую строку".

Я прямо смущаюсь и краснею.

> До этого пробовал вариант с echo "OK", как вроде бы и следует
> из http://www.squid-cache.org/Doc/config/url_rewrite_program/, но это не канает.

Changes in 3.4 url_rewrite_program

    New helper response format utilizing result codes OK, ERR, and
[...]

http://www.squid-cache.org/Versions/v2/2.7/cfgman/url_rewrit...
И я опять _высокомерно не угудал версию сквида? Накажи меня! >/<


> SOLVED