Обработка CONNECT-запросов

13 декабря 2023

ID 188634

При обработке трафика, передаваемого по протоколу HTTPS, результат применения действий программы Заблокировать и Перенаправить отличается от применения этих действий к трафику, передаваемому по протоколу HTTP. Пользователю не отображается страница блокировки, и не выполняется перенаправление на заданный URL-адрес. Вместо этого соединение обрывается.

Это связано с тем, что для установки шифрованных соединений по протоколу HTTPS компьютер пользователя запрашивает у прокси-сервера соединение с веб-сервером с помощью HTTP-сообщения, содержащего метод CONNECT (далее также "CONNECT-запрос"). Возможности прокси-серверов по обработке CONNECT-запросов и ответу на них ограничены на уровне HTTP-протокола. Прокси-сервер может либо уведомить пользователя об успешной установке соединения, либо прервать соединение.

Чтобы действия Заблокировать и Перенаправить применялись корректно, вам требуется включить расшифровку TLS/SSL-соединений, а также добавить метод CONNECT в исключения или создать для него правило обхода. При отсутствии правил обработки трафика, разрешающих CONNECT-запросы, соединение будет прервано.

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

Далее в этой статье приведены особенности и различия в обработке трафика, передаваемого по протоколу HTTP с помощью стандартных HTTP-сообщений, и трафика, передаваемого по протоколу HTTPS, когда для установки шифрованных соединений используются CONNECT-запросы.

Обработка стандартных HTTP-сообщений

Большинство HTTP-методов (например, GET, POST, DELETE, HEAD, OPTIONS, PATCH, PUT, TRACE) предназначено для обмена HTTP-сообщениями между клиентом, то есть компьютером пользователя, и веб-сервером, на котором хранится запрашиваемый веб-ресурс. Kaspersky Web Traffic Security может проверять такие HTTP-сообщения и применять к ним все доступные в программе действия. Принципы обработки HTTP-сообщений в программе Kaspersky Web Traffic Security представлены на рисунке ниже.

kwts_http_traffic

Принципы обработки HTTP-сообщений

Нумерация на рисунке соответствует следующим этапам обработки стандартных HTTP-сообщений:

  1. Пользователь запрашивает доступ к веб-ресурсу. Этот запрос передается на прокси-сервер.
  2. Программа проверяет, удовлетворяет ли запрошенный веб-ресурс критериям правил доступа.
  3. Если в результате применения правила доступа выполняется действие Заблокировать, пользователю отображается страница блокировки. Если выполняется действие Перенаправить, пользователь перенаправляется на заданный URL-адрес.
  4. Если в результате применения правила доступа выполняется действие Разрешить, то программа переходит к проверке трафика с помощью правил защиты или политики защиты по умолчанию. При отсутствии обнаруженных угроз запрос пользователя передается на веб-сервер.
  5. Полученный ответ от веб-сервера также проверяется модулями защиты на наличие вирусов и других угроз. При обнаружении угроз программа блокирует трафик, а при их отсутствии передает ответ веб-сервера на компьютер пользователя.
  6. При попытке несанкционированного доступа злоумышленники могут перехватить данные, так как трафик передается в нешифрованном виде.

Особенности обработки CONNECT-запросов

При попытке получить доступ к веб-ресурсу по протоколу HTTPS компьютер пользователя отправляет на прокси-сервер CONNECT-запрос на соединение с веб-сервером. В результате обмена параметрами шифрования и сертификатами безопасности между компьютером пользователя и веб-сервером устанавливается туннелированное защищенное соединение по протоколу TLS. Внутри этого туннеля клиент и веб-сервер обмениваются HTTP-сообщениями с использованием стандартных HTTP-методов (GET, POST и т.д.). По умолчанию прокси-сервер не может анализировать содержимое шифрованного соединения и вмешиваться в обмен сообщениями внутри туннеля. Механизм обработки шифрованных соединений по умолчанию представлен на рисунке ниже.

kwts_https_without_bumping

Механизм обработки шифрованных соединений по умолчанию

Нумерация на рисунке соответствует следующим этапам обработки шифрованных соединений по умолчанию:

  1. Компьютер пользователя при помощи CONNECT-запроса запрашивает у прокси-сервера организацию шифрованного канала связи с веб-сервером.
  2. Программа проверяет, удовлетворяет ли запрошенный веб-ресурс критериям правил доступа.
  3. Если в результате применения правил выполняется действие Заблокировать или Перенаправить, соединение обрывается. Пользователю не отображается страница блокировки, и он не перенаправляется на заданный URL-адрес.
  4. Если в результате применения правила доступа выполняется действие Разрешить, программа передает CONNECT-запрос для дальнейшей обработки модулями защиты.
  5. При успешной проверке CONNECT-запроса модулями защиты прокси-сервер формирует шифрованный канал связи между компьютером пользователя и веб-сервером.
  6. Внутри шифрованного канала связи компьютер пользователя обменивается с веб-сервером обычными HTTP-сообщениями. При этом прокси-сервер не может получить доступ к этим сообщениям и передать их на проверку модулям защиты, так как передаваемые данные зашифрованы.
  7. Ответ веб-сервера также передается компьютеру пользователя напрямую без проверки модулями защиты. Это снижает уровень защиты IT-инфраструктуры организации, так как на компьютер пользователя может поступать трафик, содержащий угрозы.
  8. При попытке несанкционированного доступа злоумышленники не могут перехватить данные, так как трафик передается внутри шифрованного канала.

Чтобы программа могла проверять трафик, передаваемый внутри шифрованного канала связи, модулями защиты, вам требуется настроить расшифровку TLS/SSL-соединений. Механизм обработки шифрованных соединений при включенной расшифровке TLS/SSL-соединений представлен на рисунке ниже.

kwts_https_with_bumping

Механизм обработки шифрованных соединений при включенной расшифровке TLS/SSL-соединений

Нумерация на рисунке соответствует следующим этапам обработки шифрованных соединений при включенной расшифровке TLS/SSL-соединений:

  1. Компьютер пользователя при помощи CONNECT-запроса запрашивает у прокси-сервера организацию шифрованного канала связи с веб-сервером.
  2. Программа проверяет, удовлетворяет ли запрошенный веб-ресурс критериям правил доступа.
  3. Если в результате применения правила доступа выполняется действие Заблокировать или Перенаправить, соединение обрывается. Пользователю не отображается страница блокировки, и он не перенаправляется на заданный URL-адрес.
  4. Если в результате применения правила доступа выполняется действие Разрешить, программа передает CONNECT-запрос для дальнейшей обработки модулями защиты.
  5. При успешной проверке CONNECT-запроса модулями защиты между компьютером пользователя и прокси-сервером, а также между прокси-сервером и веб-сервером устанавливаются шифрованные каналы связи.
  6. Внутри шифрованного канала связи компьютер пользователя обменивается с веб-сервером обычными HTTP-запросами. Программа получает доступ ко всем передаваемым данным и может применять к ним правила защиты.
  7. Программа проверяет, удовлетворяет ли запрошенный веб-ресурс критериям правил доступа.
  8. Если в результате применения правила доступа выполняется действие Заблокировать, пользователю отображается страница блокировки. Если выполняется действие Перенаправить, пользователь перенаправляется на заданный URL-адрес.
  9. Если в результате применения правила доступа выполняется действие Разрешить, то программа переходит к проверке трафика с помощью правил защиты или политики защиты по умолчанию. При отсутствии обнаруженных угроз запрос пользователя передается на веб-сервер.
  10. Полученный ответ от веб-сервера также проверяется модулями защиты на наличие вирусов и других угроз. При обнаружении угроз программа блокирует трафик, а при их отсутствии передает ответ веб-сервера на компьютер пользователя по шифрованному каналу связи.
  11. При попытке несанкционированного доступа злоумышленники не могут перехватить данные, так как трафик передается внутри шифрованного канала связи.

В этом разделе

Настройка исключений в правилах обработки трафика

Создание правила обхода

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!