Introducción
Este documento describe cómo configurar el soporte de Cisco Customer Voice Portal (CVP) Call Server y Voice Extensible Markup Language (VXML) Server Transport Layer Security (TLS) para HyperText Transfer Protocol (HTTP).
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Servidor CVP VXML
- Explorador de voz virtual de Cisco (CVVB)
- Gateways VXML
Componentes Utilizados
La información que contiene este documento se basa en estas versiones de software:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Actualmente, el servidor VXML puede tener tres interfaces seguras con componentes diferentes, como se muestra en la imagen.
Interfaz TLS del servidor VXML
Interfaz 1. Se trata de la interfaz de protocolo de transferencia de hipertexto (HTTP) entre la puerta de enlace VXML, el Cisco Virtualized Voice Browser (CVVB) y el servidor VXML. Aquí el servidor VXML actúa como servidor.
Interfaz 2. Ésta es la interfaz HTTP típica en la que el servidor VXML interactúa con un servidor Web externo que utiliza la interfaz HTTP/protocolo simple de acceso a objetos (SOAP). Esta interfaz se define como una parte del elemento personalizado, el elemento WebService o el elemento SOAP.
Interfaz 3. Se trata de una base de datos externa (DB) (Servidor de Lenguaje de consulta estructurado de Microsoft (MSSQL) y base de datos ORACLE), que utiliza una interfaz de elemento de base de datos integrada o una interfaz de elemento personalizada.
En esta situación, en la interfaz 1., el servidor VXML actúa como servidor y en la interfaz 2. y 3., VXML Server actúa como clientes seguros.
Problema: Cómo Habilitar TLS 1.2 en Diferentes Interfaces de CVP VXML Server
El servidor VXML de CVP se comunica con varios dispositivos y servidores con la ayuda de diferentes interfaces. TLS 1.2 se debe habilitar en todos ellos para alcanzar el nivel de seguridad deseado.
Solución
Procedimiento para Habilitar TLS 1.2 en la Interfaz 1
En esta interfaz, como se ha descrito anteriormente, CVP VXML Server actúa como servidor. Tomcat se encarga de esta implementación segura. Esta configuración es controlada por server.xml en Tomcat.
Configuración típica del conector:
<Connector SSLCertificateFile="C:\Cisco\CVP\conf\security\vxml.crt" SSLCertificateKeyFile="C:\Cisco\CVP\conf\security\vxml.key" SSLEnabled="true" acceptCount="1500"
ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256"
clientAuth="false" disableUploadTimeout="true" enableLookups="false" executor="tomcatThreadPool" keyAlias="vxml_certificate"
keystoreFile="C:\Cisco\CVP\conf\security\.keystore" keystorePass="3WJ~RH0WjKgyq3CKl$x?7f0?JU*7R3}WW0jE,I*_RC8w2Lf" keystoreType="JCEKS" maxHttpHeaderSize="8192" port="7443"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslEnabledProtocols="TLSv1, TLSv1.1, TLSv1.2" sslProtocol="TLS"/>
Este ejemplo tiene TLS v1.2, por lo que los parámetros necesarios para ser configurados (sslEnabledProtocols y certificate) tienen la configuración necesaria para tener el soporte de TLS 1.2.
Utilice java keytool.exe para generar certificados TLS 1.2. Esta herramienta se puede encontrar en Cisco\CVP\jre\bin\.
Documentación de la herramienta clave
Procedimiento para Habilitar TLS 1.2 en la Interfaz 2
Ésta es la interfaz más común utilizada. Aquí el servidor VXML actúa como cliente y necesita abrir una comunicación segura a un servidor Web externo.
Hay dos maneras diferentes de manejar esto.
- Utilizar código personalizado.
- Utilice CVP Framework.
Esto describe el uso de CVP Framework.
Desde 11.6 está habilitado de forma predeterminada, para las versiones anteriores, marque esta tabla:
Si tiene instalada una versión ES que se ve afectada por este defecto: CSCvc39129 VXML Server como cliente TLS, debe aplicar esta configuración manual:
Paso 1. Abra el editor del registro y navegue hasta HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Java.
Paso 2. Abra Options Key y agregue -Dhttps.client.protocol=TLSv1.2 al final.
Paso 3. Reinicie el servicio Cisco CVP VXMLServer.
Esta es la lista rápida de soporte de protocolo predeterminado en diferentes versiones de JAVA.
-Djdk.tls.client.protocols=TLSv1.2.
Esta configuración exige que el servidor VXML utilice TLS 1.2 en Java SE Development Kit (JDK) 7 y JDK6.
Nota: SSL está inhabilitado de forma predeterminada.
Procedimiento para Habilitar TLS 1.2 en la Interfaz 3
En esta interfaz, como se ha descrito anteriormente, CVP VXML Server actúa como un cliente y un servidor de base de datos de terceros que actúa como servidor.
Asegúrese de que el servidor de base de datos de terceros admita TLS 1.2 y TLS 1.2 esté habilitado en él.
Por ejemplo, si utiliza SQL Server 2014 con Service Pack (SP) 2, admite TLS 1.2 y confirme que El protocolo TLS 1.2 se habilita en el Registro como se menciona aquí en SQL Server:
SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Para habilitar TLS 1.2 para la interfaz 3 en el lado CVP:
Paso 1. Abra el editor del registro y navegue hasta HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Java.
Paso 2. Abra Options Key y agregue -Djdk.tls.client.protocols=TLSv1.2 al final.
Paso 3. Reinicie el servicio Cisco CVP VXMLServer.
Nota: Verifique este bug para obtener más detalles: La conexión de la base de datos JNDI CSCvg20831 falla con CVP11.6 SQL 2014SP2.
Procedimiento para actualizar JRE para el soporte de TLS 1.2
CVP admite la actualización del entorno de tiempo de ejecución de Java (JRE) a la última versión para detectar defectos de funcionamiento.
Esta tabla muestra las versiones de JAVA.
Versiones de JAVA
Siga el procedimiento descrito en este enlace.
Precaución: No se admite la actualización de 32 bits a 64 bits y viceversa
Procedimiento para actualizar Tomcat
Se admite la actualización de Tomcat Minor. Sin embargo, asegúrese de comprobar los problemas de compatibilidad entre las barras personalizadas (AXIS, JDBC, etc.) antes de realizar la actualización.
Para obtener más información, consulte el procedimiento aquí.