Привет, Хабр! Перед нами стояла задача по внедрению продукта компании «Код Безопасности» «Континент TLS VPN».
В этой статье мы делимся своим опытом внедрения данного продукта.
Введение
TLS — это криптографический протокол, обеспечивающий безопасную передачу данных между узлами в Интернете.Вы можете ознакомиться с ним Здесь или Здесь .
Ключевые задачи TLS:
- обеспечить конфиденциальность, то есть реализовать защиту от утечек передаваемой информации;
- обеспечить обнаружение подмены, то есть сохранить целостность передаваемой информации;
- обеспечить аутентификацию узла, то есть предоставить механизм проверки подлинности источника сообщений.
Задача
В нашем случае необходимо было предоставить доступ к веб-ресурсу, защищенному шифрованием ГОСТ.Требования:
- Конфигурация кластера (решение требует высокой отказоустойчивости)
- Высокая пропускная способность
- Поддержка различных браузеров (IE, Mozilla, Chrome)
- Максимальное количество подключений в режиме HTTPS-прокси — 10 000.
- Сертификат ФСБ России на криптографическую защиту информации.
Решение
Ниже представлена схема и описание компонентов.
Для решения этой проблемы был выбран продукт компании «Код Безопасности» «Континент TLS VPN», отвечающий всем вышеперечисленным условиям.
Стоит отметить, что на момент разработки это был единственный сертифицированный программный комплекс, обеспечивающий шифрование по ГОСТу по протоколу TLS. В будущем ожидается получение ViPNet TLS-сертификата от компании «ИнфоТекс».
Основные элементы системы:
- СКЗИ «Континент TLS VPN Клиент», версия 1.2.1068
- Балансировщик нагрузки, Netscaler v12
- СКЗИ «Континент TLS VPN Сервер», версия 1.2.1.61
Описание элементов
СКЗИ «Континент TLS VPN-клиент» — TLS-клиент — программное обеспечение, устанавливаемое на компьютер удаленного пользователя и функционирующее совместно с TLS-сервером.Клиент TLS предназначен для обеспечения безопасного доступа удаленных пользователей к веб-ресурсам корпоративной сети по каналам связи общих сетей передачи данных.
NetScaler — это контроллер доставки приложений, который обеспечивает гибкое предоставление услуг для традиционных, контейнерных и микросервисных приложений из центра обработки данных или любого облака.
Балансировщик на базе Citrix Netscaler распределяет HTTPS-сессии между кластерами TLS-серверов.
Ответы от WEB-сервера также собираются балансировщиком.
СКЗИ «Континент TLS VPN Сервер» — сервер предназначен для обеспечения безопасного доступа удаленных пользователей к защищаемым ресурсам.
Процедура настройки
- Инициализируем TLS-сервер, настраиваем кластер, создаем запросы на сертификаты для работы TLS-сервера (корневой сертификат CA, сертификат сервера, сертификат для удаленного управления сервером, сертификат администратора и CRL).
- Первичная настройка TLS-серверов, импорт сертификатов.
- Проверка подключения к защищаемому ресурсу удаленного клиента с помощью TLS VPN Client.
Инициализация
Первая трудность возникла при запуске TLS-серверов.Появилось сообщение «Контроллер не найден».
Совместно со специалистами компании «Код Безопасности» была выявлена довольно необычная проблема.
Оказалось, что ПАК отказался работать в дата-центре с мониторами BenQ, но без проблем работал с любыми другими.
Первоначальная настройка проста и состоит в основном из определения IP-адреса и шлюза, а также имени устройства.
Плюс создание, экспорт/импорт отмычки.
Заказчик использовал в проекте два TLS-сервера.
Оба TLS-сервера должны работать в активном-активном состоянии.
Главный ключ создается на одном сервере и импортируется на другие серверы.
Мастер-ключ (кластерный ключ) предназначен для решения следующих задач:
- шифрование закрытых ключей сертификатов сервера;
- организация безопасного соединения между элементами кластера.
К сожалению, ни одна флешка, даже та, что была в комплекте с Защитным кодом, не работала.
Импорт сертификатов
Далее вам необходимо подключиться к TLS-серверу через веб-интерфейс, определить защищаемый ресурс и установить сертификаты для работы серверов (корневой сертификат CA, сертификат сервера, сертификат для удаленного управления сервером, сертификат администратора и CRL).Все эти сертификаты должны быть выданы одним центром сертификации.
Для первого подключения через веб необходимо использовать КриптоПро CSP, а не «Код безопасности CSP».
При последующей смене сертификатов лучше сначала удалить корневой сертификат ЦС, а затем менять другие сертификаты.
В связи с невозможностью сразу сделать боевые сертификаты было решено протестировать работоспособность кластера TLS-серверов с использованием сертификатов, изготовленных в тестовом УЦ КриптоПро.
Серверы TLS имеют возможность отключить аутентификацию пользователя.
В этом случае безопасный канал будет создан при наличии TLS-клиента и установленных сертификатов (корневой, сертификат сервера и CRL), т.е.
для работы никакой персональный сертификат не требуется.
Проверка соединения
Изначально возникли проблемы с подключением по защищенному каналу к защищенному ресурсу с использованием сертифицированной версии TLS-клиента от Security Code. Подключиться к защищенному ресурсу удалось с помощью TLS-клиента 2.0 от Кода Безопасности, но эта версия пока находится на стадии сертификации.Проблема заключалась в некорректном редиректе на защищенном ресурсе, который не прошел, поскольку TLS-серверы не совсем корректно отработали это правило в релизной версии прошивки.
Для решения проблемы пришлось перепрошить оба TLS-сервера и восстановить сделанные резервные копии.
Процедура прошивки следующая:
- сохранить базу данных сервера (чтобы не создавать всё новое)
- загрузить изображение во Flash с помощью программы flashGUI
- входим в биос, сначала в настройках программного комплекса «Соболь» выставляем время срабатывания сторожевого таймера, достаточное для внесения изменений в настройки в биосе
- измените порядок загрузки, установите загрузку с Flash, сохраните
- при запуске будет сообщение о смене разделов, соглашаемся
- В процессе установки выберите отладочную версию и платформу, которую вы используете.
- перезагрузитесь, войдите в биос, измените порядок установки, согласитесь на изменение
- настройка сервера локально
- подключиться к серверу
- загрузка базы данных
После выполненных операций начал работать сертифицированный TLS-клиент из «Кода Безопасности», на работе которого в системе настаивал заказчик.
Но вот в чем фишка, это не работало в браузере Chrome, в котором заказчику было просто необходимо работать; можно даже сказать, что все для этого было заточено.
Вместе с поддержкой «Кода безопасности» был проведен еще ряд тестов, и в результате все заработало на версии чуть более новой (1.2.1073), чем сертифицированная (1.2.1068).
Кстати, еще один подводный камень при настройке любых TLS-клиентов от Security Code (кроме версии 2.0) — они не работают на виртуальных машинах.
При тестировании часто использовались виртуальные машины, что еще больше усложняло процесс диагностики.
выводы
В заключение хотелось бы подвести итог.Продукт прост в настройке и развертывании.
Разработчикам еще есть над чем поработать, это касается и сервера, и клиента.
Но в целом продукт функционален и работает в кластерной конфигурации.
На данный момент система работает без сбоев и поддерживает нагрузку.
Мы надеемся, что наши полные знания помогут вам быстрее и эффективнее развернуть TLS Continent. Статью подготовил Илья Платонов.
Теги: #информационная безопасность #Криптография #средства информационной безопасности #информационная безопасность #Криптография
-
За Какой Контент В Интернете Стоит Платить?
19 Oct, 24 -
31 Факт О Ранней Истории Доллара Сша
19 Oct, 24 -
Лампа Настроения
19 Oct, 24 -
Speedtest Mini Как Расширение
19 Oct, 24