Apéndice

Configurar el servicio de autenticación XSP (con mTLS)

Complete los procedimientos de este Apéndice para configurar el Servicio de autenticación en BroadWorks de modo que utilice la autenticación mTLS. En los casos en los que no se admite la validación de token de CI (con TLS), la autenticación mTLS es obligatoria, incluidas las siguientes instancias:

  • Si está ejecutando R21SP1

  • Si está ejecutando R22 o una versión superior y tiene varias organizaciones de Webex ejecutándose en el mismo servidor XSP


Si está ejecutando R22 o una versión superior, y no tiene varias organizaciones de Webex ejecutándose en el mismo servidor XSP, se recomienda la Validación de token de CI (con TLS) para el servicio de autenticación. Para obtener más detalles, consulte Configurar el servicio de autenticación (con validación de token de CI) en el capítulo Implementar Webex para BroadWorks.

Instalar servicio de autenticación

En BroadWorks 21SP1, el servicio de autenticación es una aplicación no gestionado. Instale la aplicación siguiendo los siguientes pasos:

  1. Descargue authenticationService_1.0.war (recurso de la aplicación web) desde Xchange (https://xchange.broadsoft.com/node/499012).

    En cada XSP usado con Webex, haga lo siguiente:

  2. Copie el archivo .war en una ubicación temporal de XSP, por ejemplo: /tmp/

  3. Instale la aplicación de servicio de autenticación con el siguiente contexto y comando de la CLI:

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

Configurar el servicio de autenticación

Los tokens extensos de BroadWorks son generados y validados por el servicio de autenticación alojado en sus XSP.

Requisitos

  • Los servidores XSP que alojan el servicio de autenticación deben tener una interfaz mTLS configurada.

  • Los XSP deben compartir las mismas claves para cifrar/desencriptar los tokens largos de BroadWorks. Copiar estas claves en cada XSP es un proceso manual.

  • Los XSP deben sincronizarse con NTP.

Descripción general de la configuración

La configuración esencial de sus XSP incluye:

  • Implemente el servicio de autenticación.

  • Configure la duración del token en al menos 60 días (deje al emisor como BroadWorks).

  • Genere y comparta claves RSA en XSP.

  • Proporcione la URL del servicio de autenticación al contenedor web.

Implementar el servicio de autenticación en XSP

En cada XSP usado con Webex:

  1. Active la aplicación del servicio de autenticación en la ruta /authService(debe utilizar esta ruta):

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

    (donde <version> Es 1.0 para la aplicación no administrada en 21SP1).

  2. Implemente la aplicación:

    XSP_CLI/Maintenance/ManagedObjects> deploy application /authService

Configurar la duración de token

  1. Compruebe la configuración de token existente (horas):

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

  2. Establezca la duración en 60 días (el máximo es 180 días):

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

Generar y compartir claves RSA

  • Debe utilizar los mismos pares de claves públicas/privadas para el cifrado y descifrado de tokens en todas las instancias del servicio de autenticación.

  • El servicio de autenticación genera el par de claves cuando se le exige por primera vez emitir un token.

Debido a estos dos factores, debe generar claves en un XSP y luego copiarlas a todos los otros XSP.


Si cambia las teclas de ciclo o cambia la longitud de la clave, debe repetir la siguiente configuración y reiniciar todos los XSP.

  1. Seleccione un XSP para generar un par de claves.

  2. Utilice un cliente para solicitar un token cifrado desde ese XSP; para ello, solicite la siguiente URL del explorador del cliente:

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

    (Esto genera un par de claves privadas/públicas en el XSP, si todavía no había uno)

  3. (solo 21SP1) Compruebe la ubicación de la clave configurable con el siguiente comando:

    XSP_CLI/Applications/authenticationService_1.0/KeyManagement> get

  4. (solo 21SP1) Tome nota de la fileLocation/qb.

  5. (solo 21SP1) Copie el todo fileLocation directorio, que contiene public y una private comoies, a todos los demás XSP.

Proporcione la URL del servicio de autenticación al contenedor web

El contenedor web de XSP necesita la URL de servicio de autenticación para que pueda validar los tokens.

En cada una de las XSP:

  1. Agregue la URL del servicio de autenticación como servicio de autenticación externa para la utilidad BroadWorks Communications:

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

  2. Agregue la URL del servicio de autenticación al contenedor:

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

    Esto permite que Webex utilice el servicio de autenticación para validar los tokens presentados como credenciales.

  3. Compruebe el parámetro con get.

  4. Reinicie XSP.

Configurar la confianza para el servicio de autenticación (con mTLS)

Configurar confianza (R21 SP1)
  1. Inicie sesión en el Concentrador de socios.

  2. Vaya a Configuración y > BroadWorks y haga clic en Descargar certificado de CA de Webex para obtenerCombinedCertChain.txt en su computadora local.


    Este archivo contiene dos certificados. Debe dividir el archivo antes de cargarlo a los XSP.
  3. Divida la cadena de certificados en dos certificados:

    1. Abierto combinedcertchain.txt en un editor de texto.

    2. Seleccione y corte el primer bloque de texto, incluidas las líneas -----BEGIN CERTIFICATE----- y una -----END CERTIFICATE----- y pegue el bloque de texto en un archivo nuevo.

    3. Guarde el nuevo archivo como broadcloudroot.txt.

    4. Guarde el archivo original como broadcloudissuing.txt.

      El archivo original ahora solo debería tener un bloque de texto, envueludo por líneas -----BEGIN CERTIFICATE----- y una -----END CERTIFICATE-----.

  4. Copie ambos archivos de texto en una ubicación temporal en la XSP que está asegurando, por ejemplo. /tmp/broadcloudroot.txt y una /tmp/broadcloudissuing.txt.

  5. Inicie sesión en el XSP y navegue hasta /XSP_CLI/Interface/Http/ClientAuthentication>

  6. Ejecute el archivo get y lea el chainDepth/qb.

    (cadenaDepth es 1 en forma predeterminada, que es demasiado baja para la cadena de Webex que tiene dos certificados)

  7. Si el valor del chainDepth no es mayor a 2, ejecute set chainDepth 2.

  8. (Opcional) Ejecutar help updateTrust para ver los parámetros y el formato de los comandos.

  9. Cargue los archivos de certificado en los anclajes de confianza nuevos:

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

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


    webexclientroot y una webexclientissuing son alias de ejemplo para los anclajes de confianza; puede usar los suyos propios.
  10. Confirme que ambos certificados estén cargados:

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

Configurar confianza (R22 y versiones posteriores)

  1. Inicie sesión en Control Hub con su cuenta de administrador de socios.

  2. Vaya a Configuración y > BroadWorks y haga clic en Descargar certificado de CA de Webex para obtenerCombinedCertChain.txt en su computadora local.


    Este archivo contiene dos certificados. Debe dividir el archivo antes de cargarlo a los XSP.
  3. Divida la cadena de certificados en dos certificados:

    1. Abierto combinedcertchain.txt en un editor de texto.

    2. Seleccione y corte el primer bloque de texto, incluidas las líneas -----BEGIN CERTIFICATE----- y una -----END CERTIFICATE----- y pegue el bloque de texto en un archivo nuevo.

    3. Guarde el nuevo archivo como broadcloudroot.txt.

    4. Guarde el archivo original como broadcloudissuing.txt.

      El archivo original ahora solo debería tener un bloque de texto, envueludo por líneas -----BEGIN CERTIFICATE----- y una -----END CERTIFICATE-----.

  4. Copie ambos archivos de texto en una ubicación temporal en la XSP que está asegurando, por ejemplo. /tmp/broadcloudroot.txt y una /tmp/broadcloudissuing.txt.

  5. (Opcional) Ejecutar help UpdateTrust para ver los parámetros y el formato de los comandos.

  6. Cargue los archivos de certificado en los anclajes de confianza nuevos:

    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 y una webexclientissuing son alias de ejemplo para los anclajes de confianza; puede usar los suyos propios.
  7. Confirme que los anclajes estén actualizados:

    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]

(Opción) Configurar mTLS en el nivel de interfaz/puerto HTTP

Es posible configurar mTLS en el nivel de interfaz/puerto HTTP o en una aplicación por web.

La forma en la que habilita mTLS para su aplicación depende de las aplicaciones que está organizando en XSP. Si está organizando varias aplicaciones que requieren mTLS, debe habilitar mTLS en la interfaz. Si solo necesita asegurar una de las varias aplicaciones que utilizan la misma interfaz HTTP, puede configurar mTLS a nivel de aplicación.

Cuando se configura mTLS en el nivel de interfaz HTTP/puerto, se requiere mTLS para todas las aplicaciones web alojadas a las que se accede a través de esta interfaz/puerto.

  1. Inicie sesión en el XSP cuya interfaz está configurando.

  2. Navegue hasta XSP_CLI/Interface/Http/HttpServer> y ejecute el get para ver las interfaces.

  3. Para agregar una interfaz y requerir la autenticación del cliente allí (lo que significa lo mismo que mTLS):

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

    Consulte la documentación de XSP CLI para obtener detalles. Básicamente, la primera true asegura la interfaz con TLS (el certificado de servidor se crea si es necesario) y el segundo true fuerza la interfaz para requerir la autenticación de certificado del cliente (juntos son mTLS).

Por ejemplo:

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

En este ejemplo, mTLS (Client Auth Req = true) está habilitado en 192.0.2.7 puerto 444. TLS está habilitado el 192.0.2.7 puerto 443.

(Opción) Configurar mTLS para aplicaciones web específicas

Es posible configurar mTLS en el nivel de interfaz/puerto HTTP o en una aplicación por web.

La forma en la que habilita mTLS para su aplicación depende de las aplicaciones que está organizando en XSP. Si está organizando varias aplicaciones que requieren mTLS, debe habilitar mTLS en la interfaz. Si solo necesita asegurar una de las varias aplicaciones que utilizan la misma interfaz HTTP, puede configurar mTLS a nivel de aplicación.

Cuando se configura mTLS en el nivel de aplicación, se requiere mTLS para esa aplicación, independientemente de la configuración de la interfaz del servidor HTTP.

  1. Inicie sesión en el XSP cuya interfaz está configurando.

  2. Navegue hasta XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> y ejecute el get para ver qué aplicaciones se están ejecutando.

  3. Para agregar una aplicación y requerirle autenticación de cliente (lo que significa lo mismo que mTLS):

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

    Consulte la documentación de XSP CLI para obtener detalles. Allí se enumeran los nombres de las aplicaciones. El mensaje true en este comando se activa mTLS.

Por ejemplo:

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

El comando de ejemplo agrega la aplicación AuthenticationService a 192.0.2.7:443 y la requiere para solicitar y autenticar certificados del cliente.

Comprobar con get:

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

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

Requisitos adicionales de certificados para la autenticación de TLS mutuo contra AuthService

Webex interactúa con el servicio de autenticación a través TLS mutuo conexión autenticada. Esto significa que Webex debe presentar un certificado de cliente y el XSP debe validarlo. Para confiar en este certificado, utilice la cadena de certificados de CA de Webex para crear un anclaje de confianza en XSP (o proxy). La cadena de certificados está disponible para descargar a través del Concentrador de socios:

  1. Vaya a Configuración > Llamadas de BroadWorks.

  2. Haga clic en el enlace para descargar el certificado.


También puede obtener la cadena de certificados de https://bwks-uap.webex.com/assets/public/CombinedCertChain.txt.

Los requisitos exactos para implementar esta cadena de certificados de Ca de Webex dependen de cómo se implementen sus servidores XSP de cara al público:

  • A través de un proxy de conexión TLS

  • A través de un proxy de transferencia TLS

  • Directamente al XSP

El siguiente diagrama resume el lugar en el que debe implementarse la cadena de certificados de CA de Webex en estos tres casos.

Requisitos del certificado de TLS mutuo para el proxy del puente TLS

  • Webex presenta un certificado de cliente firmado por una CA de Webex al proxy.

  • La cadena de certificados de CA de Webex se implementa en el almacén de confianza del proxy, de modo que el proxy confía en el certificado del cliente.

  • El certificado del servidor XSP firmado públicamente también se carga en el proxy.

  • El proxy debe presentar un certificado de servidor firmado públicamente en Webex.

  • Webex confía en la CA pública que firmó el certificado del servidor del proxy.

  • El proxy presenta un certificado de cliente firmado internamente a los XSP.

    Este certificado debe tener el campo de extensión x509.v3 Extended Key Usage completo con el BroadWorks OID 1.3.6.1.4.1.6431.1.1.8.2.1.3 y el propósito de la autenticación de cliente TLS. E.g.:

    X509v3 extensions:

    X509v3 Extended Key Usage:

    1.3.6.1.4.1.6431.1.1.8.2.1.3, TLS Web Client
                  Authentication 

    Al generar certificados de clientes internos para el proxy, tenga en cuenta que los certificados SAN no son compatibles. Los certificados internos del servidor para el XSP pueden ser SAN.

  • Los XSP confían en la CA interna.

  • Los XSP presentan un certificado de servidor firmado internamente.

  • El proxy confía en la CA interna.

Requisitos del certificado de TLS mutuo para el proxy de paso tls o XSP en DMZ

  • Webex presenta un certificado de cliente firmado de CA de Webex a los XSP.

  • La cadena de certificados de CA de Webex se implementa en el almacén de confianza de XSP, de modo que los XSP confían en el certificado del cliente.

  • El certificado del servidor XSP firmado públicamente también se carga en los XSP.

  • Los XSP presentan certificados de servidor firmados públicamente en Webex.

  • Webex confía en la CA pública que firmó los certificados del servidor de los XSP.