LinuxForum.Fans
Тема

Squid3 и странное поведение при deny https://www.youtube.com

Автор: nikto 40 сообщений 12142 просмотров
#328708

Добрый день уважаемые, имею странную проблему.

В squid написано

text

acl my_lan src 192.168.0.0/16

acl video_list url_regex -i "/etc/squid3/list/video_list"

http_access deny my_lan video_list

Если это к примеру http://www.ivi.ru или http://ivi.ru то получаем как надо «The requested URL could not be retrieved» и стандартную страницу squid с описанием «Доступ запрещён.».

Но если это https://www.youtube.com/ или https://youtube.com/ то получаем страницу самого firefox «Прокси-сервер отказывается принимать соединения». Но если вписать http://www.youtube.com то нормально опять стандартная страница squid.
Судя по всему проблема в https но что делать не понятно. В access.log "TCP_DENIED/403 3641 CONNECT www.youtube.com:443 - NONE/- text/html"

Почему получаем проблему соединения?

#328709
"nikto⇓" написал:
Почему получаем проблему соединения?

Потому что для https соединений используется метод CONNECT.

#328710

>>Потому что для https соединений используется метод CONNECT.

И как быть? Как сделать блокировку сайтов с https и перенаправлением?


Сделал по примеру http://wiki.squid-cache.org/ConfigExamples/Streams/YouTube, все равно то же самое, ошибка повторяеться.

#328711

А вам что нужно чтобы по http запретить, а по https - нет??

#328712
kisil написал:
А вам что нужно чтобы по http запретить, а по https - нет??

Задача пока банальная, запретить определенные сайты (все равно http или https) перенаправля пользователей на рабочий сайт компании (для уменьшения трафика перенаправляю пока на r0.ru).

ЗЫ. Дальше время, плюс доменная авторизация и прочее. Пока вот встал на этой проблеме.

#328715

я не знаю, как у вас в конфиге, а вообще точно знаю важен порядок прописания acl + http_access. Плюс я у себя сделал настройки по домену блокировать нужные сайты и это вроде бы работает. а если вводишь https://сайт. не пускает. для примера настройки вот как у меня

text
acl ufa dstdomain .ufa.realstaf.com
acl legalitolko dstdomain .legalitolko.com
acl poroshki dstdomain .poroshki.tv
acl ganjeprom dstdomain .ganjeprom.com
acl aromasmoke dstdomain .aromasmoke.ru
text
http_access deny legalki
http_access deny seedjah
http_access deny 12sex
http_access deny alongtubemixasia
http_access deny freetubemixasia
http_access deny xpuls 

и если сюда входить, не пускает по любому протоколу. может я не очень понял вашу задачу, но медот CONNECT я использую для этого. Тем самым тоже банальную задачу запретить пользователям не ходить куда не надо и экономить трафик я реализовал. Плюс можно сделать урезать канал, например методами delay pool.

#328717
nikto написал:
[quote=kisil]А вам что нужно чтобы по http запретить, а по https - нет??

Задача пока банальная, запретить определенные сайты (все равно http или https) перенаправля пользователей на рабочий сайт компании (для уменьшения трафика перенаправляю пока на r0.ru).

ЗЫ. Дальше время, плюс доменная авторизация и прочее. Пока вот встал на этой проблеме.[/quote]
А клиента как прописан прокси? Ручками или wpad.dat?

#328718

>>А клиента как прописан прокси? Ручками или wpad.dat?

Пока настраиваю прокси на тестовом сервере, у себя прописал вручную настроки в firefox "Ручная настройка сервиса прокси" + использовать этот прокси-сервер для всех протоколов.

#328719
nikto написал:
>>А клиента как прописан прокси? Ручками или wpad.dat?

Пока настраиваю прокси на тестовом сервере, у себя прописал вручную настроки в firefox "Ручная настройка сервиса прокси" + использовать этот прокси-сервер для всех протоколов.

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

#328720

Но так при таких настройках не пускает на https://www.youtube.com, это веть то что вам нужно было.???

#328722

Только что проверил, такая же ситуацыя. Но вить не пускает *OK*
И верно что вы получаете ответ что "прокси отказываетса принимать соединения". Страница сквидовая, которая говорит что "вы не можете получить доступ к ресурсу в связи с недостаточностью прав ..." она отдаётса вам по http и вы её получаете, по https сквид ни каких страниц с ошыбками не отдаёт, в принцыпе как я понимаю и не может отдать, потому тут вы получаете просто ответ браузера "Прокси-сервер отказываетса принимать соединение."

#328723
"nikto⇓" написал:
Пока настраиваю прокси на тестовом сервере, у себя прописал вручную настроки в firefox "Ручная настройка сервиса прокси" + использовать этот прокси-сервер для всех протоколов.

тогда вам надо правила iptables писать, чтобы заварачивать на прокси нужные протоколы, например так для http:

text
iptables -t nat -A PREROUTING -i eth0 -d 1.2.3.4 -p tcp -m multiport --dport 80,8080 -j DNAT --to 5.6.7.8:3128

1.2.3.4 - ваша сеть, 5.6.7.8 - адрес прокси вашей. где 80, 8080 друге порты можно указать.

а вообще, как мне кажется у вас неверно оформлен конфиг сквида.
если смотреть конфиг должно быть так:

text
#Recommended minimum configuration:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

далее идет пример из моего поста выше, где идут списком
acl name dstdomain name
http_access deny

и пока не знаю, зачем нужна 2 строчка у вас, возможно это файл, где лежит список сайтов, куда нельзя ходить?

acl video_list url_regex -i "/etc/squid3/list/video_list"

и еще сквид не ругается на ребут настроек? если ругается он пишет скроку где ошика, проверьте плиз, введя комнады

text
squid -kp
squid -kr
#328726
kisil написал:
Только что проверил, такая же ситуацыя. Но вить не пускает *OK*
И верно что вы получаете ответ что "прокси отказываетса принимать соединения". Страница сквидовая, которая говорит что "вы не можете получить доступ к ресурсу в связи с недостаточностью прав ..." она отдаётса вам по http и вы её получаете, по https сквид ни каких страниц с ошыбками не отдаёт, в принцыпе как я понимаю и не может отдать, потому тут вы получаете просто ответ браузера "Прокси-сервер отказываетса принимать соединение."

Гм... возможно, тогда почему та же ситуация с
deny_info http://r0.ru video_list
При такой ситуации squid не должен отдавать свою страницу, а перенаправлять на http://r0.ru
Но! с deny_info TCP_RESET video_list все верно делает, отдает "Соединение было сброшено"

#328727
"nikto⇓" написал:
deny_info http://r0.ru video_list
При такой ситуации squid не должен отдавать свою страницу, а перенаправлять на http://r0.ru
Но! с deny_info TCP_RESET video_list все верно делает, отдает "Соединение было сброшено"

Чесно говоря, что то тут ничего не понял. Объясните неучу, что означает

text
deny_info http://r0.ru video_list
text
deny_info TCP_RESET video_list

куда его прописывать.
Тёмный я
*SCRATCH* *CRAZY*

#328728

2_Linux777
Пока не заворачиваю, у меня еще впереди головная боль =)

>>если смотреть конфиг должно быть так:
У меня все это присутствует в конфиге.

>>и пока не знаю, зачем нужна 2 строчка у вас, возможно это файл, где лежит список сайтов, куда нельзя ходить?
Да, это файл в котором собраны сайты с которыми надо что то делать, там же можно использовать регулярные выражения (ну сами знаете этих рекламщиков =), что, ну очень удобно.

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

text

| Processing: acl all src all
| WARNING: (B) '::/0' is a subnetwork of (A) '::/0'
| WARNING: because of this '::/0' is ignored to keep splay tree searching predictable
| WARNING: You should probably remove '::/0' from the ACL named 'all'

но тут дело темное, я это не писал, было в нагрузку.

#328729
kisil написал:
[quote="nikto⇓"]deny_info http://r0.ru video_list
При такой ситуации squid не должен отдавать свою страницу, а перенаправлять на http://r0.ru
Но! с deny_info TCP_RESET video_list все верно делает, отдает "Соединение было сброшено"

Чесно говоря, что то тут ничего не понял. Обясните неучу, что означает

text
deny_info http://r0.ru video_list
text
deny_info TCP_RESET video_list

куда его прописывать.
Тёмный я
*SCRATCH* *CRAZY*[/quote]

Да все просто, пишеться в две строки =)
http_access deny my_lan video_list #Запрещаем посещение сайта
deny_info http://r0.ru video_list # Информирует пользователя об ошибке при использовании http_access правила deny.
При этом можно или просто выдать сообщение об ошибке самого сквида, или перенаправить (то что у меня) или просто сбросить соединение через TCP_RESET
http://www.squid-cache.org/Doc/config/deny_info/

#328730

Понял. Кажысь.
Так что щас не работает, то???

#328731
kisil написал:
Понял. Кажысь.
Так что щас не работает, то???

Перенаправление и не работает, ожидаеться что сквид перебросит меня на r0.ru а он выдает «Прокси-сервер отказывается принимать соединения».

#328733

Перепроверил у себя.
Сквид 3.0stable25
Перенаправления работает тока в случае запроса http://www.youtube.com, меня перекидает на страницу http://r0.ru, а вот если https://www.youtube.com, тогда просто

text
Невдала спроба з’єднання
   Firefox не може встановити з’єднання з сервером www.youtube.com.
#328740

"kisil⇓" написал:
а вот если https://www.youtube.com, тогда просто
text
Невдала спроба з’єднання Firefox не може встановити з’єднання з сервером www.youtube.com.

А https_port у Вас в squid.conf прописан? Раньше вроде бы он по умолчанию был неопределен, да и использовался только если сам squid был собран с параметром --enable-ssl
Войдите или зарегистрируйтесь, чтобы ответить.