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

Настройте Squid для прохождения SSL-трафика для определенных хостов вместо его перехвата

В настоящее время я использую squid в поле pfSense для перехвата SSL, который работает хорошо. Проблема теперь в том, что WhatsApp Web не будет работать через этот прокси, потому что он не поддерживает процедуру рукопожатия, как ожидалось, что заставляет squid разорвать это соединение.

Можно ли исключить определенные цели из перехвата SSL в squid, чтобы предотвратить эту проблему?

То, о чем вы просите, невозможно. То, что вы, по-видимому, пытаетесь достичь, требует чего-то еще.

Потому что перехват осуществляется системой NAT pfSense. Squid - это просто процесс, получающий перехваченные TCP-соединения и выполняющий части расшифровки TLS.

Чтобы обход перехвата вам необходимо изменить конфигурацию pfSense NAT. Как только пакеты достигают Squid, становится уже слишком поздно - единственный вариант - проксировать или завершить работу. Однако заранее определить, будет ли какой-либо конкретный пакет TCP SYN превратиться в соединение HTTPS или WhatsApp, является проблемой. Так что обход перехвата обычно не стоит проблем.

Итак, что вам на самом деле нужно сделать, так это обнаружить их в Squid во время обработки SSL-Bump и туннель (не обходить) соответствующий трафик через прокси.

Squid-3.5 может сделать это с помощью действия «ssl_bump splice», если трафик на самом деле является TLS, но не может быть расшифрован (используйте данные TLS SNI и / или сертификата сервера для принятия решения о сращивании). Если этого недостаточно, Squid-4 предоставляет http://www.squid-cache.org/Doc/config/on_unsupported_protocol/ функция для туннелирования трафика, который оказывается не-TLS на порту 443.