Назад | Перейти на главную страницу

URL-фильтрация HTTPS-трафика

конфигурация, с которой я имею дело, - это прозрачный HTTP-прокси: на брандмауэре весь HTTP-трафик (порт 80) перенаправляется на прокси через iptables; Dansguardian устанавливается на прокси-сервере и фильтрует URL-адреса. Читая в Интернете, я понял, что если я перенаправлю HTTPS-трафик (порт 443) на прокси-сервер, пользователи получат сообщение об ошибке, когда они укажут на HTTPS-сайт, это правильно?

Я нашел решение этой проблемы:

На данный момент у меня вопрос: почему эти решения работают с трафиком HTTPS, а прозрачное проксирование - нет?

Заранее спасибо.

Протокол HTTPS реализует SSL, который в целом обеспечивает целостность, неотказуемость и конфиденциальность. Попытка прозрачного прокси-трафика HTTPS - это своего рода посредник, и поэтому он нарушает канал SSL.

Если вы хотите проксировать протокол HTTPS, не нарушая канал SSL, вам необходимо использовать так называемый туннель CONNECT, о котором должен знать клиент (он затем обертывает SSL внутри HTTP CONNECT).

Должны ли они указывать другой порт для трафика HTTPS или порт по умолчанию (3128) может быть указан для каждого протокола? Или мне нужно указать директиву https_port в squid.conf?

CONNECT туннель работает на http_port

Я удаляю правило перенаправления на межсетевом экране и создаю файл конфигурации (proxy.pac / wpad.dat); пользователи указывают URL-адрес этого файла в своих браузерах, поэтому он автоматически загружает конфигурации прокси.

Вы можете указать пользователям местоположение proxy.pac по DHCP.

Подробнее о Squid и HTTPS

К тому времени, когда трафик https поступает на прозрачный прокси-сервер, «видимым» остается только IP: недостаточно информации для воссоздания запроса на соединение и его прокси.

Когда вы устанавливаете прокси в своем браузере (вручную или через proxy.pac), браузер знает, что нужно отправлять на прокси больше информации о том, что он хочет.

Некоторые прокси-серверы могут использовать информацию SNI для прозрачного проксирования большей части трафика SSL, а затем либо фильтровать его (из информации sni), либо MITM и выполнять полную фильтрацию. Я работаю у поставщика одного такого фильтра - Гладкостенный (которые также нанимают дансгардского Дэна).