Прокси-сервер Bluecoat: разрешить HTTPS-доступ к веб-сайтам и запретить туннелирование TCP (SSH/...)

У нас есть явная (= не прозрачная) настройка прокси с использованием BlueCoat ProxySG (программное обеспечение 6.4.3.1).


Когда я создаю правила слоя веб-доступа, такие как:

  • Протокол: HTTPS -> Все HTTPS: Разрешить,
  • Протокол: все TCP туннелирование: DENY, затем

Я все еще могу сделать SSH снаружи через прокси.


Обратно при указании чего-либо в соответствии с

  • Протокол: Все Shell: DENY

(без явного указания HTTPS) Я также могу сделать SSH через прокси.


Единственное, что помогает (с SSH) - это указать All TCP Tunneling: DENY, Однако в этом случае HTTPS также больше не работает.

Таким образом, HTTPS, похоже, рассматривается как туннелирование TCP. Это также то, что файл трассировки показывает по запросу HTTPS:

 CONNECT tcp://www.xxx.com:443/

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

Итак, как распознать HTTPS, не допуская слишком много других вещей? (Вероятно, невозможно без настройки MitM и т. Д.) И почему существует объект с именем HTTPS, и когда я его использую, он ничего не меняет. Я действительно не понимаю эту часть.

1 ответ

Решение

Alrighty,

поиск заголовка User-Agent, который не существует в случае SSH и т.п., является официальным ответом.

Обычный сеанс HTTPS обычно передает эти заголовки вместе с вызовом к методу HTTP CONNECT xxx:443 (в случае туннельного соединения). Мы действительно разрешаем только соединения с портом 80 на прокси-сервере, поэтому все, что не HTTP, не становится (больше не) туннелируется.

Это безопасность по неизвестности, но я думаю, что в этом случае и с этим устройством сделать гораздо больше невозможно...

Другие вопросы по тегам