المقدمة
يصف هذا المستند كيفية تكوين خادم المكالمات Cisco Customer Voice Portal (CVP) ولغة الترميز القابلة للتوسيع الصوتي (VXML) دعم طبقة نقل الخادم (TLS) لبروتوكول نقل النص التشعبي (HTTP).
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- خادم CVP VXML
- المستعرض الصوتي الظاهري (CVB) من Cisco
- بوابات VXML
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج التالية:
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
في الوقت الحالي، يمكن أن يحتوي خادم VXML على ثلاث واجهات آمنة بمكونات مختلفة، كما هو موضح في الصورة.
واجهة TLS لخادم VXML
الواجهة 1. هذه هي واجهة بروتوكول نقل النص التشعبي (HTTP) بين عبارة VXML، و Cisco Virtualized Voice Browser (CVB) وخادم VXML. هنا يعمل خادم VXML كخادم.
الواجهة 2. هذه هي واجهة HTTP النموذجية حيث يتفاعل خادم VXML مع خادم ويب خارجي يستخدم واجهة HTTP/Simple Object Access Protocol (SOAP). يتم تعريف هذه الواجهة كجزء من العنصر المخصص أو عنصر WebService أو عنصر SOAP.
الواجهة 3. هذا خادم قاعدة بيانات خارجية (DB) (Microsoft Structured Query Language (MSSQL) و ORACLE DB) تستخدم واجهة عنصر DB مضمنة أو واجهة عنصر مخصص.
في هذا السيناريو، في الواجهة 1.، يعمل خادم VXML كخادم، وفي الواجهة 2. و 3.، يعمل خادم VXML كعملاء آمنين.
مشكلة: كيف أن يمكن TLS 1.2 على قارن مختلف من CVP VXML نادل
يتصل خادم CVP VXML بمختلف الأجهزة والخوادم بمساعدة واجهات مختلفة. يجب تمكين TLS 1.2 على كل منها لتحقيق مستوى الأمان المطلوب.
الحل
إجراء تمكين TLS 1.2 في الواجهة 1
في هذه الواجهة، كما هو موضح مسبقا، يعمل خادم CVP VXML كخادم. يتم تنفيذ هذا الأمر الآمن بواسطة Tomcat. يتم التحكم في هذا التكوين بواسطة server.xml في Tomcat.
تهيئة الموصل النموذجية :
<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 والشهادة) على التكوين المطلوب للحصول على دعم TLS 1.2.
أستخدم مفتاح جافا KeyTool.exe لإنشاء شهادات TLS 1.2. يمكن العثور على هذه الأداة في Cisco\CVP\jre\bin\.
وثائق أداة المفاتيح
إجراء تمكين TLS 1.2 في الواجهة 2
هذه هي الواجهة الأكثر شيوعا المستخدمة. هنا يعمل خادم VXML كعميل ويحتاج إلى فتح اتصال آمن إلى خادم ويب خارجي.
هناك طريقتان مختلفتان للتعامل مع هذا.
- أستخدم التعليمات البرمجية المخصصة.
- إستخدام إطار عمل CVP.
يصف هذا إستخدام إطار عمل CVP.
من 11.6 يتم تمكينها بشكل افتراضي، للإصدارات السابقة تحقق من هذا الجدول:

إذا كان لديك إصدار ES مثبت يتأثر بهذا الخلل: خادم CSCvc39129 VXML كعميل TLS، فأنت بحاجة إلى تطبيق هذا التكوين اليدوي:
الخطوة 1. افتح محرر التسجيل وانتقل إلى HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Java.
الخطوة 2. افتح Options Key and add -dhttps.client.protocol=TLSv1.2 في النهاية.
الخطوة 3. قم بإعادة تشغيل خدمة Cisco CVP VXMLServer.
فيما يلي القائمة السريعة لدعم البروتوكول الافتراضي في إصدارات Java المختلفة.

-Djdk.tls.client.protocols=TLSv1.2.
تفوض هذه التهيئة خادم VXML إستخدام TLS 1.2 في مجموعة تطوير Java SE (JDK) 7 و JDK6.
ملاحظة: يتم تعطيل SSL بشكل افتراضي.
إجراء تمكين TLS 1.2 في الواجهة 3
في هذه الواجهة، كما هو موضح سابقا، يعمل خادم CVP VXML كعميل وخادم قاعدة بيانات تابع لجهة خارجية يعمل كخادم.
تأكد من تمكين خادم قاعدة بيانات الطرف الثالث الذي يدعم TLS 1.2 و TLS 1.2 عليه.
على سبيل المثال، إذا كنت تستخدم SQL Server 2014 مع حزمة الخدمة (SP) 2، فإنه يدعم TLS 1.2 ويؤكد ذلك تم تمكين بروتوكول TLS 1.2 ضمن السجل كما هو مذكور هنا على خادم SQL:
SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
لتمكين TLS 1.2 للواجهة 3 على جانب CVP:
الخطوة 1. افتح محرر التسجيل وانتقل إلى HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Java.
الخطوة 2. افتح Options Key and add -djdk.tls.client.protocols=TLSv1.2 في النهاية.
الخطوة 3. قم بإعادة تشغيل خدمة Cisco CVP VXMLServer.
ملاحظة: تحقق من هذا الخطأ للحصول على مزيد من التفاصيل: يفشل اتصال قاعدة بيانات CSCvg20831 JNDI مع CVP11.6 SQL 2014SP2.
إجراء ترقية JRE لدعم TLS 1.2
يدعم CVP ترقية بيئة وقت تشغيل Java (JRE) إلى أحدث إصدار لعيوب الخطأ.
يعرض هذا الجدول إصدارات Java.
إصدارات Java
اتبع الإجراء الموضح في هذا الرابط.
تحذير: الترقية من 32 بت إلى 64 بت والعكس غير مدعوم
إجراء ترقية TOMCAT
ترقية Tomcat الثانوية مدعومة. ومع ذلك، تأكد من التحقق من مشاكل التوافق بين رسائل JARS المخصصة (AXIS، JDBC وما إلى ذلك) قبل إجراء الترقية.
لمزيد من التفاصيل، تحقق من الإجراء هنا.