يصف هذا المستند مشكلة خدمات وضعية محرك خدمة الهوية العامة (ISE) مثل "تظهر وحدة AnyConnect ISE Posture module المتوافقة.."
يصف هذا المستند مشكلة خدمات وضعية محرك خدمة الهوية العامة (ISE): "تظهر وحدة AnyConnect ISE Posture module المتوافقة بينما حالة جلسة العمل على ISE معلقة."
وفي حين ان الاعراض هي نفسها دائما، هنالك أسباب أساسية متعددة لهذه المشكلة. غالبا ما يصبح حل مشكلات كهذه يستغرق وقتا طويلا للغاية، مما يتسبب في حدوث تأثير خطير.
يشرح هذا المستند:
للحصول على شرح أفضل للمفاهيم الموضحة لاحقا، ارجع إلى مقارنة نمط ISE Posture (مقارنة نمط ISE) للpre و Post 2.2
تظهر هذه المشكلة عادة في غياب الوصول إلى الشبكة أو إعادة التوجيه المستمر إلى مدخل توفير عميل ISE في المستعرض، بينما تظهر وحدة AnyConect ISE Posture النمطية في الوقت نفسه حالة الموقف كمتوافق.
تجربة المستخدم النهائي النموذجية:

عند إجراء عملية فرز لهذه المشكلة في البداية، يبدأ مسؤول ISE تحقيقا في سجلات RADIUS Live لضمان أن تؤدي المصادقة إلى ISE. يشير العرض الأول الذي تم اكتشافه في هذه المرحلة إلى عدم تطابق في حالة الوضع بين نقطة النهاية و ISE في السجلات المباشرة. أو، تظهر تقارير مصادقة Radius آخر مصادقة ناجحة لنقطة النهاية حالة الوضع المعلق.
تجربة إدارة ISE النموذجية:

وتظهر هذه المشكلة عادة في سيناريوهين مشككين ولكل منهما أسباب أساسية متعددة. السيناريوهات:
تحتوي وحدة ISE Posture النمطية في AnyConnect على عدد محدود من الأحداث التي تؤدي إلى تشغيل عملية الاكتشاف. من المحتمل أنه لم يتم اكتشاف أي من هذه الأحداث أثناء المصادقة أو إعادة المصادقة.
لفهم المشكلة بشكل أفضل، تحقق من منطق إدارة جلسة ISE المطلوبة وعملية اكتشاف AnyConnect.
في نشر ISE، هناك شخصان مسؤولان عن عملية إدارة جلسة العمل: PSN وعقدة المراقبة (MNT). لاستكشاف المشكلات وحلها بشكل صحيح وتحديد المشكلة، من المهم فهم نظرية إدارة الجلسات على كلا الشخصين.

كما هو موضح في هذه الصورة، تقوم عقدة MNT بإنشاء مواسم استنادا إلى رسائل syslog التي تم تمريرها للمصادقة والتي تأتي من شبكات PSN. يمكن تحديث حالة جلسة العمل لاحقا بواسطة syslog للمحاسبة.
تتم إزالة جلسة العمل على MNT في ثلاثة سيناريوهات:
1. أزالت الجلسات بدون بدء المحاسبة حوالي 60 دقيقة بعد إنشائها. هناك مهمة خطأ يتم تنفيذها كل 5 دقائق للتحقق من حالة جلسة العمل وتنظيفها.
2. تمت إزالة جلسة العمل المنهاة بعد 15 دقيقة تقريبا من معالجة توقف المحاسبة بواسطة وظيفة المثبط نفسها.
3. يزيل المثيل نفسه على كل تنفيذ جلسات العمل في حالة "بدء التشغيل" لأكثر من 5 أيام (120 ساعة.) تعني حالة بدء التشغيل أن عقدة MNT التي قامت بمعالجة كل من المصادقة والمحاسبة لبدء جلسة عمل syslog.
ملاحظة: هذه هي وحدات توقيت تنظيف MnT العادية، غير مضمونة لأوقات حذف ساعة الحائط. يمكن تأجيل الإزالة إذا:
أمثلة على رسائل syslog من PSN:
يتم تسجيل الرسائل في Prrt-server.log عند تمكين مكون AAA لوقت التشغيل في DEBUG. يمكن إستخدام الأجزاء ذات اللون الغامق لإنشاء تعبيرات منتظمة للبحث.
المصادقة التي تم تمريرها:
AcsLogs,2020-04-07 10:07:29,202,DEBUG,0x7fa0ada91700,cntx=0000629480,sesn=skuchere-ise26-1/375283310/10872,CPMSessionID=0A3E946C00000073559C0123,user=bob@example.com,CallingStationID=00-50-56-B6-0B-C6,FramedIPAddress=192.168.255.205,Log_Message=[2020-04-07 22:53:24.288 +02:00 0000423024 5200 NOTICE Passed-Authentication: Authentication succeeded, ConfigVersionId=87, Device IP Address=10.62.148.108, DestinationIPAddress=192.168.43.26, DestinationPort=1812, UserName=bob@example.com, Protocol=Radius, RequestLatency=45, NetworkDeviceName=3850-1-BB, User-Name=bob@example.com, NAS-IP-Address=10.62.148.108, NAS-Port=50105, Service-Type=Framed, Framed-IP-Address=192.168.255.205, Framed-MTU=1472, State=37CPMSessionID=0A3E946C00000073559C0123\;42SessionID=skuchere-ise26-1/375283310/10872\;, Calling-Station-ID=00-50-56-B6-0B-C6, NAS-Port-Type=Ethernet, NAS-Port-Id=GigabitEthernet1/0/5, EAP-Key-Name=, cisco-av-pair=service-type=Framed, cisco-av-pair=audit-session-id=0A3E946C00000073559C0123, cisco-av-pair=method=dot1x, cisco-av-pair=client-iif-id=526638260, NetworkDeviceProfileName=Cisco, NetworkDeviceProfileId=b0699505-3150-4215-a80e-6753d45bf56c, IsThirdPartyDeviceFlow=false, RadiusFlowType=Wired802_1x, AcsSessionID=skuchere-ise26-1/375283310/10872, AuthenticationIdentityStore=EXAMPLE, AuthenticationMethod=MSCHAPV2, SelectedAccessService=Default Network Access, SelectedAuthorizationProfiles=PermitAccess, IsMachineAuthentication=false, IdentityGroup=Endpoint Identity Groups:Profiled:Workstation, Step=11001, Step=11017, Step=15049, Step=15008, Step=15048, Step=15048, Step=15048, Step=11507, Step=12500, Step=12625, Step=11006, Step=11001, Step=11018, Step=12301, Step=12300, Step=12625, Step=11006, Step=11001, Step=11018, Step=12302, Step=12318, Step=12800, Step=12805, Step=12806, Step=12807, Step=12808, Step=12810, Step=12811, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12318, Step=12812, Step=12813, Step=12804, Step=12801, Step=12802, Step=12816, Step=12310, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12313, Step=11521, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=11522, Step=11806, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=11808, Step=15041, Step=22072, Step=15013, Step=24210, Step=24216, Step=15013, Step=24430, Step=24325, Step=24313, Step=24319, Step=24323, Step=24343, Step=24402, Step=22037, Step=11824, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=11810, Step=11814, Step=11519, Step=12314, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=24715, Step=15036, Step=24209, Step=24211, Step=24432, Step=24325, Step=24313, Step=24319, Step=24323, Step=24355, Step=24416, Step=15048, Step=15016, Step=22081, Step=22080, Step=12306, Step=11503, Step=11002, SelectedAuthenticationIdentityStores=Internal Users, SelectedAuthenticationIdentityStores=All_AD_Join_Points, SelectedAuthenticationIdentityStores=Guest Users, AuthenticationStatus=AuthenticationPassed, NetworkDeviceGroups=IPSEC#Is IPSEC Device#No, NetworkDeviceGroups=Location#All Locations, NetworkDeviceGroups=Device Type#All Device Types, IdentityPolicyMatchedRule=Dot1X, AuthorizationPolicyMatchedRule=Compliant-Wired, EapTunnel=PEAP, EapAuthentication=EAP-MSCHAPv2, CPMSessionID=0A3E946C00000073559C0123, EndPointMACAddress=00-50-56-B6-0B-C6, PostureAssessmentStatus=NotApplicable, EndPointMatchedProfile=Microsoft-Workstation, ISEPolicySetName=Default, IdentitySelectionMatchedRule=Dot1X, AD-User-Resolved-Identities=bob@example.com, AD-User-Candidate-Identities=bob@example.com, AD-User-Join-Point=EXAMPLE.COM, StepData=4= Radius.NAS-IP-Address, StepData=5= Cisco-VPN3000.CVPN3000/ASA/PIX7x-Tunnel-Group-Name, StepData=6= DEVICE.Device Type, StepData=77=All_User_ID_Stores, StepData=78=Internal Users, StepData=81=All_AD_Join_Points, StepData=82=All_AD_Join_Points, StepData=83=bob@example.com, StepData=84=example.com, StepData=85=example.com, StepData=87=bob@example.com, StepData=88=All_AD_Join_Points, StepData=109=EXAMPLE, StepData=110=bob@example.com, StepData=111=example.com, StepData=112=example.com, StepData=114=example.com, StepData=115=EXAMPLE, StepData=116= EXAMPLE.ExternalGroups, AD-User-Resolved-DNs=CN=bob\,CN=Users\,DC=example\,DC=com, AD-User-DNS-Domain=example.com, AD-Groups-Names=example.com/Users/Domain Users, AD-User-NetBios-Name=EXAMPLE, IsMachineIdentity=false, UserAccountControl=66048, AD-User-SamAccount-Name=bob, AD-User-Qualified-Name=bob@example.com, allowEasyWiredSession=false, TLSCipher=ECDHE-RSA-AES256-GCM-SHA384, TLSVersion=TLSv1.2, DTLSSupport=Unknown, HostIdentityGroup=Endpoint Identity Groups:Profiled:Workstation, Network Device Profile=Cisco, Location=Location#All Locations, Device Type=Device Type#All Device Types, IPSEC=IPSEC#Is IPSEC Device#No, ExternalGroups=S-1-5-21-875452798-754861120-3039794717-513, IdentityAccessRestricted=false, PostureStatus=Compliant, Response={Class=CACS:0A3E946C00000073559C0123:skuchere-ise26-1/375283310/10872; EAP-Key-Name=19:5e:8c:e9:13:0c:89:23:78:49:ad:2b:d4:31:63:51:27:81:db:e2:61:b1:51:36:6d:11:10:41:ce:3b:aa:cc:c6:66:4e:7c:92:f8:83:c5:06:84:ac:95:4c:5b:f1:b2:37:a2:f5:04:4e:9e:4d:08:79:55:b7:4d:9a:41:f5:b2:0a; MS-MPPE-Send-Key=****; MS-MPPE-Recv-Key=****; LicenseTypes=65541; },],MessageFormatter.cpp:107
بداية المحاسبة:
AcsLogs,2020-04-07 10:07:30,202,DEBUG,0x7fa0ad68d700,cntx=0000561096,sesn=skuchere-ise26-1/375283310/10211,CPMSessionID=0A3E946C00000073559C0123,user=bob@example.com,CallingStationID=00-50-56-B6-0B-C6,FramedIPAddress=192.168.255.205,Log_Message=[2020-04-07 10:07:30.857 +02:00 0000382874 3000 NOTICE Radius-Accounting: RADIUS Accounting start request, ConfigVersionId=87, Device IP Address=10.62.148.108, UserName=bob@example.com, RequestLatency=7, NetworkDeviceName=3850-1-BB, User-Name=bob@example.com, NAS-IP-Address=10.62.148.108, NAS-Port=50105, Framed-IP-Address=192.168.255.205, Class=CACS:0A3E946C00000073559C0123:skuchere-ise26-1/375283310/10210, Called-Station-ID=00-E1-6D-D1-4F-05, Calling-Station-ID=00-50-56-B6-0B-C6, Acct-Status-Type=Start, Acct-Delay-Time=0, Acct-Session-Id=00000041, Acct-Authentic=Remote, Event-Timestamp=1586279242, NAS-Port-Type=Ethernet, NAS-Port-Id=GigabitEthernet1/0/5, cisco-av-pair=audit-session-id=0A3E946C00000073559C0123, cisco-av-pair=method=dot1x, AcsSessionID=skuchere-ise26-1/375283310/10211, SelectedAccessService=Default Network Access, Step=11004, Step=11017, Step=15049, Step=15008, Step=15048, Step=22083, Step=11005, NetworkDeviceGroups=IPSEC#Is IPSEC Device#No, NetworkDeviceGroups=Location#All Locations, NetworkDeviceGroups=Device Type#All Device Types, CPMSessionID=0A3E946C00000073559C0123, Network Device Profile=Cisco, Location=Location#All Locations, Device Type=Device Type#All Device Types, IPSEC=IPSEC#Is IPSEC Device#No, ],MessageFormatter.cpp:107
التحديث المؤقت للمحاسبة:
AcsLogs,2020-04-07 22:57:48,642,DEBUG,0x7fa0adb92700,cntx=0000629843,sesn=skuchere-ise26-1/375283310/10877,CPMSessionID=0A3E946C00000073559C0123,user=bob@example.com,CallingStationID=00-50-56-B6-0B-C6,FramedIPAddress=192.168.255.205,Log_Message=[2020-04-07 22:57:48.650 +02:00 0000423268 3002 NOTICE Radius-Accounting: RADIUS Accounting watchdog update, ConfigVersionId=87, Device IP Address=10.62.148.108, UserName=bob@example.com, RequestLatency=8, NetworkDeviceName=3850-1-BB, User-Name=bob@example.com, NAS-IP-Address=10.62.148.108, NAS-Port=50105, Framed-IP-Address=192.168.255.205, Class=CACS:0A3E946C00000073559C0123:skuchere-ise26-1/375283310/10872, Called-Station-ID=00-E1-6D-D1-4F-05, Calling-Station-ID=00-50-56-B6-0B-C6, Acct-Status-Type=Interim-Update, Acct-Delay-Time=0, Acct-Input-Octets=2293926, Acct-Output-Octets=0, Acct-Session-Id=00000041, Acct-Authentic=Remote, Acct-Input-Packets=15785, Acct-Output-Packets=0, Event-Timestamp=1586325462, NAS-Port-Type=Ethernet, NAS-Port-Id=GigabitEthernet1/0/5, cisco-av-pair=audit-session-id=0A3E946C00000073559C0123, cisco-av-pair=method=dot1x, AcsSessionID=skuchere-ise26-1/375283310/10877, SelectedAccessService=Default Network Access, Step=11004, Step=11017, Step=15049, Step=15008, Step=22085, Step=11005, NetworkDeviceGroups=IPSEC#Is IPSEC Device#No, NetworkDeviceGroups=Location#All Locations, NetworkDeviceGroups=Device Type#All Device Types, CPMSessionID=0A3E946C00000073559C0123, Network Device Profile=Cisco, Location=Location#All Locations, Device Type=Device Type#All Device Types, IPSEC=IPSEC#Is IPSEC Device#No, ],MessageFormatter.cpp:107
التوقف المحاسبي:
AcsLogs,2020-04-08 11:43:22,356,DEBUG,0x7fa0ad68d700,cntx=0000696242,sesn=skuchere-ise26-1/375283310/11515,CPMSessionID=0A3E946C00000073559C0123,user=bob@example.com,CallingStationID=00-50-56-B6-0B-C6,FramedIPAddress=192.168.255.205,Log_Message=[2020-04-08 11:43:22.368 +02:00 0000463071 3001 NOTICE Radius-Accounting: RADIUS Accounting stop request, ConfigVersionId=88, Device IP Address=10.62.148.108, UserName=bob@example.com, RequestLatency=12, NetworkDeviceName=3850-1-BB, User-Name=bob@example.com, NAS-IP-Address=10.62.148.108, NAS-Port=50105, Framed-IP-Address=192.168.255.205, Class=CACS:0A3E946C00000073559C0123:skuchere-ise26-1/375283310/11503, Called-Station-ID=00-E1-6D-D1-4F-05, Calling-Station-ID=00-50-56-B6-0B-C6, Acct-Status-Type=Stop, Acct-Delay-Time=0, Acct-Input-Octets=4147916, Acct-Output-Octets=0, Acct-Session-Id=00000041, Acct-Authentic=Remote, Acct-Session-Time=92157, Acct-Input-Packets=29120, Acct-Output-Packets=0, Acct-Terminate-Cause=Lost Carrier, Event-Timestamp=1586371399, NAS-Port-Type=Ethernet, NAS-Port-Id=GigabitEthernet1/0/5, Framed-IPv6-Address=2001:10::100, Framed-IPv6-Address=2001:10::101, cisco-av-pair=audit-session-id=0A3E946C00000073559C0123, cisco-av-pair=method=dot1x, AcsSessionID=skuchere-ise26-1/375283310/11515, SelectedAccessService=Default Network Access, Step=11004, Step=11017, Step=15049, Step=15008, Step=22084, Step=11005, NetworkDeviceGroups=IPSEC#Is IPSEC Device#No, NetworkDeviceGroups=Location#All Locations, NetworkDeviceGroups=Device Type#All Device Types, CPMSessionID=0A3E946C00000073559C0123, Network Device Profile=Cisco, Location=Location#All Locations, Device Type=Device Type#All Device Types, IPSEC=IPSEC#Is IPSEC Device#No, ],MessageFormatter.cpp:107
ذاكرة التخزين المؤقت لجلسة عمل PSN هي قاعدة بيانات داخل الذاكرة تقوم بتخزين جميع الجلسات النشطة ل PSN معين. ذاكرة التخزين المؤقت لجلسة العمل محلية دائما للعقدة. لا توجد آلية في ISE يمكنها إجراء نسخ متماثل لحالات جلسة العمل الكاملة من عقدة إلى أخرى.
بالنسبة لكل معرف جلسة عمل نشط، يقوم PSN بتخزين جميع السمات التي يتم تجميعها أثناء مرحلة المصادقة/الاعتماد (على سبيل المثال، مجموعات المستخدمين الداخلية/الخارجية وسمات جهاز الوصول إلى الشبكة (NAD) وسمات الشهادات وما إلى ذلك). يتم إستخدام هذه السمات من قبل PSN لتحديد أنواع مختلفة من السياسات مثل المصادقة والتخويل وتوفير العميل والوضع.
تتم إزالة ذاكرة التخزين المؤقت لجلسة العمل بالكامل عند إعادة تشغيل العقدة (أو الخدمات الموجودة على العقدة).

يقوم منطق معالجة جلسة العمل الحالية بإنشاء إدخال جديد في ذاكرة التخزين المؤقت لجلسة العمل في سيناريوهين. يمكن تحديث التفاصيل اللاحقة للجلسات الحالية من رسائل المحاسبة، التي تأتي من NADs.
في نشر ISE، تمت معالجة نقطة توقف المحاسبة لجلسة عمل موجودة بواسطة PSN الذي لم يقم بتنفيذ المصادقة الفعلية:
مثال على الجلسة القديمة:

بعد ذلك، يصبح ABC عالقا في حالة معتمة على PSN1 حيث لا توجد رسالة توقف محاسبة تمت معالجتها على PSN هذا لإزالتها. تتم إزالة جلسة العمل إذا لم يواجه النشر عددا كبيرا من محاولات المصادقة.
يظهر الجلسة قديم في ال PSN جلسة تخزين مؤقت في هذا سيناريو:
مثال على جلسة العمل القديمة في بيئة موازن التحميل (LB):

الجلسة الوهمية هي سيناريو عندما يأتي التحديث المؤقت للمحاسبة إلى PSN ولم يقم بإجراء المصادقة لتلك الجلسة. في هذا السيناريو، يتم إنشاء إدخال جديد في ذاكرة التخزين المؤقت لجلسة عمل PSN. إذا لم يستلم PSN رسالة توقف محاسبة لجلسة العمل هذه، لن تتم إزالة الإدخال ما لم يصل PSN إلى حد جلسات العمل النشطة.
مثال الجلسة الوهمية:

تظهر الجلسة الوهمية في التخزين المؤقت لجلسة PSN في هذه السيناريوهات:
لقطة الشاشة التالية هي مثال لجلسة عمل وهمية حيث المشاكل المؤقتة على مسار الشبكة نحو PSN1:

وهذا يوضح سيناريو الجلسة الوهمية كما تم إنشاؤها لاتصال VPN طويل العمر:

إذا أصبح PSN1 يمكن الوصول إليه لاحقا (14)، فسيتم إعادة توجيه جميع رسائل المحاسبة التالية (15،16) ويترك هذا الجلسة ABC في ذاكرة التخزين المؤقت لجلسة PSN2 لوقت غير محدد.
لفهم كيفية كسر الحالة بين النظام الأساسي والجلسات الوهمية، يمكنك مراجعة عملية اكتشاف وحدة AnyConnect ISE Posture النمطية:

المرحلة الأولى من الاكتشاف:
أثناء هذه المرحلة، تقوم وحدة ISE Posture (وضعية محرك خدمات الهوية (ISE)) بتنفيذ أربعة إختبارات متزامنة لتحديد موقع PSN الذي يصادق نقطة النهاية.
أولا، ثلاثة مستكشفات على الشكل مبنية على إعادة التوجيه (الافتراضي GW IP، مضيف اكتشاف IP (إن تم تعريفه) و enroll.cisco.com IP)؛ تشير هذه المسابير دائما إلى العميل إلى PSN الأيمن حيث يتم أخذ URL المعاد توجيهه من NAD نفسه.
يتم إرسال Probe4 إلى كافة الخوادم الأساسية المقدمة في ملف ConnectionData.xml. يتم إنشاء هذا الملف بعد محاولة الوضع الناجحة الأولى. يمكن تحديث محتوى الملف لاحقا إذا قام العميل بالترحيل بين شبكات PSN.
على أنظمة Windows، يكون موقع الملف هو C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\ISE Posture\.
بما أن كل مرحلة 1 يجرى إختبار في وقت واحد، فإن النتائج من تحقيق 4 استعملت فقط إن all the آخر ثلاثة تجربة يفشل أو إن ال ISE Posture وحدة نمطية يستطيع لا يثبت إتصال صحيح مع ال PSN يرجع في ال redirect URL في غضون 5 ثاني.
عندما يستكشف أربعة بلدان على ال PSN، فإنه يحتوي على قائمة من نشط IP و MAC عنوان اكتشفت على نقطة النهاية. يستخدم PSN هذه البيانات للعثور على جلسة لنقطة النهاية هذه في ذاكرة التخزين المؤقت المحلية. إذا كان PSN يحتوي على جلسة وهمية أو نقطة نهاية، فقد يؤدي ذلك إلى حالة الوضع الخطأ التي يتم عرضها لاحقا على جانب العميل.
عندما يستلم عميل إجابات متعددة ل Probe 4 (يمكن أن يحتوي ConnectionData.xml على أكثر من PSN أساسي واحد)، يتم إستخدام الرد الأسرع دائما.
المرحلة الثانية من الاكتشاف:
تكون جميع مستكشفات المرحلة 2 دون إعادة توجيه، ما يعني أن كل مسبار يقوم بتشغيل بحث جلسة العمل على PSN الوجهة. إذا تعذر على PSN تحديد موقع الجلسة في ذاكرة التخزين المؤقت للجلسة المحلية، فيجب أن يقوم بإجراء بحث MNT (مستندا إلى عنوان MAC فقط) للعثور على مالك جلسة العمل وإرجاع اسم المالك إلى الوكيل.
بما أن جميع الاختبارات بحث جلسة المشغل، المرحلة 2 إكتشاف يستطيع كنت يتأثر بشكل كبير بالمشكلة نتيجة لجلسات العمل الصورية أو الوهمية.
إذا انتقل PSN إلى Stage 2، فإن تحقيق الاكتشاف الموجود في ذاكرة التخزين المؤقت للجلسة، يقوم بإنشاء إدخال وهمي أو قديم لنفس نقطة النهاية. ينتج عنه حالة الوضع الخطأ التي تم إرجاعها إلى المستخدم النهائي.
يوضح هذا المثال كيفية ظهور الحالة عندما يحتفظ PSN بجلسة عمل قديمة أو جلسة وهمية:

4. بالنسبة لسيناريو الجلسة الوهمية، تستمر وحدة وضعية محرك خدمات الهوية (ISE) مع طلب الوضع الأولي. يحتوي هذا الطلب على معلومات حول جميع منتجات إدارة الأمان والتصحيحات التي تم الكشف عنها على نقطة النهاية.
5. تستخدم PSN معلومات من سمات الطلب والجلسة لمطابقة سياسة الوضع المناسبة. الجلسة الوهمية بها نقص في السمات في هذه النقطة، وليس هناك سياسة للمطابقة. في هذه الحالة، يرد PSN على نقطة النهاية التي يكون متوافقا معها. هذا هو سلوك ISE الافتراضي إذا لم يتطابق نهج الوضع.
6. ترجع PSN سياسات الوضع المحددة إلى الوكيل.
7. يقوم الوكيل بإرجاع الحالات لكل نهج/متطلبات ك "تم تمريرها" أو "فشلت".
8. يتم إجراء تقييم التقرير على ISE وتغييرات حالة جلسة العمل إلى متوافق.
تم تصميم وحدة ISE Posture (وضعية محرك خدمات الهوية (ISE)) لمراقبة عدد محدود من الأحداث على نقطة النهاية لتشغيل عملية اكتشاف.
الأحداث التي تؤدي إلى اكتشاف:
يتعذر على وحدة ISE Posture اكتشاف مصادقة جديدة أو محاولة إعادة مصادقة في هذه السيناريوهات:
يصف هذا الرسم التخطيطي مثالا لإعادة المصادقة على PSN مختلف الناتج عن انقطاع PSN الأصلي. يبدو السيناريو الذي يحتوي على موازن حمل متشابها. في حالة موازن التحميل، يتم توجيه إعادة المصادقة إلى PSN مختلف كنتيجة لانتهاء صلاحية مؤقت لاصقة.

يتم تعيين حالة الوضع الأولي بواسطة PSN إلى جلسة العمل:

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

2. في النافذة الجديدة، انتقل إلى مسح النظام > الإحصاءات.

ثم انتبهوا إلى عنصرين مهمين:

يظهر العرض التوضيحي تسجيل الخطوات المطلوبة لتعريف المشكلة:
يميز المثال السابق إصدار جلسة عمل وهمية عن مشكلة عملية الاكتشاف التي لم تبدأ. في نفس الوقت، أنت ينبغي عينت الجلسة حقيقي أن أثار المشكلة أن يفهم كيف أن يصبح هو بلاستيكي أو وهمي جلسة إصدار. بينما في بعض السيناريوهات لا يمكن تجنب الجلسات الوهمية أو المتهالكة، يجب عليك التأكد من تنفيذ أفضل الممارسات، لمنع إنشاء الجلسات الوهمية/التافهة في بيئة ما.
تحليل حزمة DART مأخوذة من نقطة النهاية التي تستنسخ المشكلة.

4. في شاشة المعالج الأول، انقر فوق التالي.
5. في شاشة المعالج التالية، انقر فوق مسح كافة السجلات.
6. بعد نسخ المشكلة، يمكن تجميع DART من هنا، انقر فوق التالي.
بعد تجميع حزمة DART، قم بإلغاء أرشفتها وركز على الملف AnyConnect_ISEPosture.txt الموجود في مجلد الوحدة النمطية Cisco AnyConnect ISE Posture. يحتوي هذا الملف على كافة الأحداث المتعلقة بالاكتشاف.

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

2. بعد عدة أسطر من إعادة تشغيل الاكتشاف، يوجد سطر يحتوي على تحديد أهداف مرحلة MNT (هذا مؤشر بدء اكتشاف المرحلة الأولى):

3. يوصى بتمييز جميع الاختبارات المستندة إلى إعادة التوجيه التي لها نفس اللون والتي تم الحصول عليها من ConnectionData.xml (أهداف حالة المصادقة) بلون مختلف. عادة ما تكون شبكات PSN FQDN متشابهة ويمكن أن يكون من الصعب تحديد الفرق.
4. اقرأ ملفات السجل للاطلاع على نتائج كل تحقيق (هذا مثال على كيفية ظهور تحقيق فاشل):

5. في مكان ما في الملف بعد إعادة تشغيل الاكتشاف للمرحلة 1 أو المرحلة 2، ترى ردا ناجحا من شبكة واحدة (PSN) أو أكثر:

5. بعد عدة سطور، هناك سطر مع الكلمة الأساسية MSG_NS_SWISS_NEW_SESSION. يحتوي هذا السطر على معرف جلسة فعلي تم تحديده بواسطة PSN نتيجة للبحث في جلسة العمل. أستخدم معرف جلسة العمل هذه لمزيد من التحقيق في ISE لتحديد كيفية تحول جلسة العمل إلى قديمة/وهمية:

1. في guest.log مع تمكين مكون client-webApp في DEBUG، ترد PSN بجلسة العمل stale/phantom، والتي يمكن رؤيتها.
2. تتلقى PSN طلبا من وكيل ISE Posture. هذا طلب من AnyConnect بسبب قيمة وكيل المستخدم:
cisco.cpm.client.posture.PostureStatusServlet -::- Got http request from 192.168.255.228 user agent is: Mozilla/4.0 (compatible; WINDOWS; 1.2.1.6.1.48; AnyConnect Posture Agent v.4.6.03049)
cisco.cpm.client.posture.PostureStatusServlet -::- mac_list from http request ==> C0:4A:00:1F:6B:39
cisco.cpm.client.posture.PostureStatusServlet -::- iplist from http request ==> 192.168.255.228
cisco.cpm.client.posture.PostureStatusServlet -::- Session id from http request - req.getParameter(sessionId) ==> null
3. يحتوي الطلب على صفيفات لعناوين IP وعناوين MAC. في هذا المثال، يحتوي كل صفيف على قيمة واحدة فقط. يظهر السجل معرف جلسة العمل من الطلب خاليا، مما يشير إلى هذا الطلب من المسبار غير المستند إلى إعادة التوجيه. لاحقا، يمكنك رؤية كيفية إستخدام القيم من الصفيفات لتحديد موقع معرف جلسة العمل:
cpm.client.provisioning.utils.ProvisioningUtil -::- the input ipAddress from the list currently processed in the for loop ==> 192.168.255.228
cpm.client.provisioning.utils.ProvisioningUtil -::- the ipAddress that matched the http request remote address ==> 192.168.255.228
cpm.client.provisioning.utils.ProvisioningUtil -::- the clientMac from the macarray list for the for loop index matching the ipAddress list index ==> C0-4A-00-1F-6B-39
cisco.cpm.client.posture.PostureStatusServlet -::- Found Client IP matching the remote IP 192.168.255.228, corresponding mac address C0-4A-00-1F-6B-39
cpm.client.provisioning.utils.ProvisioningUtil -::- Session = 0a3e949c000000495c216240
4. بعد السطر الذي يحتوي على كلمات أساسية تم إرسال إستجابة http، يمكنك عرض المحتوى من الرد:
cisco.cpm.client.posture.PostureStatusServlet -::- Sent an http response to 192.168.255.228 with X-ISE-PDP=clemea19-ise1.demo.local.
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-PDP value is clemea19-ise1.demo.local
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-POSTURE value is /auth/perfigo_validate.jsp
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-POSTURE_PORT value is 8443
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_PKG_PORT value is 8443
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-GUESTFLOW value is false
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_CONFIG_URL value is https://clemea19-ise1.demo.local:8443/auth/anyconnect?uuid=f62337c2-7f2e-4b7f-a89a-3508d761173c
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_CONFIG_URI value is /auth/anyconnect?uuid=f62337c2-7f2e-4b7f-a89a-3508d761173c
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_PKG_URL value is https://clemea19-ise1.demo.local:8443/auth/provisioning/download/066ac0d6-2df9-4a2c-a129-fabf1ace36aa
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_PKG_URI value is /auth/provisioning/download/066ac0d6-2df9-4a2c-a129-fabf1ace36aa
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_PKG_VER value is 4.6.3049.0
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-STATUS_PATH value is /auth/status
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-BACKUP_SERVERS value is clemea19-ise2.demo.local
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-SessionId value is 0a3e949c000000495c216240
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-PostureDomain value is posture_domain
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-POSTURE_STATUS value is Unknown
بمجرد التعرف على معرف جلسة العمل الحجرية/الوهمية، يمكنك التحقيق في تقرير محاسبة RADIUS للحصول على فهم أفضل لما تسبب في تحول الجلسة إلى قديمة/وهمية:
2. هذا مثال على تقرير يوضح كيف أن جلسة العمل القديمة تركت على ciscolive-ise2:

ينطبق نفس المنطق على المشكلة السابقة، ومع ذلك، فإن الفرق الوحيد هو، يجب عليك التركيز على وقت بدء أحدث فحص. لهذا النوع من المشاكل، يكون الطابع الزمني لآخر مسح ضوئي في الماضي.
عادة عندما يكتشف المستخدم النهائي مشكلة، يحدث مسح ضوئي. بينما في سجلات ISE Radius Live، تظهر محاولات المصادقة الأخيرة من نقطة النهاية الإشكالية.
يظهر العرض التوضيحي تسجيل الخطوات اللازمة لتعريف المشكلة:
هذا النهج مماثل لقسم جلسة عمل أستكشاف الأخطاء وإصلاحها القديمة/الوهمية المتقدم. عنصر أستكشاف الأخطاء وإصلاحها الرئيسي هو تحقيق حزمة DART.
داخل حزمة DART، أنت يستطيع بحثت عن إكتشاف restart (كما هو موضح للإصدار السابق) وتأكد أن هناك ما من إكتشاف restart في اللحظة عندما تم الإبلاغ عن المشكلة.
على جانب ISE، ركز على تقرير مصادقة سجلات RADIUS المباشرة/RADIUS لتأكيد حدوث تجاوز فشل بين شبكات PSN أو أنه تم إنشاء معرف جلسة جديد بواسطة NAD.
وتاريخيا، لم تكن هناك ميزات على محرك خدمات الهوية (ISE) تعمل على حل المشكلات الموضحة في هذا المستند، لذلك، فإن الطريقة الوحيدة هي الاعتماد على مجموعة أفضل الممارسات التي يتم تنفيذها على الشبكة وعلى جانب محرك خدمات الهوية (ISE) لتقليل المخاطر إلى الحد الأدنى.
تنفيذ الوضع القائم على إعادة التوجيه دائما عند الإمكان
والوسيطة المضادة الشائعة لهذه التوصية هي تجربة مستخدم سيئة تظهر في نظام التشغيل أو المستعرضات التي تظهر. وهذا يشير إلى إعادة التوجيه أثناء قيام وحدة AnyConnect ISE Posture النمطية في الخلفية بإجراء عملية تقييم.
كحل لهذا، من الممكن فقط إعادة توجيه استكشافات اكتشاف وحدة ISE Posture النمطية والسماح بشكل انتقائي لجميع حركة المرور الأخرى. يوضح هذا المثال قائمة التحكم في الوصول (ACL) المعاد توجيهها والمصممة لإعادة توجيه طلبات HTTP فقط إلى مضيف الاكتشاف (10.1.1.1 في هذا المثال) و enroll.cisco.com (172.16.1.80):
ip access-list extended REDIRECT-DH-ENROLL
permit tcp any host 10.1.1.1 eq www
permit tcp any host 172.16.1.80
deny ip any any
للحفاظ على مستوى مقبول من الأمان، يمكن دمج قائمة تحكم في الوصول (ACL) معاد توجيهها مع قائمة التحكم في الوصول (DACL) المخصصة من ISE.
تسمح الحالة المعلقة بالاتصالات فقط ب PSN حيث تمت مصادقة نقطة النهاية
هذا النهج مفيد للبيئات التي لا يتم فيها دعم إعادة توجيه عنوان URL (عمليات تنفيذ مع NADs الخاصة بالطرف الثالث.)
كحل، قم بتنفيذ العديد من سياسات تخويل الوضع المعلق (واحد لكل PSN.) يجب أن يحتوي كل نهج على أحد الشروط، وهو اسم PSN حيث تم المصادقة. في ملف تعريف التخويل، يجب حظر جميع شبكات PSN باستثناء العقدة التي حدثت فيها المصادقة.
إنشاء سياسات تفويض لعقدتين:

ويشرح الشكل التالي كيف يعمل هذا النهج:

أفضل الممارسات لموازن الأحمال
تأكد من أن الفاصل الزمني للتحديث المؤقت-المحاسبي أعلى من أو يساوي VPN-session-timeout. وهذا يقلل يرفرفة المحاسبة بين PSNs أثناء جلسات VPN الطويلة. يوضح هذا المثال الفترة الزمنية لتحديث المحاسبة المؤقتة التي تم تكوينها لمدة 20 ساعة. لا يمنع هذا التحديث المؤقت الأولي الذي يحمل عنوان IP المعين إلى نقطة النهاية.
aaa-server ISE protocol radius
interim-accounting-update periodic 20
group-policy SSL-VPN attributes
vpn-idle-timeout 1200
vpn-session-timeout 1200
تمكين تأجير الوضع
هذه ميزة على ISE تضع علامة على نقطة النهاية كمتوافقة لفترة محددة (1-365 يوما.) تعد قيمة تأجير Posture (وضعية) سمة نقطة نهاية مما يعني أنها تخزن على قاعدة بيانات ISE. يتم نسخ جميع سمات نقاط النهاية التي تتضمن تأجير الوضع عبر جميع العقد في نشر ISE.
عندما يستلم PSN جلسة جديدة لنقطة النهاية، يمكن إستخدام تأجير الوضع لوضع علامة على الجلسة على أنها متوافق فورا. لاتخاذ هذا القرار، يستخدم PSN 3 قيم وتلك القيم هي:

2. قيمة سمة PostureExpiry هي سمة نقطة نهاية تحتوي على الطابع الزمني ل Epoch. يتم ملء قيمة PostureExpiry مبدئيا في أول محاولة وضع ناجحة لنقطة النهاية بعد تمكين مسؤول ISE تأجير الوضع. لاحقا، يتم تحديث هذه القيمة في محاولة الوضع الناجحة التالية التي تحدث بعد انتهاء صلاحية الإيجار. يمكنك أن ترى PostureExpiry في رؤية السياق > نقاط النهاية أثناء فتح إحدى نقاط النهاية المتوقعة:

3. يمكن تحويل هذه القيمة إلى طابع زمني يمكن قراءته من قبل الإنسان، على سبيل المثال، هنا - https://www.epochconverter.com/

3. عندما تصل مصادقة نقطة نهاية ذات تأجير وضعي إلى PSN، فإنها تستخدم PostureExpiry وتاريخ النظام لاسترداد عدد الأيام المنقضية من آخر تحقق من الوضع الناجح. إذا كانت قيمة النتيجة ضمن فترة تأجير الوضع المحددة في الإعدادات، فإن الجلسة تستلم حالة متوافق. إذا كانت قيمة النتيجة أعلى من قيمة التأجير، فإن جلسة العمل تستعيد حالة غير معروفة. يؤدي هذا إلى تشغيل الحالة المراد تنفيذها مرة أخرى ويمكن حفظ قيمة PostureExpiry الجديدة.
يوضح هذا المخطط العملية عند حدوث تجاوز الفشل:

قم دائما بدفع مؤقت إعادة المصادقة من ISE باستخدام طلب RADIUS، والذي يتم تحديده في الحفاظ على الاتصال أثناء إعادة المصادقة. يضمن هذا الإعداد معرف جلسة العمل نفسه ويحافظ عليه عند إعادة المصادقة.

يمكن تنفيذ المجموعة نفسها من أفضل الممارسات (الموضحة في قسم جلسة العمل البسيطة/الوهمية).
يمكن إستخدام شبكات فرعية مختلفة للحالات المعلقة والمتوافقة
عندما توفر تصميمات الشبكة فرصة إستخدام شبكات فرعية مختلفة مثل الحالات معلق والمتوافق، فإن هذا النهج يضمن كل تغيير في حالة الوضع ينتج عنه تغيير البوابة الافتراضية.
تقييم الوضع المستخدم في نفس الفترة كمؤقت إعادة المصادقة
يمكن تمكين "تقييم الوضع" مع تساوي الفاصل الزمني لمؤقت إعادة المصادقة. عندما يكون PSN الأصلي غير متوفر، فإن فشل PRA يعيد تشغيل عملية الإكتشاف.
كجزء من تحسين تم تنفيذه (في حزمة تصحيح معرف تصحيح الأخطاء من Cisco CSCvi35647) 6 ل ISE 2.6، هناك ميزة جديدة تقوم بتنفيذ مشاركة حالة جلسة العمل عبر جميع العقد في نشر ISE.
ويتم دمج هذا التحسين في الإصدارات المستقبلية لحزم ISE 2.7 2 و ISE 3.0.
تستند هذه الميزة الجديدة إلى آلية "دليل الجلسة الخفيفة" (LSD) التي تم تقديمها في ISE 2.6. وفي الإصدارات الأحدث، تمت إعادة تسمية هذه الوظيفة إلى دليل جلسة عمل RADIUS الخاص ب Light Data Distribution (LDD). يتم تمكين "توزيع البيانات الخفيفة" بشكل افتراضي ويسمح بمشاركة سياق جلسة عمل محدودة بين عقد ISE. لا توجد عمليات نسخ سياق جلسة عمل كاملة بين PSNs، إلا مقدار محدود من السمات المشتركة لكل جلسة عمل.
يزيل دليل الجلسة الخفيفة الحاجة إلى تنفيذ إستدعاءات API الباهظة للموارد إلى MNT عندما يجب أن تحدد إحدى العقد في النشر مالك الجلسة الحالية. يجب البحث عن المالك عند بدء تدفق COA. باستخدام LDD، يمكن لكل PSN العثور على مالك لجلسة العمل من ذاكرة التخزين المؤقت المحلية لدليل جلسة عمل Radius.
تحتوي هذه الوظيفة على العناصر التالية:
ملاحظة: توجد مصطلحات ومعمار RabbitMQ العامة خارج نطاق هذا المستند.
يوضح المثال التالي كيفية عمل تدفق COA مع ذاكرة التخزين المؤقت ل RSD:

لاستكشاف أخطاء الاتصال عبر LDD على ISE وإصلاحها، قم بتمكين مكون Light-Session-Directory في تصحيح الأخطاء:

هذا مثال على رسالة تصحيح أخطاء من ملف lsd.log لإنشاء جلسة عمل ونشرها على PSN الأصلي:
DEBUG [pool-45-thread-6][] cisco.cpm.lsd.service.LSDRedisClient -::::- Mapping Session ID 0a3e9498000008e05e071990 to session {"sessionID":"0a3e9498000008e05e071990","endpointMAC":"C0-4A-00-1F-6B-39","callingStationId":"c0-4a-00-1f-6b-39","ipv6AdressLst":[],"psnIP":"192.168.43.26","deviceIP":"192.168.255.102","destinationIP":"192.168.43.26","nasIP":"192.168.255.102","auditSessionID":"0a3e9498000008e05e071990","acctSessionID":"5e07197b/c0:4a:00:1f:6b:39/2299","timeStamp":1577523495,"status":"Started","id":"614f6c44-6c78-4289-b9fd-b352ff012ca4"}
DEBUG [PrRTEvents-Executor-2][] cisco.cpm.lsd.service.LSDNetAccessEventListener -::::- Publishing session update for session 0a3e9498000008e05e071990
DEBUG [PrRTEvents-Executor-2][] cisco.cpm.lsd.service.SessionPublisher -::::- Forwarding session 07a26b4b-ea13-438b-99b5-0bbadc9d8bac to batch manager
على جميع عقد ISE الأخرى، ترى كيفية إستهلاك جلسة عمل:
[pool-35-thread-38][] cisco.cpm.lsd.service.SessionConsumer -::::- Consumer is processing : sessionID:[0a3e9498000008e05e071990] status:[Started] id:[614f6c44-6c78-4289-b9fd-b352ff012ca4] auditSessionID:[0a3e9498000008e05e071990] accountingSessionID:[5e07197b/c0:4a:00:1f:6b:39/2299] endpointMAC:[C0-4A-00-1F-6B-39] callingStationId: [c0-4a-00-1f-6b-39] endpointIP:[null], IPv6 : [[]], psnIP:[192.168.43.26] deviceIP:[192.168.255.102] destinationIP:[192.168.43.26] nasIP:[192.168.255.102] nasIPv6:[null] timeStamp:[1577523495]
تحل مشاركة حالة الوضع المشاكل عندما يكون السبب الجذري جلسة Stale/Phantom أو إعادة المصادقة على PSN مختلف لم تقم بتشغيل إعادة تشغيل الاكتشاف. ما إن يصبح الجلسة متوافق، يضع هذا معلومة في الجلسة RSD وفيما بعد يمكن أن يستخدم من قبل كل PSN في النشر.
هناك بعض الحالات الجانبية الأخرى التي لا يمكن حلها بواسطة الميزة الموضحة. على سبيل المثال، عند تشغيل NAD إعادة المصادقة على PSN نفسه ولكن باستخدام معرف جلسة مختلف. يمكن معالجة هذه السيناريوهات باستخدام أفضل الممارسات الموضحة في هذا المستند. يوضح هذا الرقم الطبولوجيا المستخدمة لاختبار مشاركة حالة الوضع:

لإنشاء جلسة عمل معطلة، يجب إجراء المصادقة في البداية على SkgIse26-1. ثم، يجب إعادة تكوين NAD لإرسال المحاسبة إلى SkuchaIse26-3. بعد إعادة توجيه رسالة محاسبة إلى PSN الخطأ، ويجب إعادة تكوين NAD (مرة أخرى) لإرسال المحاسبة مرة أخرى إلى SkuchaIse26-1.
توضح هذه الصورة تقريرا محاسبيا يثبت وجود الجلسة الوهمية على Skokoere-ise26-3:

تتصل نقطة النهاية بالشبكة، لكن إعادة التوجيه لم تعد تعمل. في guest.log of PSN ل sochere-ise26-3، يمكنك رؤية رسائل السجل هذه مع مكون client-webApp ممكن في تصحيح الأخطاء:
2020-04-08 13:30:48,217 DEBUG [https-jsse-nio-192.168.43.226-8443-exec-4][] cisco.cpm.client.posture.Util -::- Local session 0A3E946C0000007D5B679296 is stale. Newer session for 00-50-56-B6-0B-C6 is 0A3E946C000000805B7C43A3. Owned by skuchere-ise26-1.example.com
عندما يكتشف PSN أنه يحتفظ بجلسة عمل وضيعة/وهمية لنقطة النهاية، فإنه لا يرد على وحدة ISE Posture النمطية وهذا يسمح لك بالحصول على معلومات من PSN حيث حدثت المصادقة الأخيرة.
كحل لمشكلة الجلسة الصخرية/الوهمية في وقت البحث عن الجلسة، يتحقق PSN من وجود أي جلسة جديدة لنقطة النهاية في RSD. إذا احتوى RSD على معرف جلسة مختلف من الذي يملكه PSN في ذاكرة التخزين المؤقت للجلسة المحلية، فإنه يفترض أن جلسة العمل (المقدمة في ذاكرة التخزين المؤقت للجلسة) قديمة.
لإعادة إنتاج هذا السيناريو، يتم تمكين مؤقت إعادة مصادقة قصير في ملف تعريف التخويل المعين إلى نقطة نهاية الحالة المتوافقة. وفيما بعد، تتم إعادة تكوين NAD لإرسال المصادقة والمحاسبة إلى PSN آخر (SkgEre-ISE26-3.) عند انتهاء صلاحية مؤقت إعادة المصادقة، لا تتم مصادقة الجلسة نفسها على PSN المختلفة.
يوضح الشكل التالي تقرير مصادقة يوضح تجاوز الفشل للجلسة نفسها من SkuchaIse26-1 إلى SkuchaIse26-3:

تحتوي الجلسة على حالة التوافق على PSN الجديد بعد تجاوز الفشل في ise-psc.log مع تمكين مكونات EPM-PIP وNSF-session في DEBUG:
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.impl.SessionCache -::::- Looking up session 0A3E946C000000896011D045 for attribute Session Session.PostureStatus
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.api.ExecutionContext -::::- Execution context has session id 0A3E946C000000896011D045
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.impl.PIPManager -::::- Returning a PIP com.cisco.cpm.nsf.session.impl.SessionPIP for type SESSION and flow null
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.api.ExecutionContext -::::- Execution context has session id 0A3E946C000000896011D045
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.impl.SessionCache -::::- Looking up session 0A3E946C000000896011D045
2020-04-09 11:06:42,176 DEBUG [SessionLifecycleNotifier][] cpm.nsf.session.internal.LRUAgingAlogrithm -::::- Accessed session 0A3E946C000000896011D045
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.impl.SessionCache -::::- Returning for session 0A3E946C000000896011D045 data Attrs: {SavedUserNames=[bob@example.com], Acs.LastStepTime=1586423202174, Acs.AD-User-Qualified-Name=bob@example.com, Acs.AD-User-Resolved-DNs=CN=bob,CN=Users,DC=example,DC=com, Acs.StepData=[110=EXAMPLE, 111=bob@example.com, 112=example.com, 113=example.com, 115=example.com, 116=EXAMPLE], Acs.AD-Log-Id=[1585911138/4778, 1585911138/4779], __IntIdGrps__=[Ljava.lang.String;@6d3c29b5, IdentityGroup.Description=[Ljava.lang.String;@3fca88fb, EXAMPLE.ExternalGroups=S-1-5-21-875452798-754861120-3039794717-513, Acs.AD-Groups-Names=example.com/Users/Domain Users, Acs.AuthenCPMSessionID=0A3E946C000000896011D045, Acs.IsMachineAuthentication=false, InternalEndpoint.IdentityGroup=[Ljava.lang.String;@6daf4c5, IDStoreUserQueryCache=[EXAMPLE#bob@example.com], Acs.CurrentIDStoreName=EXAMPLE, Acs.AD-User-Join-Point=EXAMPLE.COM, Acs.Step=[24432, 24325, 24313, 24319, 24323, 24355, 24416], Acs.CustomerMessageDuplicator=, Network Access.WasMachineAuthenticated=false, IdentityGroup.Name=[Ljava.lang.String;@570ab37a, Acs.StepDataStart=110, Acs.AD-User-DNS-Domain=example.com, Network Access.AuthenticationMethod=4, Acs.AD-User-Resolved-Identities=bob@example.com, InternalUser.IdentityGroup=[Ljava.lang.String;@51a6caed, Acs.AuthenticationMethod=4, Acs.AD-User-NetBios-Name=EXAMPLE, Normalised Radius.RadiusFlowType=0, Network Access.AuthenticationIdentityStore=EXAMPLE, EXAMPLE.IdentityAccessRestricted=false, Acs.AD-User-SamAccount-Name=bob}
IndexValues: {}
2020-04-09 11:06:42,177 DEBUG [Thread-7979][] cisco.cpm.posture.pip.PostureStatusPIP -::::- set postureStatus based on posture LSD dictionary: Compliant
2020-04-09 11:06:42,177 DEBUG [Thread-7979][] cisco.cpm.posture.pip.PostureStatusPIP -::::- PostureStatusPIP for mac 00-50-56-B6-0B-C6 - Attribute Session.PostureStatus value is Compliant
يتم حل المشكلة الأصلية بإضافة منطق إضافي في عملية تحديد حالة الوضع. يوضح هذا الشكل ما تم تغييره (التغييرات التي تم إبرازها باللون الأحمر):

| المراجعة | تاريخ النشر | التعليقات |
|---|---|---|
3.0 |
25-Aug-2026
|
عنوان محدث، تدقيق إملائي، قواعد، أسطر أفقية تم إدخالها إلى المقاطع المنفصلة من أجل إمكانية القراءة، عناوين URL ثابتة، تنبيهات CCW، ونص بديل. |
2.0 |
31-May-2023
|
تقويم |
1.0 |
22-Apr-2020
|
الإصدار الأولي |