Страница 1 из 2
блокировка https сайтов
Добавлено: Вт дек 20, 2011 12:29
mzv
Здравствуйте.
Необходимо запретить пользователям заходить на адреса
http://mail.yandex.ru
и
https://mail.yandex.ru
с исключением для избранных
есть такое правило
<MAILSOCNET>
ban_dir /usr/local/rejik/banlists/mailsocnet
url
http://127.0.0.1/ban/mailsocnet.html
allow_id f:/usr/local/rejik/mailsocnet.allow_id
в /usr/local/rejik/banlists/mailsocnet прописано:
mail.yandex.ru
И в такой конфигурации исключения для https не работают, страница просто не грузится (без подмены на локальный url)
лог режика:
2011-12-20 15:23:24 MAILSOCNET: 132.147.160.122 - mail.yandex.ru:443 (urls rule: mail.yandex.ru)
лог тоже имеет странный вид т.к тут не указан пользователь, хотя сквид настроен на ldap аутентиф. и нормальный лог имеет такой вид:
2011-12-20 13:49:10 MAILSOCNET: 132.147.160.122 s.ivanov
http://mail.yandex.ru/ (urls rule: mail.yandex.ru)
куда можно покопать?
Re: блокировка https сайтов
Добавлено: Вт дек 20, 2011 12:38
Slava
Браузер считает, что он работает по шифрованному соединению, редиректор подменяет ему урл на не шифрованный.
Вы пытаетесь загрузить по https страницу замены по 80-му порту.
Можно поднять для таких сайтов страницы замены на сервере с https и прописать соответствующий урл замены для сайтов с https.
Можно сказать браузеру, что урл поменялся: поищите "302:" на форуме.
Re: блокировка https сайтов
Добавлено: Вт дек 20, 2011 13:36
mzv
в моем случае страницу подмены как раз загружать не надо (https страницу пытается открыть пользователь из списка исключений)
Re: блокировка https сайтов
Добавлено: Вт дек 20, 2011 13:59
Slava
Ага, сразу недопонял.
В логе сквида, в этом случае, логин пользователя виден?
Re: блокировка https сайтов
Добавлено: Ср дек 21, 2011 5:25
mzv
нет,пользователя не видно. вот такой лог в сквиде:
1324430431.212 0 132.147.160.122 TCP_MISS/404 0 CONNECT mail.yandex.ru:443 - DIRECT/- -
Re: блокировка https сайтов
Добавлено: Ср дек 21, 2011 5:56
Slava
По этому логин и не попадает в режик.
Добейтесь появления логина в логе сквида и проблема будет решена.
mzv писал(а):нет,пользователя не видно. вот такой лог в сквиде:
1324430431.212 0 132.147.160.122 TCP_MISS/404 0 CONNECT mail.yandex.ru:443 - DIRECT/- -
Re: блокировка https сайтов
Добавлено: Ср дек 21, 2011 7:55
mzv
Действительно, проблема была в правиле сквида:
http_access allow connect ssl_ports
в котором было разрешено коннект на ssl порты без аутентиф.
спасибо за помощь!
Re: блокировка https сайтов
Добавлено: Чт июн 28, 2012 12:22
Leo2
У меня тоже не блокируются https сайты
Сквид как прозрачный прокси, т.е. все запросы идут на него. Аутентификации нет. В конфиге сквида -
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
Политикой компании запрещено использовать личную почту в "производственных" целях. Нужно блокировать доступ некоторым особо непонятливым работникам к личной почте на gmail, хотя бы на время, чтобы отучить от использования ее в офисе.
В конфиге режика создал специальный раздел, который действует только для этих IP
<LOCALBAN>
ban_dir /usr/local/rejik3/banlists/localban
url
http://xxx.hostline.ru/webmail
work_ip 172.18.4.11
work_ip 172.18.4.1
в localban/url :
accounts.google.com
https://mail.google.com
Тем не менее https открываются. Что посмотреть/подправить нужно в конфигах?
Кстати, еще один момент - переадресация проходит на
url
http://xxx.hostline.ru/webmail и не проходит на url
https://xxx.hostline.ru/webmail (ошибка не найден путь)
Re: блокировка https сайтов
Добавлено: Пт июн 29, 2012 7:53
Slava
Найдите в аксеслоге сквида попытки доступа на эти https сайты.
Re: блокировка https сайтов
Добавлено: Пт июн 29, 2012 16:03
Leo2
Если прокси для https не указан в броузере явно, то нет их там. Т.е. скорее всего iptables https на сквид не заворачивает (т.к. все равно транзитом идет).
Если указан, тогда
1340971102.573 2 172.18.4.1 TCP_MISS/404 0 CONNECT mail.google.com:443 - DIRECT/- -
Что еще проверить?
Re: блокировка https сайтов
Добавлено: Пт июн 29, 2012 16:20
Slava
Два варианта:
1. Если запрос идет мимо сквида, то к режику он так же не попадет и не заблокируется.
2. Если запрос идет через сквид, и он должен блокироваться по правилам режика, но этого не происходит, то нужно проверять правила и конфиг режика.
Например, не надо писать в urls "
https://mail.google.com", пишите проще "mail.google.com".
Смотрите error лог режика, нет ли ругани на чтение urls файлов и нужных правил из них.
Возьмете из строки accesslog сквида логин и ip клиента, делающего запрос - попадают ли они под work_* и allow_* правила?
Re: блокировка https сайтов
Добавлено: Пт июн 29, 2012 19:38
Leo2
с iptables буду разбираться - тонкость в том, что нужно заворачивать 443 порт только из броузера, иначе webdav перестает работать. Пока не знаю, как это можно сделать.
в error логе режика ругани нет.
попадают под правила.
https из urls убрал, но изменений не заметил
в логе режика
LOCALBAN: 172.18.4.1 -
http://mail.google.com/ (urls rule: mail.google.com)
если в адресной строке http - переадресация идет
LOCALBAN: 172.18.4.1 - mail.google.com:443 (urls rule: mail.google.com)
если в адресной строке https - получаю ошибку в броузере.
Броузер вместо переадресации выдает:
Код: Выделить всё
While trying to retrieve the URL: http:443
The following error was encountered:
Unable to determine IP address from host name for
The dnsserver returned:
Name Error: The domain name does not exist.
This means that:
The cache was not able to resolve the hostname presented in the URL.
Check if the address is correct.
Кстати, если в конфиге режика пишу
url
https://xxx.hostline.ru/webmail
получаю:
Код: Выделить всё
ERROR
The requested URL could not be retrieved
While trying to retrieve the URL: https://vh03.hostline.ru/webmail
The following error was encountered:
Unsupported Request Method and Protocol
Squid does not support all request methods for all access protocols. For example, you can not POST a Gopher request.
Re: блокировка https сайтов
Добавлено: Пт июн 29, 2012 23:33
maksnl
Leo2 писал(а):
в логе режика
LOCALBAN: 172.18.4.1 -
http://mail.google.com/ (urls rule: mail.google.com)
если в адресной строке http - переадресация идет
LOCALBAN: 172.18.4.1 - mail.google.com:443 (urls rule: mail.google.com)
если в адресной строке https - получаю ошибку в броузере.
На сколько я понимаю, если в redirector.log у Вас такая запись появилась (пометил зеленым) то режик нормально отработал перенаправление, а ошибка в браузере должна появиться потому что Ваш браузер предполагает что должно начаться зашифрованное соединение между вашим и удаленным компьютерами а squid должен выполнить роль тунеля между машинами однако так как режик перенаправил Ваш запрос то получается что соединение не состоялось. Попробуем разобраться почему squid не установил соединение, смотрим access.log и видим что в логе https сайт записан как
mail.google.com:443 а не
https://mail.google.com/ вот и выяснилось что squid не понимает протокол https а просто создает тунель а значит запись в конфиге
url https://xxx.hostline.ru/webmail или
url http://xxx.hostline.ru/webmail не сработают для https протокола.
Но не отчаивайтесь, в функционале режика есть кое что что может Вам помочь - попробуйте в конфиге режика вместо
url http://xxx.hostline.ru/webmail указать
url 302:http://xxx.hostline.ru/webmail, Это должно подменить урл в браузере а значит вы должны получить в адресной стоке браузера вместо
https://mail.google.com/ --->
http://xxx.hostline.ru/webmail
Сегодня дорвался до своего сервака и проверил все это на практике, в общем: c https сайтами перенаправление все таки наверное будет невозможно, браузер все равно не примет код ошибки 302 так как хочет зашифрованный коннект и ничего другого принимать не желает, но ведь и заблокированный сайт не открывается а это само по себе радует.
PS. приставку 302: в данном случае наверное лучше использовать дабы избежать ошибок на перенаправленном сайте (без 302: в адресной строке браузера будет не перенаправленный сайт а тот который пытались запросить, возможно будут проблемы с некоторыми скриптами или изображениями).
Re: блокировка https сайтов
Добавлено: Чт янв 30, 2014 20:46
Leo2
Выяснил, что запросы https не доходят до squid, т.к. iptables прозрачно перенаправляет запросы только по портам 80 и 8080. Все остальное уходит напрямую. Поэтому неудивительно, что режик и свид на SSL не действуют.
Я пробовал завернуть на squid порт 443, но тогда у меня перестает работать webdav (он тоже secured через порт 443)
Что можно сделать в моем случае?
Re: блокировка https сайтов
Добавлено: Пт янв 31, 2014 8:18
Slava
Leo2 писал(а):
Я пробовал завернуть на squid порт 443, но тогда у меня перестает работать webdav (он тоже secured через порт 443)
Что можно сделать в моем случае?
Почитать про проблемы и решения прозрачного проксирования https трафика.
ИМХО: проще прописать прокси сервер на клиенте.