У нас есть явная (= непрозрачная) настройка прокси с использованием BlueCoat ProxySG (программное обеспечение 6.4.3.1).
Когда я создаю такие правила уровня веб-доступа, как:
Я все еще могу использовать SSH снаружи через прокси.
И наоборот при указании чего-либо в строках
(без явного указания HTTPS) Я также могу использовать SSH через прокси.
Единственное, что помогает (с SSH), - это указать All TCP Tunneling: DENY
. Однако в этом случае HTTPS также больше не работает.
Таким образом, HTTPS рассматривается как TCP-туннелирование. Это также то, что показывает файл трассировки в запросе HTTPS:
CONNECT tcp://www.xxx.com:443/
Я знаю, что до тех пор, пока кому-то разрешено создавать исходящие зашифрованные соединения, он, вероятно, сможет заставить работать почти все. Но я не хочу, чтобы это было слишком просто.
Итак, как распознать HTTPS, не допуская слишком многого другого? (Вероятно, невозможно без настройки MitM и т. Д.) И почему существует объект с именем HTTPS, и когда я его использую, он ничего не меняет. Я действительно не понимаю этой роли.
Хорошо,
поиск заголовка User-Agent, который не существует в случае SSH или подобного, является официальным ответом.
Обычный сеанс HTTPS обычно передает эти заголовки вместе с вызовом метода HTTP CONNECT xxx: 443 (в случае туннелированного соединения). Мы действительно разрешаем подключения только к порту 80 на прокси, поэтому все, кроме HTTP, туннелируется (больше не).
Это безопасность неизвестностью, но я полагаю, что в этом случае и с этим устройством многое сделать невозможно ...