المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

التكوين

التحقق من الصحة

استكشاف الأخطاء وإصلاحها

تدفق تسجيل الدخول في SSO

إستجابة SAML لفك الترميز

أوامر CLI و LOG

المشكلات الشائعة

العيوب المعروفة

المقدمة

يصف هذا المستند كيفية تكوين تسجيل الدخول الأحادي (SSO) في Cisco Unified Communications Manager (CUCM).

المتطلبات الأساسية

المتطلبات

cisco يوصي أن يتلقى أنت معرفة من الموضوع:

- CUCM

- خدمات إتحاد خدمة Active Directory (ADFS)

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- CUCM 11.5.1.13900-52 (11.5.1SU2)

- نظام الملفات ADFS 2. 0.

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.

التكوين

راجع تكوين تسجيل الدخول الأحادي في CUCM.

- https://www.cisco.com/c/en/us/support/docs/unified-communications/unified-communications-manager-version-105/118770-configure-cucm-00.html

- https://www.cisco.com/c/en/us/support/docs/unified-communications/unified-communications-manager-callmanager/211302-Configure-Single-Sign-On-using-CUCM-and.html

دليل نشر SAML SSO لتطبيقات الاتصالات الموحدة من Cisco، الإصدار 11.5(1).

- https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/SAML_SSO_deployment_guide/11_5_1/CUCM_BK_S12EF288_00_saml-sso-deployment-guide--1151.html

SAML RFC 6596.

- https://tools.ietf.org/html/rfc6595

التحقق من الصحة

لا يوجد حاليًا إجراء للتحقق من صحة هذا التكوين.

استكشاف الأخطاء وإصلاحها

تدفق تسجيل الدخول في SSO

إستجابة SAML لفك الترميز

إستخدام ملحقات في Notepad++

تثبيت هذه الملحقات:

Notepad++ Plugin -> MIME Tools--SAML DECODE

Notepad++ Plugin -> XML Tools -> Pretty Print(XML only – with line breaks)

في سجلات SSO ابحث عن السلسلة "authentication.SAMLAuthenticator - SAML response هو ::" الذي يحتوي على الاستجابة التي تم ترميزها.

أستخدم هذا المكون الإضافي أو فك تشفير SAML عبر الإنترنت للحصول على إستجابة XML. يمكن ضبط الاستجابة بتنسيق قابل للقراءة باستخدام المكون الإضافي "طباعة جميلة" المثبت.

في الإصدار الأحدث من إستجابة CUCM SAML، يكون تنسيق XML الذي يمكن العثور عليه من خلال البحث في "SPACSUtils.getResponse: تم الحصول على إستجابة=<samlp:

إستجابة xmlns:samlp="ثم قم بالطباعة باستخدام المكون الإضافي "طباعة جميلة".

أستخدم عازف الكمان:

يمكن إستخدام هذه الأداة المساعدة للحصول على حركة المرور في الوقت الفعلي وفك ترميزها. وفيما يلي الدليل على ذلك؛ https://www.techrepublic.com/blog/software-engineer/using-fiddler-to-debug-http/.

طلب SAML:

ID="s24c2d07a125028bfffa7757ea85ab39462ae7751f" Version="2.0" IssueInstant="2017-07-15T11:48:26Z" Destination="https://win-91uhcn8tt3l.emeacucm.com/adfs/ls/" ForceAuthn="false" IsPassive="false" AssertionConsumerServiceIndex="0">

<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">cucmsso.emeacucm.com</saml:Issuer>

<samlp:NameIDPolicy xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" SPNameQualifier="cucmsso.emeacucm.com" AllowCreate="true"/>

</samlp:AuthnRequest>

إستجابة SAML (غير مشفرة):

<samlp:Response ID="_53c5877a-0fff-4420-a929-1e94ce33120a" Version="2.0" IssueInstant="2017-07-01T16:50:59.105Z" Destination="https://cucmsso.emeacucm.com:8443/ssosp/saml/SSO/alias/cucmsso.emeacucm.com" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="s24c2d07a125028bfffa7757ea85ab39462ae7751f" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">

<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://win-91uhcn8tt3l.emeacucm.com/adfs/services/trust</Issuer>

<samlp:Status>

<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />

</samlp:Status>

<Assertion ID="_0523022c-1e9e-473d-9914-6a93133ccfc7" IssueInstant="2017-07-01T16:50:59.104Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion">

<Issuer>http://win-91uhcn8tt3l.emeacucm.com/adfs/services/trust</Issuer>

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

<ds:SignedInfo>

<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />

<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />

<ds:Reference URI="#_0523022c-1e9e-473d-9914-6a93133ccfc7">

<ds:Transforms>

<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />

<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />

</ds:Transforms>

<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />

<ds:DigestValue>9OvwrpJVeOQsDBNghwvkLIdnf3bc7aW82qmo7Zdm/Z4=</ds:DigestValue>

</ds:Reference>

</ds:SignedInfo>

<ds:SignatureValue>VbWcKUwvwiNDhUg5AkdqSzQOmP0qs5OT2VT+u1LivWx7h9U8/plyhK3kJMUuxoG/HXPQJgVQaMOwNq/Paz7Vg2uGNFigA2AFQsKgGo9hAA4etfucIQlMmkeVg+ocvGY+8IzaNVfaUXSU5laN6zriTArxXwxCK0+thgRgQ8/46vm91Skq2Fa5Wt5uRPJ3F4eZPOEPdtKxOmUuHi3Q2pXTw4ywZ/y89xPfSixNQEmr10hpPAdyfPsIFGdNJJwWJV4WjNmfcAqClzaG8pB74e5EawLmwrfV3/i8QfR1DyU5yCCpxj02rgE6Wi/Ew/X/l6qSCzOZEpl7D8LwAn74KijO+Q==</ds:SignatureValue>

<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">

<ds:X509Data>

<ds:X509Certificate>MIIC5DCCAcygAwIBAgIQZLLskb6vppxCiYP8xOahQDANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNBREZTIFNpZ25pbmcgLSBXSU4ySzEyLnJrb3R1bGFrLmxhYjAeFw0xNTA2MjIxOTE2NDRaFw0xNjA2MjExOTE2NDRaMC4xLDAqBgNVBAMTI0FERlMgU2lnbmluZyAtIFdJTjJLMTIucmtvdHVsYWsubGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApEe09jnZXEcEC7s1VJ7fMXAHPXj7jgOOcs9/Lzxrx4c68tePGItrEYnzW9vLe0Dj8OJET/Rd6LsKvuMQHfcGYqA+XugZyHBrpc18wlhSmMfvfa0jN0Qc0lf+a3j72xfI9+hLtsqSPSnMp9qby3qSiQutP3/ZyXRN/TnzYDEmzur2MA+GP7vdeVOFXlpENrRfaINzc8INqGRJ+1jZrm+vLFvX7YwIL6aOpmjaxcPoxDcjgEGMYO/TaoP3eXutX4FuJV5R9oAvbqD2F+73XrvP4e/wHi5aNrHrgiCnuBJTIxHwRGSoichdpZlvSB15v8DFaQSVAiEMPj1vP/4rMkacNQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQA5uJZI0K1Xa40H3s5MAo1SG00bnn6+sG14eGIBe7BugZMw/FTgKd3VRsmlVuUWCabO9EgyfgdI1nYZCciyFhts4W9Y4BgTH0j4+VnEWiQg7dMqp2M5lykZWPS6vV2uD010sX5V0avyYi3Qr88vISCtniIZpl24c3TqTn/5j+H7LLRVI/ZU38Oa17wuSNPyed6/N4BfWhhCRZAdJgijapRG+JIBeoA1vNqN7bgFQMe3wJzSlLkTIoERWYgJGBciMPS3H9nkQlP2tGvmn0uwacWPglWR/LJG3VYoisFm/oliNUF1DONK7QYiDzIE+Ym+vzYgIDS7MT+ZQ3XwHg0Jxtr8</ds:X509Certificate>

</ds:X509Data>

</KeyInfo>

</ds:Signature>

<Subject>

<NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" NameQualifier="http:///win-91uhcn8tt3l.emeacucm.com/com/adfs/services/trust" SPNameQualifier="cucmsso.emeacucm.com">CHANDMIS\chandmis</NameID>

<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">

<SubjectConfirmationData InResponseTo="s24c2d07a125028bfffa7757ea85ab39462ae7751f" NotOnOrAfter="2017-07-01T16:55:59.105Z" Recipient="https://cucmsso.emeacucm.com:8443/ssosp/saml/SSO/alias/cucmsso.emeacucm.com" />

</SubjectConfirmation>

</Subject>

<Conditions NotBefore="2017-07-01T16:50:59.102Z" NotOnOrAfter="2017-07-01T17:50:59.102Z">

<AudienceRestriction>

<Audience>ccucmsso.emeacucm.com</Audience>

</AudienceRestriction>

</Conditions>

<AttributeStatement>

<Attribute Name="uid">

<AttributeValue>chandmis</AttributeValue>

</Attribute>

</AttributeStatement>

<AuthnStatement AuthnInstant="2017-07-01T16:50:59.052Z" SessionIndex="_0523022c-1e9e-473d-9914-6a93133ccfc7">

<AuthnContext>

<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthnContextClassRef>

</AuthnContext>

</AuthnStatement>

</Assertion>

</samlp:إستجابة>

Version="2.0"  :- The version of SAML being used.

InResponseTo="s24c2d07a125028bfffa7757ea85ab39462ae7751f" :- The id for SAML Request to which this reponse corresponds to

samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success :- Status Code of SAML reponse. In this case it is Success.

<Issuer>http://win-91uhcn8tt3l.emeacucm.com/adfs/services/trust</Issuer> :- IdP FQDN

SPNameQualifier="cucmsso.emeacucm.com" :- Service Provider(CUCM) FQDN

Conditions NotBefore="2017-07-01T16:50:59.102Z" NotOnOrAfter="2017-07-01T17:50:59.102Z :- Time range for which the session will be valid.

<AttributeValue>chandmis</AttributeValue> :- UserID entered during the login

في حالة تشفير إستجابة SAML، فلن تتمكن من رؤية المعلومات الكاملة وعليك تعطيل التشفير على اكتشاف الاقتحام والوقاية (IDP) للاطلاع على الاستجابة الكاملة. تفاصيل الشهادة المستخدمة للتشفير تحت ds:X509IssuerSerial" لاستجابة SAML.

أوامر CLI و LOG

أوامر CLI:

uTils sso disable

يقوم هذا الأمر بتعطيل المصادقة المستندة إلى كل من (OpenAM SSO أو SAML SSO). يسرد هذا الأمر تطبيقات الويب التي تم تمكين SSO لها. أدخل نعم عند طلبها لتعطيل SSO للتطبيق المحدد. يجب تشغيل هذا الأمر على كلا العقد إذا كان في نظام مجموعة. يمكن أيضا تعطيل SSO من واجهة المستخدم الرسومية (GUI) وتحديد الزر disable، تحت SSO خاص في إدارة اتصال الوحدة من Cisco.

صياغة الأمر

uTils sso disable

حالة SSO الخاصة بالمستخدم

يعرض هذا الأمر معلمات الحالة والتكوين ل SAML SSO. يساعد ذلك على التحقق من حالة SSO، ممكنة أو معطلة، على كل عقدة على حدة.

صياغة الأمر

حالة SSO الخاصة بالمستخدم

uTils sso enable

يقوم هذا الأمر بإرجاع رسالة نصية إعلامية يطلب فيها من المسؤول تمكين ميزة SSO من واجهة المستخدم الرسومية (GUI) فقط. لا يمكن تمكين كل من SSO و SAML المستندة إلى OpenAM باستخدام هذا الأمر.

صياغة الأمر

uTils sso enable

تمكين SSO recovery-url

يمكن هذا الأمر وضع URL الخاص باسترداد SSO. كما يتحقق من نجاح عنوان URL هذا. يجب تشغيل هذا الأمر على كلا العقد إذا كان في نظام مجموعة.

صياغة الأمر

تمكين SSO recovery-url

uTils sso recovery-url disable

يقوم هذا الأمر بتعطيل وضع URL SSO الخاص باسترداد هذه العقدة. يجب تشغيل هذا الأمر على كلا العقد إذا كان في نظام مجموعة.

صياغة الأمر

uTils sso recovery-url disable

تعيين مستوى تتبع <trace-level>

يمكن هذا الأمر المسارات ومستويات التتبع المحددة التي يمكنها تحديد موقع أي خطأ أو تصحيح أخطاء أو معلومات أو تحذير أو مهلك. يجب تشغيل هذا الأمر على كلا العقد إذا كان في نظام مجموعة.

صياغة الأمر

تعيين مستوى تتبع <trace-level>

إظهار مستوى samltrace

يعرض هذا الأمر مجموعة مستوى السجل ل SAML SSO. يجب تشغيل هذا الأمر على كلا العقد إذا كان في نظام مجموعة.

صياغة الأمر

إظهار مستوى samltrace

تتبع أن تبحث في وقت أستكشاف الأخطاء وإصلاحها:

لا يتم تعيين سجلات SSO إلى مستوى مفصل بشكل افتراضي.

قم أولا بتشغيل الأمر set samltrace level debug لتعيين مستويات السجل على تصحيح الأخطاء، وإعادة إنتاج الإصدار وتجميع هذه المجموعة من السجلات.

من RTMT:

Cisco Tomcat

Cisco Tomcat Security

Cisco SSO

المشكلات الشائعة

قيمة غير صحيحة للمعرف الفريد (UID):

يجب أن يكون هذا ال UID بالتحديد، وإذا لم يكن الأمر كذلك، فإن CUCM غير قادر على فهم ذلك.

قاعدة مطالبة غير صحيحة أو نهج NameID خاطئ:

من المحتمل ألا يتم مطالبة اسم المستخدم وكلمة المرور في هذا السيناريو.

لن يكون هناك أي تأكيد صالح في إستجابة SAML وسيكون رمز الحالة كما يلي:

<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"/>

تحقق من تحديد قاعدة المطالبة بشكل صحيح على جانب المشردين داخليا.

الفرق في الحالة/الاسم المعرف في قاعدة المطالبة:

يجب تطابق CUCM FQDN في قاعدة المطالبة تماما مع القاعدة المحددة على الخادم الفعلي.

يمكنك مقارنة الإدخال في ملف بيانات التعريف xml الخاص ب IDP مع المدخل الخاص ب CUCM عن طريق تشغيل الأمر show network cluster/show network etho details على CLI الخاص ب CUCM.

الوقت غير صحيح:

يحتوي NTP بين CUCM و IDP على فرق أكبر من 3 ثوان المسموح بها في دليل النشر.

موقع التأكيد غير موثوق به:

وعند تبادل البيانات الوصفية بين المشردين داخليا ومزودي الخدمات.

ويتم تبادل الشهادات، وإذا تم إلغاء أي شهادة، ينبغي تبادل البيانات الوصفية مرة أخرى.

تكوين DNS غير صحيح/لا يوجد تكوين

نظام أسماء النطاقات (DNS) هو المتطلب الأساسي لكي يعمل نظام تسجيل الدخول الموحد (SSO). قم بتشغيل show network etho detail، وutils diagnostic test على CLI للتحقق من تكوين DNS/Domain بشكل صحيح.

العيوب المعروفة

CSCuj66703

يتم تحديث شهادة توقيع ADFS وتضيف إثنتان من شهادات التوقيع إلى استجابات IDP مرة أخرى إلى CUCM (SP) مما يجعلك تواجه عيبا. يجب حذف شهادة التوقيع غير المطلوبة

CSCvf63462

عندما تنتقل إلى صفحة SAML SSO من إدارة CCM، تتم مطالبتك ب "فشل الخوادم التالية أثناء محاولة الحصول على حالة SSO" يتبعها اسم العقدة.

CSCvf96778

يفشل SSO المستند إلى CTI عند تحديد خادم CUCM كعنوان IP في CCMAdmin//System/Sever.