CLI

Обзор

SSL-профили и SNI-профили используются в системе балансировки нагрузки для настройки обработки соединений TLS/SSL. Они определяют, какие сертификаты, протоколы и алгоритмы шифрования должны использоваться при установке frontend-соединений (между клиентом и ADC) и backend-соединений (между ADC и Worker).

SSL-профиль поддерживает такие функции, как:

  • TLS-терминация

  • Выбор сертификата на основе SNI

  • Проверка клиентского сертификата (mTLS)

  • Управление версией TLS и шифрами

  • Безопасное взаимодействие с backend-серверами

Использование на frontend

SSL-профили на frontend используются для:

  • TLS-терминация и выбор сертификата. ADC принимает зашифрованные соединения и расшифровывает их на уровне приложения. SSL-профили определяют, какой сертификат используется — либо по умолчанию, либо выбранный на основе имени хоста SNI, предоставленного клиентом.

  • mTLS-аутентификация. Если включена, профиль принудительно проверяет клиентский сертификат с использованием доверенной цепочки сертификатов удостоверяющего центра (CA). Это обычно требуется для безопасных API или интеграций с корпоративными партнёрами.

  • Управление версией TLS и шифрами. SSL-профили позволяют ограничивать или требовать использование конкретных версий TLS (например, отключение TLS 1.0) и контролировать разрешённые наборы шифров, что повышает совместимость и соответствие политикам безопасности.

  • Поддержка доменных политик TLS. SNI-профили можно привязать для сопоставления отдельных доменных имён с разными сертификатами, доверенными цепочками CA и настройками TLS — полезно для multi-tenant или многодоменных развёртываний.

Чтобы применить SSL-профили на frontend, назначьте их сервису.

Использование на backend

SSL-профили на backend используются, когда ADC подключается к backend-серверам по протоколу TLS. Они поддерживают:

  • Сквозное шифрование. Обеспечивает шифрование данных не только между клиентом и ADC, но и между ADC и backend-сервером.

  • Проверка сертификатов backend-серверов. SSL-профиль позволяет ADC проверять сертификат backend-сервера по доверенной цепочке CA, обеспечивая взаимодействие только с доверенными системами.

  • Представление клиентских сертификатов (mTLS). ADC может представить свой сертификат при подключении к backend-сервисам, требующим mTLS-аутентификации.

  • Управление версиями TLS и шифрами. Backend SSL-профили позволяют контролировать, какие версии TLS и какие наборы шифров разрешены, даже во внутренних коммуникациях.

Для применения SSL-профилей на backend назначьте их Target-группам или отдельным Workers для детального управления.

Настройка

SSL-профиль

vlb ssl-profile NAME

Создать SSL-профиль.

После создания можно настроить следующие параметры в SSL-профиле:

ca-chain NAME

Доверенная цепочка CA для сквозного шифрования.

ca-verify NAME

Цепочка сертификатов для проверки Worker.

certificate NAME

Клиентский сертификат для Worker (используется в настройках mTLS).

cert-chain NAME

Дополнительная цепочка сертификатов, отправляемая вместе с SSL-сертификатом. Используется для корректного представления цепочки.

cipher SUITE_LIST

Разрешённые шифры (TLS 1.0–1.2):

aes128-gcm-sha256
aes128-sha
aes128-sha256
aes256-gcm-sha384
aes256-sha256
dhe-rsa-aes128-gcm-sha256
dhe-rsa-aes128-sha
dhe-rsa-aes128-sha256
dhe-rsa-aes256-gcm-sha384
dhe-rsa-aes256-sha
dhe-rsa-aes256-sha256
dhe-rsa-chacha20-poly1305
ecdhe-ecdsa-aes128-gcm-sha256
ecdhe-ecdsa-aes128-sha
ecdhe-ecdsa-aes128-sha256
ecdhe-ecdsa-aes256-gcm-sha384
ecdhe-ecdsa-aes256-sha
ecdhe-ecdsa-aes256-sha384
ecdhe-ecdsa-chacha20-poly1305
ecdhe-rsa-aes128-gcm-sha256
ecdhe-rsa-aes128-sha
ecdhe-rsa-aes128-sha256
ecdhe-rsa-aes256-gcm-sha384
ecdhe-rsa-aes256-sha
ecdhe-rsa-aes256-sha384
ecdhe-rsa-chacha20-poly1305
cipher expression STRING

Разрешённые шифры через STRING. Например:

trafficsoft(vlb-ssl-profile)# cipher expression ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
ciphersuites {tls_aes_128_gcm_sha256|tls_aes_256_gcm_sha384|tls_chacha20_poly1305_sha256}

Разрешённые наборы шифров (TLS 1.3).

ciphersuites expression STRING

Разрешённые наборы шифров через STRING.

client-certificate NAME

Клиентский сертификат для Worker (используется в соединениях mTLS).

max-protocol {ssl3|tls1|tls1_1|tls1_2|tls1_3}

Максимальная версия криптографического протокола.

min-protocol {ssl3|tls1|tls1_1|tls1_2|tls1_3}

Минимальная версия криптографического протокола.

no-verify-worker

Пропустить проверку сертификата Worker.

servername NAME certificate NAME

Server Name Indication и связанный сертификат для TLS-соединений.

sni-profile NAME

Один или несколько дополнительных SNI-профилей для расширения обработки сертификатов на основе SNI.

verify-client {off|on|optional}

Режим проверки клиентского сертификата:

  • off — не проверять (по умолчанию)

  • on — требовать и проверять клиентский сертификат с использованием цепочки CA

  • optional — проверять, если предоставлен

verify-depth (1-16)

Глубина проверки Worker.

SNI-профиль

SNI-профили (Server Name Indication Profile) расширяют логику frontend, сопоставляя доменные имена с конкретными сертификатами и настройками TLS.

Примечание

SNI-профиль сам по себе неактивен. Он должен быть привязан к SSL-профилю, чтобы вступить в силу, либо на frontend-соединении (клиентская сторона), либо на backend-соединении (исходящее), в зависимости от того, где применяется SSL-профиль.

vlb sni-profile NAME

Создать SNI-профиль.

После создания можно настроить следующие параметры в SNI-профиле:

ca-chain NAME

Доверенная цепочка CA для сквозного шифрования.

cert-chain NAME

Дополнительная цепочка сертификатов, отправляемая вместе с SSL-сертификатом из записи servername. Используется для корректного представления цепочки, а не для проверки доверия.

ciphersuites {tls_aes_128_gcm_sha256|tls_aes_256_gcm_sha384|tls_chacha20_poly1305_sha256}

Разрешённые наборы шифров (TLS 1.3).

ciphersuites expression STRING

Разрешённые наборы шифров через STRING.

max-protocol {ssl3|tls1|tls1_1|tls1_2|tls1_3}

Максимальная версия криптографического протокола.

min-protocol {ssl3|tls1|tls1_1|tls1_2|tls1_3}

Минимальная версия криптографического протокола.

servername NAME certificate NAME

Server Name Indication и связанный сертификат для TLS-соединений.

Show-команды

show vlb ssl-profile NAME

Показать информацию об указанном SSL-профиле.

Пример вывода:

trafficsoft# show vlb ssl-profile ssl_profile1
SSL profile ssl_profile1
  docs.trafficsoft.ru: cert (build cert chain OK)
  trafficsoft.ru: cert + ca-chain (build cert chain OK)

  Profile statistics:
    handshakes:
      Default                           0
      Worker                            0
      docs.trafficsoft.ru               0
      trafficsoft.ru                    0

Привязки сертификатов:

  • docs.trafficsoft.ru: cert (build cert chain OK) — сертификат настроен для домена docs.trafficsoft.ru. Цепочка сертификатов успешно построена без дополнительной цепочки CA, что означает, что она либо самодостаточна, либо промежуточные сертификаты встроены.

  • trafficsoft.ru: cert + ca-chain (build cert chain OK) — сертификат настроен для домена trafficsoft.ru вместе с отдельной цепочкой CA. Полная цепочка сертификатов успешно построена.

Это подтверждает, что оба имени серверов корректно связаны с действительными и полными цепочками сертификатов, которые будут представлены клиентам во время TLS-рукопожатия.

Статистика рукопожатий:

  • Default — количество TLS-рукопожатий, где не было предоставлено SNI или не было найдено совпадение.

  • Worker — TLS-рукопожатия, инициированные ADC к backend-серверам с использованием этого профиля.

  • docs.trafficsoft.ru / trafficsoft.ru — количество рукопожатий, где клиент запросил соответствующий SNI.