Блокировать весь не-HTTPS трафик при просмотре

0

Я пытаюсь получить разрешение на использование правила брандмауэра из внешней системы Windows в сети нашей компании, чтобы получить доступ к прокси-серверу и вернуться в Интернет. Мои потребности будут включать использование веб-браузера, например, для предоставления имени пользователя / пароля. Моя компания требует, чтобы все правила брандмауэра проходили через них только зашифрованный трафик. Хотя передача на прокси-сервер сама по себе не зашифрована, утверждающие пояснили, что до тех пор, пока пакеты, проходящие через брандмауэр, сами зашифрованы (например, обращаются к веб-сайтам на основе TLS (HTTPS)), это приемлемо.

У меня вопрос, как я могу гарантировать, что при просмотре разрешены только запросы с трафиком HTTPS?

Решительное решение состоит в том, чтобы использовать curlи / или wgetанализировать только HTML вручную и отправлять запросы вручную на основе ответов, гарантируя каждый раз, когда используется HTTPS. Помимо очевидного количества времени, которое потребуется, это также будет означать, что страницы с поддержкой javascript и т. Д. Не будут работать должным образом.

Я открыт для ряда решений, таких как:

  1. Плагины Firefox / Chrome
  2. Запуск локального прокси-сервера (такого как CNTLM) на внешней машине, который перенаправляет на удаленный прокси-сервер только в том случае, если URL соответствует шаблону (я посмотрел руководство по CNTLM, но не могу найти в нем список параметров командной строки или конфигурации). разрешить только определенные шаблоны URL)
  3. Использование специального браузера, который бы предоставил такую ​​возможность
  4. Есть ли способ настроить прокси-туннель (имея в виду, что он должен быть доступен в Windows), который шифрует трафик с одной стороны и расшифровывает его с другой, тогда ничего из этого не потребуется

Обратите внимание, что мне не нужно беспокоиться о трафике, отправляемом другими приложениями, кроме моего веб-браузера, поскольку это применимо только в том случае, если я специально настроил прокси в этом приложении

Kidburla
источник

Ответы:

1

Есть ли способ настроить прокси-туннель (имея в виду, что он должен быть доступен в Windows), который шифрует трафик с одной стороны и расшифровывает его с другой, тогда ничего из этого не потребуется

Да, чаще всего для этого вы используете VPN (например, IKEv2, OpenVPN или какой-либо проприетарный продукт), поскольку он шифрует весь IP-трафик и не ограничивается только HTTP. Люди во внешних сетях очень часто подключаются к локальной сети своей компании с помощью программного обеспечения VPN.

Есть также программное обеспечение, которое туннелирует отдельные TCP-соединения по TLS, например, stunnel.

Я бы предположил, что требование VPN или другого безопасного транспорта является лучшим методом, потому что он обеспечивает соблюдение политики на стороне компании и предотвращает несчастные случаи, такие как клиент теряет / «забывает» свою конфигурацию.

С другой стороны, VPN-соединение с сетью компании защищает только трафик между вами и прокси-сервером, но ничего не делает для обеспечения безопасности запросов, пересылаемых прокси-сервером. (Я не знаю , если ваша политика только о входящих соединениях или исходящие из них , а также.) Если этого требования, оно должно быть реализовано на самом прокси.

Плагины Firefox / Chrome

Для ручной настройки Firefox поддерживает отдельные адреса прокси-серверов для HTTP и HTTPS («SSL»); раньше у него были расширения для настройки этого сайта.

Многие браузеры поддерживают файл PAC, который может иметь собственную логику для выбора прокси на основе URL.

grawity
источник
как правило, программное обеспечение VPN требует настройки виртуального сетевого адаптера, через который проходит весь ваш трафик; к сожалению, у меня нет прав для этого в исходной системе. Инструмент stunnelзвучит интересно; Можете ли вы предоставить более подробную информацию о том, как настроить это с прокси? мне нужно stunnelработать как в моей исходной системе, так и во внутренней сети, где завершится туннель шифрования? как тогда перенаправить трафик оттуда на прокси? PS: спасибо также за совет о настройках FF; Я считаю, что это может сработать, хотя это не так
надежно
По сути, мне нужен локальный сервер, работающий на моей внешней системе, который представляется клиентам (программным обеспечением) простым HTTP-прокси - он затем принимает полученные пакеты, шифрует их, отправляет их во внутреннюю сеть, где другая программа их забирает, дешифрует их, и перенаправляет их на «настоящий» прокси. Я не могу найти в stunnelдокументации, как настроить его как обычный HTTP-прокси; обычно он настроен так, чтобы выглядеть как веб-сервер HTTPS ...
Kidburla
stunnel не «похож на» ничего - он предназначен для туннелирования произвольных служб TCP, то, что идет с одного конца, проходит через другой. Таким образом, клиенты просто получают то, что находится на другом конце, может быть HTTP, может быть SMTP, может быть IRC. (Точнее говоря, Stunnel просто добавляет / удаляет TLS, поэтому вам нужна конфигурация, которая добавляет TLS на стороне прокси, и конфигурация, которая удаляет TLS на стороне клиента.)
grawity