Приложение

Настройка службы аутентификации XSP (с mTLS)

Чтобы настроить службу аутентификации в BroadWorks на использование аутентификации mTLS, следуйте инструкциям из данного Приложения. Если проверка маркера CI (с TLS) не поддерживается, аутентификация mTLS является обязательной, в том числе в следующих случаях:

  • Если вы работаете с версией R21SP1

  • Если вы работаете с версией R22 или более поздними версиями, и при этом сразу несколько организаций Webex работают на одном сервере XSP


Если вы работаете с версией R22 или более поздними версиями, и при этом на одном сервере XSP не работает сразу несколько организаций, для службы аутентификации рекомендуется использовать проверку маркера CI (с TLS).

Установка службы аутентификации

В BroadWorks 21SP1 служба аутентификации является неуправляемым приложением. Чтобы установить его, необходимо выполнить следующие действия:

  1. Скачайте authenticationService_1.0.war (ресурс веб-приложения) из Xchange (https://xchange.broadsoft.com/node/499012).

    На каждом сервере XSP, используемом с Webex, необходимо выполнить следующее:

  2. Скопируйте файл .war во временное расположение в XSP, например в /tmp/

  3. Установите приложение службы аутентификации со использованием следующего контекста CLI и команды:

    XSP_CLI/Maintenance/ManagedObjects> install application /tmp/authenticationService_1.0.war

Настройка службы аутентификации

Долговременные токены BroadWorks создаются и проверяются службой аутентификации, которая размещена на ваших XSP.

Требования

  • Серверы XSP, на которых размещена служба аутентификации, должны иметь настроенный интерфейс mTLS.

  • XSP должны иметь одинаковые ключи для шифрования и расшифровки долговременных токенов BroadWorks. Копирование этих ключей на каждый сервер XSP является процессом, выполняемым вручную.

  • XSP необходимо синхронизировать с NTP.

Обзор конфигурации

Основные настройки XSP включают в себя:

  • Развертывание службы аутентификации.

  • Настройка длительности существования токена не менее 60 дней (оставьте выпускающим BroadWorks).

  • Создание ключей RSA и их совместное использование на XSP.

  • Укажите URL-адрес authService в веб-контейнере.

Развертывание службы аутентификации в XSP

На каждом сервере XSP, используемом с Webex,

  1. Активируйте приложение службы аутентификации в расположении /authService(необходимо использовать этот путь):

    XSP_CLI/Maintenance/ManagedObjects> activate application authenticationService <version> /authService

    (где для значения <version> укажите 1.0 для неуправляемого приложения в 21SP1).

  2. Развертывание приложения.

    XSP_CLI/Maintenance/ManagedObjects> deploy application /authService

Настройка длительности существования токена

  1. Проверьте существующую конфигурацию токена (часы):

    В 21SP1: XSP_CLI/Applications/authenticationService_1.0/TokenManagement> get

  2. Установите длительность существования 60 дней (максимум 180 дней):

    В 21SP1: XSP_CLI/Applications/authenticationService_1.0/TokenManagement> set tokenDuration 1440

Создание и совместное использование ключей RSA

  • Для шифрования/дешифрования токенов во всех экземплярах службы аутентификации необходимо использовать те же пары открытых и закрытых ключей.

  • Пара ключей создается службой аутентификации при первой необходимости в выпуске токена.

По причине этих двух факторов необходимо сгенерировать ключи на одном XSP и скопировать их на все остальные XSP.


При циклическом изменении ключей или изменении их длины необходимо повторить следующую процедуру настройки и перезапустить все XSP.

  1. Выберите один XSP для создания пары ключей.

  2. Используйте клиент для запроса зашифрованного токена от этого XSP, отправив в браузере клиента следующий URL-запрос:

    https://<XSP-IPAddress>/authService/token?key=BASE64URL(clientPublicKey)

    (При этом на XSP создается пара закрытого или открытого ключа, если она еще не была создана)

  3. (Только 21SP1) Проверьте настраиваемое местоположение ключа с помощью следующей команды:

    XSP_CLI/Applications/authenticationService_1.0/KeyManagement> get

  4. (Только 21SP1) Запишите значение возвращенного параметра fileLocation.

  5. (Только 21SP1) Скопируйте весь каталог fileLocation, содержащий подкаталоги public и private, во все остальные XSP.

Укажите URL-адрес authService в веб-контейнере.

Для проверки токенов в веб-контейнере XSP необходим URL-адрес authService.

Для каждого XSP:

  1. Добавьте URL службы аутентификации в качестве внешней службы аутентификации для сервиса BroadWorks Communications.

    XSP_CLI/System/CommunicationUtility/DefaultSettings/ExternalAuthentication/AuthService> set url http://127.0.0.1/authService

  2. Добавьте URL службы аутентификации в контейнер:

    XSP_CLI/Maintenance/ContainerOptions> add tomcat bw.authservice.authServiceUrl http://127.0.0.1/authService

    Это позволяет Cisco Webex использовать службу аутентификации для проверки токенов, предоставленных в качестве учетных данных.

  3. Проверьте параметр с помощью команды get.

  4. Перезапустите XSP.

Настройка доверия для службы аутентификации (с mTLS)

Настройка доверия (R21 SP1)
  1. Войдите в Partner Hub.

  2. Перейдите к меню Настройки > Вызовы BroadWorks и щелкните Скачать сертификат ЦС Webex, чтобы скачать файл CombinedCertChain.txt на свой локальный компьютер.


    Этот файл содержит два сертификата. Перед загрузкой файла в XSP необходимо разделить его.
  3. Разделите цепочку сертификатов на два сертификата:

    1. Откройте combinedcertchain.txt в текстовом редакторе.

    2. Выберите и вырежьте первый блок текста, включая строки -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----, а затем вставьте текстовый блок в новый файл.

    3. Сохраните новый файл как broadcloudroot.txt.

    4. Сохраните исходный файл как broadcloudissuing.txt.

      Исходный файл теперь должен иметь только один текстовый блок, выделенный строками -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----.

  4. Скопируйте оба текстовых файла во временное расположение в безопасной папке XSP, например /tmp/broadcloudroot.txt и /tmp/broadcloudissuing.txt.

  5. Войдите в XSP и перейдите в расположение /XSP_CLI/Interface/Http/ClientAuthentication>

  6. Выполните команду get и прочитайте параметр chainDepth.

    (значение chainDepth по умолчанию – 1, слишком низкое для цепочки Webex с двумя сертификатами)

  7. Если значение chainDepth уже не превышает 2, выполните команду set chainDepth 2.

  8. (Необязательно) Выполните команду help updateTrust для просмотра параметров и формата команды.

  9. Загрузите файлы сертификатов в новые точки доверия.

    XSP_CLI/Interface/Http/ClientAuthentication/Trusts> updateTrust webexclientroot /tmp/broadcloudroot.txt

    XSP_CLI/Interface/Http/ClientAuthentication/Trusts> updateTrust webexclientissuing /tmp/broadcloudissuing.txt


    webexclientroot и webexclientissuing являются примерами псевдонимов для якорей доверия. Также можно использовать собственные.
  10. Подтвердите загрузку обоих сертификатов:

    /XSP_CLI/Interface/Http/ClientAuthentication/Trusts> get

Настройка доверия (R22 и более поздние версии)

  1. Войдите в Control Hub с помощью своей учетной записи администратора-партнера.

  2. Перейдите к меню Настройки > Вызовы BroadWorks и щелкните Скачать сертификат ЦС Webex, чтобы скачать файл CombinedCertChain.txt на свой локальный компьютер.


    Этот файл содержит два сертификата. Перед загрузкой файла в XSP необходимо разделить его.
  3. Разделите цепочку сертификатов на два сертификата:

    1. Откройте combinedcertchain.txt в текстовом редакторе.

    2. Выберите и вырежьте первый блок текста, включая строки -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----, а затем вставьте текстовый блок в новый файл.

    3. Сохраните новый файл как broadcloudroot.txt.

    4. Сохраните исходный файл как broadcloudissuing.txt.

      Исходный файл теперь должен иметь только один текстовый блок, выделенный строками -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----.

  4. Скопируйте оба текстовых файла во временное расположение в безопасной папке XSP, например /tmp/broadcloudroot.txt и /tmp/broadcloudissuing.txt.

  5. (Необязательно) Выполните команду help UpdateTrust для просмотра параметров и формата команды.

  6. Загрузите файлы сертификатов в новые точки доверия.

    XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/Trusts> updateTrust webexclientroot /tmp/broadcloudroot.txt

    XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/Trusts> updateTrust webexclientissuing /tmp/broadcloudissuing.txt


    webexclientroot и webexclientissuing являются примерами псевдонимов для якорей доверия. Также можно использовать собственные.
  7. Подтвердите обновление точек доверия:

    XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/Trusts> get

      Alias   Owner                                   Issuer
    =============================================================================
    webexclientissuing    BroadCloud Commercial Issuing CA – DA3     BroadCloud Commercial Trusted Root CA
    webexclientroot       BroadCloud Commercial Trusted Root CA      BroadCloud Commercial Trusted Root CA[self-signed]

(Необязательно) Настройка mTLS на уровне интерфейса/порта HTTP

MTLS можно настроить на уровне интерфейса/порта HTTP или на уровне веб-приложений.

Способ, с помощью которого можно включить mTLS, зависит от приложений, которые вы разместили на XSP. Если вы разместили нескольких приложений, которые требуют mTLS, необходимо включить mTLS в интерфейсе. Если требуется защитить только одно из приложений, которые используют один и тот же HTTP-интерфейс, mTLS можно настроить на уровне приложений.

При настройке mTLS на уровне интерфейса/порта HTTP для всех веб-приложений, к которым осуществляется доступ через этот интерфейс или порт, требуется mTLS.

  1. Войдите в XSP, интерфейс которого настраивается.

  2. Перейдите в расположение XSP_CLI/Interface/Http/HttpServer> и выполните команду get, чтобы отобразить интерфейсы.

  3. Для добавления интерфейса и обязательной аутентификации клиента (то есть mTLS):

    XSP_CLI/Interface/Http/HttpServer> add IPAddress Port Name true true

    Подробности см. в документации XSP CLI. По сути, первое значение true обеспечивает защиту интерфейса с помощью TLS (при необходимости создается сертификат сервера), а второе значение true обеспечивает принудительное требование аутентификации сертификата клиента интерфейсом (вместе они являются mTLS).

Например:

XSP_CLI/Interface/Http/HttpServer> get

Interface Port Name Secure Client Auth Req Cluster Fqdn
         =======================================================
         192.0.2.7 443 xsp01.collab.example.net true false 
         192.0.2.7 444 xsp01.collab.example.net true true

В этом примере mTLS (Client Auth Req = true) включено в 192.0.2.7 порт 444. TLS включено в 192.0.2.7 порт 443.

(Необязательно) Настройка mTLS для определенных веб-приложений

MTLS можно настроить на уровне интерфейса/порта HTTP или на уровне веб-приложений.

Способ, с помощью которого можно включить mTLS, зависит от приложений, которые вы разместили на XSP. Если вы разместили нескольких приложений, которые требуют mTLS, необходимо включить mTLS в интерфейсе. Если требуется защитить только одно из приложений, которые используют один и тот же HTTP-интерфейс, mTLS можно настроить на уровне приложений.

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

  1. Войдите в XSP, интерфейс которого настраивается.

  2. Перейдите в расположение XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> и выполните команду get для отображения запущенных приложений.

  3. Чтобы добавить приложение и сделать обязательной аутентификацию клиента для него (то есть реализовать mTLS):

    XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> add IPAddress Port ApplicationName true

    Подробности см. в документации XSP CLI. В этом списке перечислены имена приложений. Элемент true в этой команде обеспечивает включение mTLS.

Например:

XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> add 192.0.2.7 443 AuthenticationService true

Команда из примера добавляет приложение AuthenticationService к порту 192.0.2.7:443 и требует запрос и аутентификацию сертификатов от клиента.

Проверка с помощью get:

XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> get

Interface Ip Port Application Name Client Auth Req
         ===================================================
         192.0.2.7 443 AuthenticationService      true          

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

Cisco Webex взаимодействует со службой аутентификации при подключении к взаимной аутентификации TLS. Это означает, что Webex представляет сертификат клиента, и XSP должен его проверить. Чтобы доверять этому сертификату, используйте цепочку сертификатов ЦС Webex, чтобы создать привязку к XSP (или прокси-серверу). Цепочку сертификатов можно скачать с помощью Partner Hub.

  1. Перейдите в раздел Настройки > Вызов BroadWorks.

  2. Щелкните ссылку сертификата для скачивания.


Кроме того, можно получить цепочку сертификатов в https://bwks-uap.webex.com/assets/public/CombinedCertChain.txt.

Точные требования для развертывания цепочки сертификатов ЦС Webex зависят от того, как развернуты общедоступные XSP.

  • Через прокси-сервер моста TLS

  • Через прокси-сервер TLS

  • Непосредственно к XSP

Далее приведена схема развертывания цепочки сертификатов ЦС Webex, которая проводится в следующих трех случаях.

Требования к сертификату Mutual TLS для прокси-сервера моста TLS

  • Webex представляет прокси-серверу сертификат клиента, подписанный ЦС Webex.

  • Цепочка сертификатов ЦС Webex развернута в доверительной системе прокси-сервера, поэтому прокси-сервер доверяет сертификату клиента.

  • Публично подписанный сертификат сервера XSP также загружается в прокси.

  • Прокси-сервер представляет Webex публично подписанный сертификат.

  • Webex доверяет публичному ЦС, подписавшему этот сертификат.

  • Прокси-сервер представляет внутренне подписанный сертификат клиента XSP.

    В этом сертификате должно быть поле расширенного использования ключа x509.v3 с заполненным значением BroadWorks OID 1.3.6.1.4.1.6431.1.1.8.2.1.3 и назначением TLS clientAuth. Например:

    X509v3 extensions:

    X509v3 Extended Key Usage:

    1.3.6.1.4.1.6431.1.1.8.2.1.3, TLS Web Client
                  Authentication 

    При создании внутренних сертификатов клиента для прокси-сервера обратите внимание, что сертификаты SAN не поддерживаются. Внутренними сертификатами сервера для XSP может быть SAN.

  • XSP доверяют внутреннему ЦС.

  • XSP представляют внутренний подписанный сертификат сервера.

  • Прокси-сервер доверяет внутреннему ЦС.

Требования к сертификату взаимной аутентификации TLS для прокси-сервера TLS или XSP в DMZ

  • Webex представляет XSP сертификат клиента, подписанный ЦС Webex.

  • Цепочка сертификатов ЦС Webex развернута в доверительной системе XSP, поэтому XSP доверяет сертификату клиента.

  • Публично подписанный сертификат сервера XSP также загружается в XSP.

  • XSP представляют Webex публично подписанные сертификаты сервера.

  • Webex доверяет публичному ЦС, подписавшему сертификаты сервера XSP.