概要
このドキュメントでは、Cisco Customer Voice Portal(CVP)Call ServerおよびVoice Extensible Markup Language(VXML)Server Transport Layer Security(TLS)のHyperText Transfer Protocol(HTTP)サポートを設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- CVP VXMLサーバ
- Cisco Virtual Voice Browser(CVVB)
- VXMLゲートウェイ
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
現在、VXMLサーバは、図に示すように、異なるコンポーネントを持つ3つのセキュアなインターフェイスを持つことができます。
VXMLサーバのTLSインターフェイス
インターフェイス1.これは、VXMLゲートウェイ、Cisco Virtualized Voice Browser(CVVB)、およびVXMLサーバ間のハイパーテキスト転送プロトコル(HTTP)インターフェイスです。ここでは、VXMLサーバがサーバとして動作します。
インターフェイス2。これは、VXMLサーバがHTTP/Simple Object Access Protocol(SOAP)インターフェイスを使用する外部Webサーバと通信する一般的なHTTPインターフェイスです。このインターフェイスは、カスタム要素、WebService要素、またはSOAP要素の一部として定義されます。
インタフェース3。これは、組み込みのDB要素インタフェースまたはカスタム要素インタフェースを使用する外部データベース(DB) (Microsoft Structured Query Language (MSSQL) ServerおよびORACLE DB)です。
このシナリオでは、インターフェイス1.ではVXMLサーバがサーバとして機能し、インターフェイス2.および3.ではVXMLサーバがセキュアクライアントとして機能します。
問題:CVP VXMLサーバのさまざまなインターフェイスでTLS 1.2を有効にする方法
CVP VXMLサーバは、さまざまなインターフェイスを使用してさまざまなデバイスやサーバと通信します。必要なセキュリティレベルを実現するには、すべてのTLS 1.2を有効にする必要があります。
解決方法
インターフェイス1でTLS 1.2を有効にする手順
このインターフェイスでは、前述のように、CVP VXMLサーバがサーバとして機能します。この安全な実装は、Tomcatによって行われます。この構成は、Tomcatのserver.xmlによって制御されます。
一般的なコネクタ設定:
<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"/>
この例にはTLS v1.2が含まれているため、設定が必要なパラメータ(sslEnabledProtocolsとcertificate)には、TLS 1.2をサポートするために必要な設定が含まれています。
Java keytool.exeを使用して、TLS 1.2証明書を生成します。このツールは、Cisco\CVP\jre\bin\から入手できます。
Keytoolドキュメント
インターフェイス2でTLS 1.2を有効にする手順
これは、最も一般的に使用されるインターフェイスです。ここでは、VXMLサーバがクライアントとして機能し、外部WebServerとのセキュアな通信を開く必要があります。
これを処理する方法は2つあります。
- カスタムコードを使用します。
- CVPフレームワークを使用します。
ここでは、CVPフレームワークの使用について説明します。
11.6以降では、デフォルトで有効になっています。以前のバージョンでは、次の表を確認してください。
この不具合の影響を受けるESリリース(CSCvc39129 VXML Server as TLS client)がインストールされている場合は、次の手動設定を適用する必要があります。
ステップ1:レジストリエディタを開き、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Javaに移動します。
ステップ2:オプションキーを開き、最後に-Dhtps.client.protocol=TLSv1.2を追加します。
ステップ3:Cisco CVP VXMLServerサービスを再起動します。
異なるJAVAバージョンでのデフォルトのプロトコルサポートのクイックリストを次に示します。
-Djdk.tls.client.protocols=TLSv1.2.
この設定では、VXMLサーバがJava SE Development Kit(JDK)7およびJDK6でTLS 1.2を使用することを義務付けています。
注:SSLはデフォルトで無効になっています。
インターフェイス3でTLS 1.2を有効にする手順
このインターフェイスでは、前述のように、CVP VXMLサーバはクライアントとして機能し、サードパーティのデータベースサーバはサーバとして機能します。
サードパーティデータベースサーバがTLS 1.2をサポートし、TLS 1.2が有効になっていることを確認します。
たとえば、SQL Server 2014 with Service Pack (SP) 2を使用している場合、SQL Server 2014はTLS 1.2をサポートし、TLS 1.2が有効であることを確認します TLS 1.2プロトコルは、SQLサーバで次のようにレジストリで有効になります。
SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
CVP側のインターフェイス3に対してTLS 1.2を有効にするには、次の手順を実行します。
ステップ1:レジストリエディタを開き、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Javaに移動します。
ステップ2:オプションキーを開き、最後に-Djdk.tls.client.protocols=TLSv1.2を追加します。
ステップ3:Cisco CVP VXMLServerサービスを再起動します。
注:詳細については、このバグを確認してください:CSCvg20831 JNDIデータベース接続がCVP11.6 SQL 2014SP2で失敗します。
TLS 1.2サポート用JREをアップグレードする手順
CVPは、バグ不具合の最新バージョンへのJava Runtime Environment(JRE)のアップグレードをサポートしています。
次の表に、JAVAのバージョンを示します。
JAVAバージョン
このリンクで説明する手順に従います。
注意:32ビットから64ビットへのアップグレードはサポートされていません
Tomcatをアップグレードする手順
Tomcatマイナーアップグレードがサポートされます。ただし、アップグレードを実行する前に、カスタムjar(AXIS、JDBCなど)間の互換性の問題を確認してください。
詳細については、この手順を参照してください。