О TLS-соединениях

13 декабря 2023

ID 189213

Когда пользователь хочет подключиться к веб-ресурсу по протоколу HTTPS, требуется установить защищенное шифрованное соединение между его компьютером и веб-сервером, на котором хранится требуемый веб-ресурс. После установки базового TCP/IP-соединения клиент и сервер обмениваются сертификатами безопасности и параметрами шифрования. В результате создается шифрованный канал связи с помощью протокола TLS (Transport Layer Security). Поэтому шифрованные соединения называют также TLS-соединениями. Внутри этого канала данные передаются по протоколу прикладного уровня, например, HTTP.

Если в программе выключена расшифровка TLS/SSL-соединений, то прокси-сервер пересылает сообщения между клиентом и сервером, не вмешиваясь в процесс установки шифрованного соединения. В этом случае модули защиты Kaspersky Web Traffic Security (Антивирус и Анти-Фишинг) не могут проверить данные, передаваемые внутри шифрованного канала связи. Это снижает уровень защиты IT-инфраструктуры организации. Поэтому рекомендуется включить расшифровку TLS/SSL-соединений.

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

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

  • Tunnel.
  • Tunnel with SNI check.
  • Bump.
  • Terminate.

Для обеспечения максимального уровня защиты рекомендуется выбирать действие Bump. Действия Tunnel и Tunnel with SNI check рекомендуется использовать только для веб-ресурсов или приложений, не поддерживающих работу при расшифровке передаваемого трафика (например, банковские приложения).

Применение действий Tunnel, Tunnel with SNI check или Terminate

Принципы установки шифрованных соединений при применении действий Tunnel, Tunnel with SNI check или Terminate представлены на рисунке ниже.

kwts_tls_without bumping

Принципы установки шифрованных соединений при применении действий Tunnel, Tunnel with SNI check или Terminate

Установка шифрованного соединения состоит из следующих этапов:

  1. Запрос клиента

    Клиент отправляет на прокси-сервер CONNECT-запрос на соединение с веб-сервером. Этот запрос содержит полное доменное имя (FQDN) или IP-адрес веб-сервера, на котором размещается запрашиваемый веб-ресурс.

  2. Передача запроса серверу

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

  3. Передача прокси-серверу SNI и других параметров шифрования клиента

    Клиент передает прокси-серверу набор поддерживаемых параметров шифрования, а также поле SNI, в рамках которого указано полное доменное имя (FQDN) нужного веб-ресурса (веб-сайта).

  4. Проверка на необходимость прерывания соединения

    Если согласно действиям, заданным в SSL-правилах, или действию по умолчанию к запросу применяется действие Terminate, то соединение прерывается. Пользователю не отображается страница блокировки.

  5. Передача веб-серверу SNI и других параметров шифрования клиента

    Если к запросу не было применено действие Terminate, прокси-сервер передает веб-серверу поле SNI и другие параметры шифрования от имени клиента.

  6. Передача сертификата веб-ресурса прокси-серверу

    Веб-сервер возвращает прокси-серверу свой набор поддерживаемых параметров шифрования, а также сертификат веб-ресурса, к которому пользователь запросил доступ, на основе поля SNI.

  7. Передача сертификата веб-ресурса клиенту

    Прокси-сервер передает клиенту сертификат и параметры шифрования, полученные от веб-сервера.

  8. Установка защищенного соединения

    Клиент и сервер согласуют остальные детали подключения. После этого создается защищенный канал связи, внутри которого клиент и сервер могут обмениваться данными.

Применение действий Terminate и Bump

Принципы обработки шифрованных соединений при применении действий Terminate и Bump представлены на рисунке ниже. В этом случае шаги 5 и 7 отличаются от базовой схемы установки шифрованных соединений. На шаге 5 прокси-сервер передает поле SNI и другие параметры шифрования не от имени клиента, а от своего имени. Прокси-сервер получает от веб-сервера сертификат запрашиваемого веб-ресурса, формирует на его основе свой (подменный) сертификат и передает этот подменный сертификат клиенту.

kwts_tls_with_bumping

Принципы обработки шифрованных соединений при применении действий Terminate и Bump

Различия в процессе обработки программой шифрованного соединения в зависимости от заданного действия представлен в таблице ниже.

Обработка шифрованных соединений программой в зависимости от заданного действия

Без участия прокси-сервера

Tunnel

Tunnel with SNI check

Bump

Terminate

Запрос клиента.

Запрос клиента.

Прокси-сервер разрешает создание защищенного канала на основе IP-адреса или полное доменное имя (FQDN) веб-сервера.

Запрос клиента.

Запрос клиента.

Запрос клиента.

Ответ сервера.

Ответ сервера.

Ответ сервера.

Ответ сервера.

Ответ сервера.

Передача SNI и других параметров шифрования клиента.

Передача SNI и других параметров шифрования клиента.

Передача SNI и других параметров шифрования клиента.

Прокси-сервер разрешает создание защищенного канала на основе SNI запрашиваемого веб-ресурса.

Передача SNI и других параметров шифрования клиента.

Прокси-сервер отправляет эти данные на веб-сервер, но не от имени клиента, а от своего имени.

Соединение прерывается. Пользователю не отображается страница блокировки.

Передача сертификата запрашиваемого веб-ресурса.

Передача сертификата запрашиваемого веб-ресурса.

Передача сертификата запрашиваемого веб-ресурса.

Передача сертификата запрашиваемого веб-ресурса.

Прокси-сервер перехватывает сертификат, присланный веб-сервером, и формирует на его основе свой подменный сертификат.

Установка защищенного соединения.

Установка защищенного соединения.

Программа не может выполнить проверку передаваемых данных модулями Антивирус и Анти-Фишинг.

Установка защищенного соединения.

Программа не может выполнить проверку передаваемых данных модулями Антивирус и Анти-Фишинг.

Установка защищенного соединения.

Создается два канала: один между клиентом и прокси-сервером, а второй между прокси-сервером и веб-сервером. Программа может анализировать содержимое защищенных каналов и применять правила обработки трафика к передаваемым внутри канала данным.

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