ГОСТ и обычный TLS на одном адресе#

Организации, которая обязана защищать соединения отечественными алгоритмами шифрования, приходится обслуживать два вида клиентов сразу: одни умеют работать по ГОСТ, другие приходят с обычным TLS. Angie ADC принимает и тех, и других на одном адресе и сам направляет каждое соединение туда, где его смогут обслужить.

В видео за четыре с половиной минуты показано, как это настраивается в консоли Angie ADC и как балансировщик обходится с тремя клиентами: обычным, смешанным и работающим только по ГОСТ.

Какую задачу решает#

Требование шифровать трафик по ГОСТ редко означает, что обычный TLS можно отключить. Сотрудники ведомств и партнёры подключаются через программы с поддержкой ГОСТ, а остальные посетители пользуются обычными браузерами и приложениями, где этой поддержки нет.

Обычно эту задачу решают вторым входом: для ГОСТ-клиентов заводят отдельный адрес или порт. Это ещё одна точка, которую нужно защищать, отслеживать и объяснять пользователям, и ещё один повод для обращений в поддержку, когда клиент пришёл не на тот адрес.

Angie ADC убирает второй вход. Адрес у сервиса один, а выбор между ГОСТ и обычным TLS балансировщик делает сам, незаметно для клиента.

Как это работает#

Устанавливая защищённое соединение, клиент первым же сообщением перечисляет шифры, которые он поддерживает. Angie ADC читает этот список, не расшифровывая само соединение, и по нему выбирает маршрут:

  • соединение с обычным TLS балансировщик расшифровывает сам и распределяет запросы по серверам приложения;

  • соединение с шифрованием по ГОСТ балансировщик передаёт на отдельный сервер как есть, без расшифровки.

Клиенты при этом бывают трёх видов: обычные, которые предлагают только обычные шифры; смешанные, которые предлагают и обычные шифры, и ГОСТ; и клиенты, которые предлагают только ГОСТ. С первыми и последними всё однозначно, а что делать со смешанными, решает правило, которое задаёт администратор. Есть два готовых варианта:

  • на ГОСТ-сервер попадают все клиенты, которые предлагают хотя бы один шифр ГОСТ, даже если они умеют работать и с обычным TLS;

  • на ГОСТ-сервер попадают только те клиенты, которые предлагают исключительно шифры ГОСТ, а все остальные обслуживаются как обычные.

Что это даёт бизнесу#

  • Один адрес для всех. Клиентам не нужно знать, каким шифрованием они пользуются: они открывают один и тот же адрес и попадают куда нужно.

  • Меньше точек входа. Не нужно публиковать, защищать и сопровождать отдельный адрес для ГОСТ-клиентов.

  • ГОСТ-трафик остаётся закрытым до конца. Балансировщик его не расшифровывает: данные раскрываются только на том сервере, где установлены средства криптографической защиты.

  • Обычный трафик ничего не теряет. Для него по-прежнему работают балансировка и остальные возможности Angie ADC.

  • Переход на ГОСТ можно делать постепенно. Пока клиенты обновляются, смешанных можно обслуживать как обычных, а когда все будут готовы — переключить их на ГОСТ, не меняя адрес сервиса.

  • Правило легко поменять. Переход от одного варианта выбора к другому — это правка одной строки в конфигурации балансировщика, а не перестройка сети.

Что нужно, чтобы повторить#

Сценарий воспроизводится на небольшом стенде:

  • Angie ADC с одним адресом, на который приходят клиенты, и загруженными сертификатами;

  • сервер приложения, принимающий запросы от балансировщика;

  • сервер с поддержкой TLS по ГОСТ;

  • клиент, который умеет устанавливать соединения с шифрами ГОСТ. В видео это утилита curl, запущенная из контейнера с поддержкой ГОСТ-шифрования.

Подробнее в документации#