Introduction
Este documento descreve como configurar o suporte ao Cisco Customer Voice Portal (CVP) Call Server e Voice Extensible Markup Language (VXML) Server Transport Layer Security (TLS) para o HyperText Transfer Protocol (HTTP).
Prerequisites
Requirements
A Cisco recomenda que você tenha conhecimento destes tópicos:
- CVP VXML Server
- Cisco Virtual Voice Browser (CVVB)
- Gateways VXML
Componentes Utilizados
As informações neste documento são baseadas nestas versões 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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Atualmente, o VXML Server pode ter três interfaces seguras com componentes diferentes, como mostrado na imagem.
Interface TLS do servidor VXML
Interface 1. Esta é a interface HTTP entre o VXML Gateway, o Cisco Virtualized Voice Browser (CVVB) e o VXML Server. Aqui o VXML Server atua como um servidor.
Interface 2. Esta é a interface HTTP típica onde o VXML Server interage com um servidor Web externo que usa a interface HTTP/Simple Object Access Protocol (SOAP). Essa interface é definida como uma parte do elemento personalizado ou elemento WebService ou elemento SOAP.
Interface 3. Trata-se do servidor de Banco de Dados (DB) externo (Microsoft Structured Query Language (MSSQL) e ORACLE DB), que usa interface de Elemento de Banco de Dados incorporada ou interface de elemento personalizada.
Neste cenário, na Interface 1., o VXML Server atua como um servidor e na Interface 2. e 3., o VXML Server atua como clientes seguros.
Problema: Como ativar o TLS 1.2 em diferentes interfaces do CVP VXML Server
O CVP VXML Server se comunica com vários dispositivos e servidores com a ajuda de diferentes interfaces. O TLS 1.2 deve ser habilitado em todos eles para atingir o nível de segurança desejado.
Solução
Procedimento para ativar o TLS 1.2 na interface 1
Nesta interface, conforme descrito anteriormente, o CVP VXML Server atua como um servidor. Essa implementação segura é feita pela Tomcat. Essa configuração é controlada pelo server.xml no Tomcat.
Configuração típica do 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 exemplo tem TLS v1.2, de modo que os parâmetros necessários para serem configurados (sslEnabledProtocols e certificate) têm a configuração necessária para ter o suporte de TLS 1.2.
Use java keytool.exe para gerar certificados TLS 1.2. Esta ferramenta pode ser encontrada em Cisco\CVP\jre\bin\.
Documentação do Keytool
Procedimento para ativar o TLS 1.2 na interface 2
Essa é a interface mais comum usada. Aqui o VXML Server atua como um cliente e precisa abrir a comunicação segura para um WebServer externo.
Há duas maneiras diferentes de lidar com isso.
- Usar código personalizado.
- Use o CVP Framework.
Isto descreve o uso da Estrutura de CVP.
A partir de 11.6 está ativado por padrão, para versões anteriores, marque esta tabela:
Se você tiver uma versão ES instalada afetada por este defeito: CSCvc39129 VXML Server como cliente TLS, você precisará aplicar esta configuração manual:
Etapa 1. Abra o editor do registro e navegue até HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Java.
Etapa 2. Abra Options Key e add-Dhttps.client.protocol=TLSv1.2 no final.
Etapa 3. Reinicie o serviço Cisco CVP VXMLServer.
Esta é a lista rápida de suporte de protocolo padrão em diferentes versões JAVA.
-Djdk.tls.client.protocols=TLSv1.2.
Essa configuração exige que o VXML Server use o TLS 1.2 no Java SE Development Kit (JDK) 7 e o JDK6.
Observação: o SSL está desabilitado por padrão.
Procedimento para ativar o TLS 1.2 na interface 3
Nesta interface, conforme descrito anteriormente, o CVP VXML Server atua como um cliente e um servidor de banco de dados de terceiros que atua como servidor.
Verifique se o servidor de banco de dados de terceiros suporta TLS 1.2 e TLS 1.2 está ativado nele.
Por exemplo, se você usa o SQL Server 2014 com Service Pack (SP) 2, ele suporta TLS 1.2 e confirma que O protocolo TLS 1.2 está ativado no registro conforme mencionado aqui no SQL Server:
SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Para ativar o TLS 1.2 para a interface 3 no lado do CVP:
Etapa 1. Abra o editor do registro e navegue até HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Java.
Etapa 2. Abra a chave de opções e adicione-Djdk.tls.client.protocols=TLSv1.2 no final.
Etapa 3. Reinicie o serviço Cisco CVP VXMLServer.
Note: Verifique este bug para obter mais detalhes: Falha na conexão do banco de dados JNDI CSCvg20831 com o CVP11.6 SQL 2014SP2.
Procedimento para atualizar o JRE para suporte TLS 1.2
O CVP suporta a atualização do Java Runtime Environment (JRE) para a versão mais recente para defeitos de bugs.
Esta tabela mostra as versões JAVA.
Versões do JAVA
Siga o procedimento descrito neste link.
Caution: A atualização de 32 para 64 bits e vice-versa não é suportada
Procedimento para atualizar o Tomcat
A atualização do Tomcat Minor é suportada. Entretanto, verifique os problemas de compatibilidade entre os Jars personalizados (AXIS, JDBC, etc.) antes de executar a atualização.
Para obter mais detalhes, consulte o procedimento aqui.