Когда пользователь хочет подключиться к веб-ресурсу по протоколу HTTPS, требуется установить защищенное шифрованное соединение между его компьютером и веб-сервером, на котором хранится требуемый веб-ресурс. После установки базового TCP/IP-соединения клиент и сервер обмениваются сертификатами безопасности и параметрами шифрования. В результате создается шифрованный канал связи с помощью протокола TLS (Transport Layer Security). Поэтому шифрованные соединения называют также TLS-соединениями. Внутри этого канала данные передаются по протоколу прикладного уровня, например, HTTP.
Если в программе выключена расшифровка TLS/SSL-соединений, то прокси-сервер пересылает сообщения между клиентом и сервером, не вмешиваясь в процесс установки шифрованного соединения. В этом случае модули защиты Kaspersky Web Traffic Security (Антивирус и Анти-Фишинг) не могут проверить данные, передаваемые внутри шифрованного канала связи. Это снижает уровень защиты IT-инфраструктуры организации. Поэтому рекомендуется включить расшифровку TLS/SSL-соединений.
При включении расшифровки TLS/SSL-соединений в параметрах программы прокси-сервер получает возможность вмешиваться в процесс установки соединения. В этом случае программа может применять к трафику действия, заданные в SSL-правилах, или действия по умолчанию, если проверяемый трафик не удовлетворяет условиям ни одного SSL-правила.
В программе предусмотрены следующие действия для обработки шифрованных соединений:
Для обеспечения максимального уровня защиты рекомендуется выбирать действие Bump. Действия Tunnel и Tunnel with SNI check рекомендуется использовать только для веб-ресурсов или приложений, не поддерживающих работу при расшифровке передаваемого трафика (например, банковские приложения).
Применение действий Tunnel, Tunnel with SNI check или Terminate
Принципы установки шифрованных соединений при применении действий Tunnel, Tunnel with SNI check или Terminate представлены на рисунке ниже.
Принципы установки шифрованных соединений при применении действий Tunnel, Tunnel with SNI check или Terminate
Установка шифрованного соединения состоит из следующих этапов:
Клиент отправляет на прокси-сервер CONNECT-запрос на соединение с веб-сервером. Этот запрос содержит полное доменное имя (FQDN) или IP-адрес веб-сервера, на котором размещается запрашиваемый веб-ресурс.
Прокси-сервер формирует и отправляет запрос на соединение с веб-сервером, получает от него ответ и передает этот ответ клиенту.
Клиент передает прокси-серверу набор поддерживаемых параметров шифрования, а также поле SNI, в рамках которого указано полное доменное имя (FQDN) нужного веб-ресурса (веб-сайта).
Если согласно действиям, заданным в SSL-правилах, или действию по умолчанию к запросу применяется действие Terminate, то соединение прерывается. Пользователю не отображается страница блокировки.
Если к запросу не было применено действие Terminate, прокси-сервер передает веб-серверу поле SNI и другие параметры шифрования от имени клиента.
Веб-сервер возвращает прокси-серверу свой набор поддерживаемых параметров шифрования, а также сертификат веб-ресурса, к которому пользователь запросил доступ, на основе поля SNI.
Прокси-сервер передает клиенту сертификат и параметры шифрования, полученные от веб-сервера.
Клиент и сервер согласуют остальные детали подключения. После этого создается защищенный канал связи, внутри которого клиент и сервер могут обмениваться данными.
Применение действий Terminate и Bump
Принципы обработки шифрованных соединений при применении действий Terminate и Bump представлены на рисунке ниже. В этом случае шаги 5 и 7 отличаются от базовой схемы установки шифрованных соединений. На шаге 5 прокси-сервер передает поле SNI и другие параметры шифрования не от имени клиента, а от своего имени. Прокси-сервер получает от веб-сервера сертификат запрашиваемого веб-ресурса, формирует на его основе свой (подменный) сертификат и передает этот подменный сертификат клиенту.
Принципы обработки шифрованных соединений при применении действий Terminate и Bump
Различия в процессе обработки программой шифрованного соединения в зависимости от заданного действия представлен в таблице ниже.
Обработка шифрованных соединений программой в зависимости от заданного действия
Без участия прокси-сервера |
Tunnel |
Tunnel with SNI check |
Bump |
Terminate |
---|---|---|---|---|
Запрос клиента. |
Запрос клиента. Прокси-сервер разрешает создание защищенного канала на основе IP-адреса или полное доменное имя (FQDN) веб-сервера. |
Запрос клиента. |
Запрос клиента. |
Запрос клиента. |
Ответ сервера. |
Ответ сервера. |
Ответ сервера. |
Ответ сервера. |
Ответ сервера. |
Передача SNI и других параметров шифрования клиента. |
Передача SNI и других параметров шифрования клиента. |
Передача SNI и других параметров шифрования клиента. Прокси-сервер разрешает создание защищенного канала на основе SNI запрашиваемого веб-ресурса. |
Передача SNI и других параметров шифрования клиента. Прокси-сервер отправляет эти данные на веб-сервер, но не от имени клиента, а от своего имени. |
Соединение прерывается. Пользователю не отображается страница блокировки. |
Передача сертификата запрашиваемого веб-ресурса. |
Передача сертификата запрашиваемого веб-ресурса. |
Передача сертификата запрашиваемого веб-ресурса. |
Передача сертификата запрашиваемого веб-ресурса. Прокси-сервер перехватывает сертификат, присланный веб-сервером, и формирует на его основе свой подменный сертификат. |
– |
Установка защищенного соединения. |
Установка защищенного соединения. Программа не может выполнить проверку передаваемых данных модулями Антивирус и Анти-Фишинг. |
Установка защищенного соединения. Программа не может выполнить проверку передаваемых данных модулями Антивирус и Анти-Фишинг. |
Установка защищенного соединения. Создается два канала: один между клиентом и прокси-сервером, а второй между прокси-сервером и веб-сервером. Программа может анализировать содержимое защищенных каналов и применять правила обработки трафика к передаваемым внутри канала данным. |
– |