تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يصف هذا المستند مشكلة خدمات وضعية محرك خدمة الهوية العامة (ISE): "تظهر وحدة AnyConnect ISE Posture module المتوافقة..."
يصف هذا المستند مشكلة خدمات وضعية محرك خدمة الهوية العامة (ISE) - تظهر وحدة AnyConnect ISE Posture النمطية المتوافقة بينما حالة جلسة العمل على ISE معلقة.
وفي حين ان الاعراض هي نفسها دائما، يمكن ان تكون هنالك أسباب جذرية متعددة لهذه المسألة.
وغالبا ما يصبح حل هذه المسألة مستهلكا للوقت إلى حد كبير مما يؤدي إلى تأثير خطير.
يشرح هذا المستند:
للحصول على شرح افضل للمفاهيم الموصوفة لاحقا، يرجى الرجوع إلى:
تظهر هذه المشكلة عادة في غياب الوصول إلى الشبكة أو عمليات إعادة التوجيه المستمرة إلى مدخل توفير عميل ISE في المستعرض، بينما تظهر وحدة وضعية AnyConect ISE، في الوقت نفسه، حالة التوافق.
تجربة المستخدم النهائي النموذجية:
عادة، في الفرز الأولي لهذه المشكلة، يقوم مسؤول ISE بإجراء تحقيق في سجلات RADIUS Live لضمان وجود مصادقة فعلية تصل إلى ISE.
يشير العرض الأول الذي تم اكتشافه في هذه المرحلة إلى عدم تطابق في حالة الوضع بين نقطة النهاية و ISE كما هو الحال في السجلات المباشرة أو تقارير مصادقة Radius آخر مصادقة ناجحة لنقطة النهاية تظهر حالة الوضع المعلق.
تجربة إدارة ISE النموذجية:
ملاحظة: لا يتم دائما تقديم C. and D. في السجلات المباشرة عندما يتم وصف بيانات الإصدار. حدث جلسة العمل المتوافق مع حالة الوضع أكثر شيوعا للسيناريوهات التي تتسبب فيها جلسات العمل الوهمية أو القديمة التي تم وصفها لاحقا في هذا المستند.
وتظهر هذه المشكلة عادة في سيناريوهين مشككين ولكل منهما أسباب أساسية متعددة. السيناريوهات:
لفهم المشكلة بشكل أفضل، تحقق من منطق إدارة جلسة عمل ISE وعملية اكتشاف AnyConnect المطلوبة.
في نشر ISE، هناك شخصان مسؤولان عن عملية إدارة جلسة العمل: PSN وعقدة المراقبة (MNT).
لاستكشاف هذه المشكلة وإصلاحها بشكل صحيح وتحديد هويتها، فمن المهم فهم نظرية إدارة جلسة العمل على كلا الشخصين.
كما هو موضح في هذه الصورة، تقوم عقدة MNT بإنشاء مواسم استنادا إلى رسائل syslog للمصادقة التي يتم تمريرها والتي تأتي من PSNs.
يمكن تحديث حالة جلسة العمل اللاحقة بواسطة syslog للمحاسبة.
تتم إزالة جلسة العمل على MNT في 3 سيناريوهات:
أمثلة على رسائل syslog من PSN. يتم تسجيل هذه الرسائل في prrt-server.log عند تمكين مكون AAA لوقت التشغيل في تصحيح الأخطاء. يمكن إستخدام الأجزاء ذات اللون الغامق لتكوين تعبيرات البحث العادية.
المصادقة التي تم تمريرها :
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 :
عندما يتعلق الأمر بإزالة جلسة العمل، يقوم PSN بتنفيذ هذا المنطق:
في نشر ISE، تمت معالجة نقطة توقف المحاسبة لجلسة عمل موجودة بواسطة PSN الذي لم يقم بتنفيذ المصادقة الفعلية:
مثال على الجلسة القديمة:
1. يتم إجراء مصادقة ناجحة على PSN لجلسة ABC.
2. تقوم PSN بإنشاء إدخال في ذاكرة التخزين المؤقت لجلسة العمل.
3. يتم إجراء تقييم للوضع.
4. تم وضع علامة متوافق على جلسة العمل.
5. يؤدي تغيير التفويض (COA) الذي تم تشغيله عن طريق تغيير حالة الوضع إلى إعادة مصادقة نقطة النهاية لتطبيق مستوى الوصول التالي.
6. توقف المحاسبة لجلسة ABC يأتي إلى PSN2.
بعد خطوة 6 جلسة، يعلق abc في الحالة stale على ال PSN1 بما أن هناك ما من محاسبة إيقاف رسالة معالجة على هذا PSN أن يزيل هو. تتم إزالة جلسة العمل لفترة طويلة إذا لم يواجه النشر عددا كبيرا من محاولات المصادقة.
يظهر الجلسة قديم في جلسة عمل PSN تخزين مؤقت في هذا سيناريو:
مثال على جلسة العمل القديمة في بيئة موازن التحميل (LB) :
1. المصادقة الأولية للجلسة ABC التي تم تنفيذها بواسطة PSN 1.
2. تقوم هذه المصادقة ببدء مؤقت لصق على موازن التحميل.
3. يقوم PSN 1 بإنشاء إدخال لجلسة ABC في ذاكرة التخزين المؤقت المحلية.
4. تم تحويل رسالة syslog للمصادقة التي تم تمريرها إلى عقدة MNT.
5. تم إنشاء إدخال لجلسة ABC في دليل جلسات MNT مع مصادقة الحالة.
6. رسالة بداية المحاسبة للجلسة ABC تورد على PSN 1.
7. تم تحديث إدخال ذاكرة التخزين المؤقت لجلسة العمل ABC بمعلومات من Accounting-Start.
8. تم نقل رسالة syslog ل Accounting-Start إلى عقدة MNT.
9. تم تحديث حالة جلسة العمل إلى تم البدء.
10. تنتهي صلاحية مؤقت Stickiness على موازن التحميل.
11. توقف المحاسبة لجلسة ABC تمت إعادة توجيهها بواسطة موازن التحميل إلى PSN 2.
12. Syslog رسالة for accounting-stop موجهة من قبل PSN 2 إلى MNT.
13 - تم وضع علامة على ABC لجلسة العمل على أنه تم إنهاؤها على MNT.
الجلسة الوهمية هي سيناريو عند وصول تحديث مؤقت للمحاسبة إلى PSN الذي لم يتم إجراء المصادقة لهذه الجلسة المحددة. في هذا السيناريو، يتم إنشاء إدخال جديد في ذاكرة التخزين المؤقت لجلسة عمل PSN وإذا لم يحصل PSN على رسالة توقف محاسبة لجلسة العمل هذه، فلن تتم إزالة الإدخال ما لم يصل PSN إلى حد جلسات العمل النشطة.
مثال الجلسة الوهمية:
1. يتم تنفيذ نفس الخطوات كما هو موصوف في مثال الجلسة القديمة على PSN1 للجلسة ABC.
2. يحتوي ABC لجلسة العمل على متوافق مع الحالة في ذاكرة التخزين المؤقت لجلسة عمل PSN1.
3. تحديث المحاسبة المؤقت للجلسة ABC يضرب PSN2.
4. تم إنشاء إدخال جلسة العمل ABC على PSN2. منذ إنشاء إدخال جلسة العمل من رسالة المحاسبة، أصبح لديه عدد محدود من السمات. على سبيل المثال، حالة الوضع غير متوفرة للجلسة ABC. كما أن أشياء مثل مجموعات المستخدمين وسمات التخويل الأخرى المحددة غير موجودة.
تظهر الجلسة الوهمية في ذاكرة التخزين المؤقت لجلسة PSN في هذه السيناريوهات:
مثال على جلسة وهمية للسيناريو مع مشاكل مؤقتة على مسار الشبكة نحو PSN1:
1. المصادقة الأولية للجلسة ABC التي تم تنفيذها بواسطة PSN.
2. يقوم PSN1 بإنشاء إدخال لجلسة ABC في ذاكرة التخزين المؤقت المحلية.
3. تم تحويل رسالة syslog للمصادقة التي تم تمريرها إلى عقدة MNT.
4. تم إنشاء إدخال لجلسة ABC في TimesTen DB مع مصادقة الحالة.
5. رسالة بداية المحاسبة للجلسة ABC تورد على PSN 1.
6. تم تحديث إدخال ذاكرة التخزين المؤقت لجلسة العمل ABC بمعلومات من Accounting-Start.
7. تم نقل رسالة syslog ل Accounting-Start إلى عقدة MNT.
8. تم تحديث حالة جلسة العمل إلى تم البدء.
9. تحديث المحاسبة المؤقتة للجلسة ABC تمت إعادة توجيهه إلى PSN2.
10. يقوم PSN2 بإنشاء إدخال لجلسة ABC في ذاكرة التخزين المؤقت المحلية.
11. إيقاف المحاسبة لجلسة ABC تمت إعادة توجيهها إلى PSN1.
12. تمت إزالة إدخال لجلسة ABC من ذاكرة التخزين المؤقت لجلسة العمل على PSN1.
13. Syslog رسالة for accounting-stop موجهة من قبل PSN 1 إلى MNT.
14 - تم وضع علامة على ABC لجلسة العمل على أنه تم إنهاؤها على MNT.
سيناريو الجلسة الوهمية كما تم إنشاؤها لاتصال VPN طويل العمر:
1. المصادقة الأولية على PSN1.
2. تم إنشاء ABC لجلسة العمل في ذاكرة التخزين المؤقت لجلسة العمل.
3. تبدأ عملية المحاسبة الرسالة التي تمت معالجتها بواسطة PSN.
4. عنوان IP الجديد المعين لمهايئ الشبكة الخاصة الظاهرية (VPN).
5. تحديث المحاسبة المؤقت باستخدام معلومات عنوان IP على PSN.
6. تمت إضافة معلومات عنوان IP إلى ذاكرة التخزين المؤقت للجلسة.
7. يتم إجراء تقييم للوضع مع PSN1.
8 - تم تحديث حالة الوضع في الدورة.
9. عند تنفيذ عملية الدفع بالدفع بمعيار COA بواسطة معيار ISE، يؤدي ذلك إلى تشغيل مستوى وصول جديد ليتم تعيينه.
10. انقطاع التيار على مسار الشبكة مما يجعل PSN1 غير قابل للوصول.
11. بعد انتهاء صلاحية فترة التحديث المؤقتة، يكتشف ASA/FTD عدم إمكانية الوصول إلى PSN1.
12. يأتي التحديث المؤقت للمحاسبة إلى PSN2.
13. الجلسة الوهمية التي تم إنشاؤها في ذاكرة التخزين المؤقت لجلسة PSN2.
إذا أصبح PSN1 متاحا لاحقا (14) فإن كل رسائل المحاسبة التالية يتم إعادة توجيهها (15،16) هناك وهذا يترك الجلسة ABC في ذاكرة التخزين المؤقت لجلسة PSN2 لوقت غير محدد.
لفهم كيفية توقف جلسة العمل والتفكك الوهمي لجلسة العمل، يمكنك مراجعة عملية اكتشاف وحدة AnyConnect ISE Posture النمطية:
المرحلة الأولى من الاكتشاف :
أثناء هذه المرحلة، تقوم وحدة ISE Posture (وضعية محرك خدمات الهوية (ISE)) بتنفيذ 4 مشاكل متزامنة لتحديد موقع PSN الذي قام بإجراء مصادقة لنقطة النهاية.
أولا، 3 مسابير على الشكل مبنية على إعادة التوجيه (افتراضي GW IP. IP لمضيف الاستكشاف (إذا تم تعريفه) و enroll.cisco.com IP) - تشير هذه التحقيقات دائما إلى العميل إلى PSN الأيمن كعنوان URL إعادة توجيه يتم أخذه من NAD نفسه.
يتم إرسال Probe رقم 4 إلى جميع الخوادم الأساسية المقدمة في ملف ConnectionData.xml. يمكن تحديث هذا الملف الذي تم إنشاؤه بعد محاولة الوضع الناجحة الأولى ومحتوى الملف الأحدث في حالة ترحيل العميل بين شبكات PSN. في أنظمة Windows، يكون موقع الملف - C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\ISE Posture\.
بما أن كل المرحلة 1 يجري إختبار في وقت واحد، فإن نتيجة من تحقيق 4 يتم إستخدامها فقط إذا فشلت كل ال 3 تجارب الأخرى أو أن وحدة ISE Posture النمطية لم تتمكن من تأسيس اتصال صحيح مع PSN الذي تم إرجاعه في إعادة توجيه URL في غضون 5 ثوان.
عند هبوط Probe 4 على PSN، فإنه يحتوي على قائمة من عناوين IP و MAC النشطة التي تم اكتشافها على نقطة النهاية. يستخدم PSN هذه البيانات للعثور على جلسة لنقطة النهاية هذه في ذاكرة التخزين المؤقت المحلية. إذا كان PSN يحتوي على جلسة وهمية أو نقطة نهاية، فقد يؤدي ذلك إلى حالة الوضع الخطأ التي يتم عرضها لاحقا على جانب العميل.
عندما يحصل عميل على إجابات متعددة ل Probe 4 (يمكن أن يحتوي ConnectionData.xml على أكثر من PSN أساسي واحد) يتم إستخدام الرد السريع دائما.
المرحلة الثانية من الاكتشاف:
تكون جميع مستكشفات المرحلة 2 غير مباشرة مما يعني أن كل مسبار يقوم بتشغيل بحث جلسة العمل على PSN الوجهة. إذا لم يتمكن PSN من تحديد موقع الجلسة في ذاكرة التخزين المؤقت للجلسة المحلية، فعليه إجراء بحث MNT (مستندا إلى عنوان MAC فقط) للعثور على مالك جلسة العمل وإعادة اسم المالك إلى الوكيل.
بما أن كل تدقيق تدقيق مشغل جلسة بحث، المرحلة 2 إكتشاف يستطيع حتى كنت أكثر تأثرا بالمشكلة نتيجة من جلسة وهمية أو وهمية.
إذا وصل PSN إلى المرحلة 2، فإن تحقيق الاكتشاف الموجود في ذاكرة التخزين المؤقت للجلسة يقوم بإنشاء إدخال وهمي أو قديم لنفس نقطة النهاية. ينتج عنه حالة الوضع الخطأ التي تم إرجاعها إلى المستخدم النهائي.
يوضح المثال كيف يحدث الوضع عندما يحتفظ PSN بجلسة عمل قديمة أو جلسة وهمية:
ملاحظة: من المهم تذكر أن هذه المشكلة لا يمكن أن تظهر إلا عند فشل جميع إختبارات الاكتشاف المستندة إلى إعادة التوجيه أو عند تنفيذ الوضع غير إعادة التوجيه.
1. أي من إختبارات Find my session الصادرة عن وحدة ISE Posture (وضعية محرك خدمات الهوية (ISE)).
2. يقوم PSN بالبحث عن الجلسة في ذاكرة التخزين المؤقت للجلسة. إن يكون الجلسة أن يكون أسست، يقع جلسة عمل وهمي إصدار.
3. تقوم PSN بتشغيل تحديد سياسة توفير العميل. في حالة ما، تكون جلسة العمل الوهمية التي تحتوي على سمات مصادقة/تفويض، وجميع السياسات التي تم تكوينها بواسطة العميل محددة جدا (يتم إنشاء السياسات لمجموعات Active Directory معينة على سبيل المثال)، يتعذر على PSN تعيين سياسة تزويد عميل صحيحة. يمكن أن يظهر هذا في رسالة الخطأ: "تم تكوين تجاوز فحص AnyConnect لشبكتك لاستخدام وكيل Cisco NAC".
4. بالنسبة لسيناريو الجلسة الوهمية، تستمر وحدة وضعية محرك خدمات الهوية (ISE) مع طلب الوضع الأولي. يحتوي هذا الطلب على معلومات حول جميع منتجات إدارة الأمان والتصحيحات التي تم الكشف عنها على نقطة النهاية.
5. تستخدم PSN معلومات من سمات الطلب والجلسة لمطابقة سياسة الوضع المناسبة. لأن الجلسة الوهمية بها نقص في السمات في هذه المرحلة ليس لدينا سياسة لنطابقها. في مثل هذه الحالة، يرد PSN على نقطة النهاية أنها متوافقة حيث إن هذا هو سلوك ISE الافتراضي في حالة عدم تطابق سياسة الوضع.
ملاحظة: عندما يكون هناك سياسة عامة يمكن تحديدها من سمات الجلسة الوهمية، نواصل الخطوة 6.
6. ترجع PSN سياسات الوضع المحددة إلى الوكيل.
ملاحظة: في حالة عدم إمكانية تحديد أي نهج ترجع PSN حالة التوافق.
7. يقوم الوكيل بإرجاع الحالات لكل نهج/متطلب كما تم تمريره أو فشله.
8. يتم إجراء تقييم التقرير على ISE وتغييرات حالة جلسة العمل إلى متوافق.
ملاحظة: في حالة حدوث مشاكل في الوضع بسبب الجلسة الوهمية، يحتمل أن يلاحظ مسؤول ISE بعض COAs الفاشلة في الوضع مثل هذه الحالة يتم تنفيذ طلبات COA من PSNs خاطئة ومن معرفات الجلسة الخطأ.
تم تصميم وحدة ISE Posture (وضعية محرك خدمات الهوية (ISE)) لمراقبة عدد محدود من الأحداث على نقطة النهاية لتشغيل عملية اكتشاف. قائمة الأحداث التي تؤدي إلى اكتشاف:
لم يتم الكشف عن مصادقة dot1x الجديدة أو إلغاء تأمين الكمبيوتر أو تغيير عنوان IP بواسطة وحدة وضع ISE.
يتعذر على وحدة وضعية محرك خدمات الهوية (ISE) اكتشاف مصادقة جديدة أو محاولة إعادة مصادقة في هذه السيناريوهات :
مثال على إعادة المصادقة على PSN مختلف بسبب انقطاع شبكة PSN الأصلية. السيناريو مع موازن التحميل يبدو متشابها جدا. في حالة LB، يتم توجيه إعادة المصادقة إلى PSN مختلف نتيجة لانتهاء صلاحية مؤقت اللصق.
1. المصادقة الأولية على PSN1.
2. تم إنشاء ABC لجلسة العمل في ذاكرة التخزين المؤقت لجلسة PSN1.
3. تقييم الوضع الذي تم إجراؤه مع PSN1.
4. تنتقل حالة ABS لجلسة العمل إلى التوافق.
5. يؤدي COA الذي يتم تشغيله بواسطة تغيير حالة الوضع إلى إعادة مصادقة نقطة النهاية لتطبيق مستوى الوصول التالي.
6. يصبح PSN1 غير متاح.
7. إعادة المصادقة لجلسة عمل ABC يضرب PSN2.
8. بما أنها جلسة جديدة لحالة PSN2 للجلسة تصبح معلقة.
حالة الوضع الأولي التي تم تعيينها بواسطة PSN للجلسة:
ملاحظة: يصف جهاز الحالة تحديد أولي فقط لحالة الوضع. يمكن أن تصبح كل جلسة عمل تم وضع علامة عليها كغير معروفة لاحقا متوافقة أو غير متوافقة بناء على تقييم التقرير الذي تم تلقيه من وحدة ISE Posture (وضعية محرك خدمات الهوية (ISE)).
وقد يحدث هذا في السيناريوهين الأكثر شيوعا:
يمكن إنشاء معرف الجلسة الجديد في بعض سيناريوهات حالة الركن الأخرى. على سبيل المثال، في بعض الحالات، قد يكون التجوال اللاسلكي سببا لذلك. الشيء الرئيسي هنا، ISE PSN يضع دائما جلسة جديدة في حالة معلق ما لم يتم تكوين تأجير الوضع. يرد شرح لتأجير الوضع لاحقا في هذا المستند.
لتحديد ما إذا كان AnyConnect يظهر التوافق أثناء وجوده في حالة إعادة التوجيه بسبب جلسة العمل الحجرية/الوهمية، يلزمنا الوصول إلى نقطة النهاية بينما تكون في حالة إشكالية.
1. اضغط على رمز التروس في واجهة مستخدم AnyConnect
2. في الإطار الجديد، انتقل إلى علامة التبويب "مسح النظام" وإحصاءات علامة التبويب الفرعية
هنا، انتبه إلى عنصرين:
في المثال المحدد هناك عدم تطابق بين الاسم الذي يشير إلى أن PSN باسم cisco-ise2 يحمل جلسة وهمية أو وهمية لنقطة النهاية هذه.
يظهر العرض التوضيحي تسجيل الخطوات اللازمة لتعريف المشكلة:
المثال السابق هو التمييز بين إصدار جلسة عمل صفرية أو وهمية ومشكلة عملية الاكتشاف التي لم تبدأ. في الوقت نفسه، نحن بحاجة إلى تحديد الجلسة الفعلية التي أطلقت المشكلة لفهم أفضل كيف بالضبط أنها تصبح قضية وهمية أو جلسة.
بينما لا يمكن تجنب جلسات وهمية في بعض السيناريوهات. نحن بحاجة إلى ضمان عدم وجود جلسات وهمية في البيئة بسبب بعض أفضل الممارسات التي لم يتم تنفيذها.
تحليل حزمة DART مأخوذة من نقطة النهاية التي تستنسخ المشكلة.
لتحقيق ذلك، يجب أن تبدأ الأداة المساعدة لحزمة DART كمسؤول ثم تقوم بتنظيف السجل.
بعد تجميع حزمة DART، نحتاج إلى إلغاء أرشفتها والتركيز على الملف AnyConnect_ISEPosture.txt الموجود في المجلد وحدة Cisco AnyConnect ISE Posture. يحتوي هذا الملف على كافة الأحداث المتعلقة بالاكتشاف.
1. بدء أستكشاف الأخطاء وإصلاحها والتعرف على جميع لحظات إعادة تشغيل الاكتشاف. الكلمات الأساسية التي سيتم البحث عنها هي إعادة تشغيل الاكتشاف أو اكتشاف HTTP. هنا، انتقل إلى الخط مع إعادة تشغيل الاكتشاف التي حدثت في اللحظة المثيرة للمشاكل:
2. بعد إعادة تشغيل الاكتشاف، يمكنك مشاهدة سطر يحتوي على - التحقق من أهداف مرحلة MNT. هذا مؤشر بدء اكتشاف المرحلة الأولى:
يوصى بتمييز جميع الاختبارات المستندة إلى إعادة التوجيه التي لها نفس اللون بينما تحتاج شبكات PSN المتصلة سابقا المأخوذة من ConnectionData.xml (أهداف حالة المصادقة) إلى إبرازها بألوان مختلفة حيث أن شبكات PSN FQDN تكون عادة متشابهة جدا ويصعب تحديد الفرق.
3.اقرأ ملفات السجل لترى نتيجة لكل إختبار. وكما قيل بالفعل في حالة المشكلة التي يسببها جلسة العمل الوهمية/الصخرية، فإنه يجب فشل جميع التحقيقات المستندة إلى إعادة التوجيه. هذا مثال على كيف يبدو المسبار الفاشل:
4. في مكان ما في الملف بعد إعادة تشغيل الاكتشاف للمرحلة 1 أو المرحلة 2، ترى ردا ناجحا من شبكة واحدة (PSN) أو أكثر:
5. بعد عدة أسطر، هناك سطر مع الكلمة الأساسية MSG_NS_SWISS_NEW_SESSION. يحتوي هذا السطر على معرف جلسة عمل فعلي تم تحديده بواسطة PSN كنتيجة للبحث عن جلسة العمل. أستخدم معرف جلسة العمل هذه لمزيد من التحقيق في ISE لمعرفة كيف تصبح هذه الجلسة قديمة/وهمية:
في guest.log مع تمكين مكون clientwebApp في تصحيح الأخطاء، يمكن رؤية PSN الذي يرد بجلسة عمل stale/phantom.
يحصل PSN على طلب من وكيل ISE Posture (وضعية محرك خدمات الهوية (ISE)). يمكنك ملاحظة أن هذا طلب من 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
يحتوي الطلب على صفيفات من عناوين 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
بعد السطر الذي يحتوي على كلمات أساسية تم إرسال إستجابة 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 للحصول على فهم أفضل حول ما تسبب في أن تصبح هذه الجلسة صورية/وهمية:
مثال لتقرير يوضح كيف تم ترك جلسة العمل القديمة على ciscolive-ise2:
وهنا ينطبق نفس المنطق على الإصدار السابق. الفرق الوحيد هو أنك بحاجة إلى التركيز على وقت بدء أحدث مسح ضوئي. لهذا النوع من المشاكل، يكون الطابع الزمني لآخر مسح ضوئي في مكان ما في الماضي.
عادة عندما يكتشف المستخدم النهائي مشكلة، يظهر مسح ضوئي حدث منذ بعض الوقت. بينما في سجلات ISE Radius Live، تظهر محاولات المصادقة الأخيرة من نقطة النهاية الإشكالية.
يظهر العرض التوضيحي تسجيل الخطوات اللازمة لتعريف المشكلة:
النهج هنا مماثل جدا لقسم جلسة عمل باستكشاف الأخطاء وإصلاحها المتقدم</وهمي. عنصر أستكشاف الأخطاء وإصلاحها الرئيسي هو تحقيق حزمة DART. داخل حزمة DART، يمكنك البحث عن عمليات إعادة تشغيل الاكتشاف كما هو موضح للإصدار السابق وتأكد من عدم وجود إعادة تشغيل اكتشاف في الوقت الذي تم فيه الإبلاغ عن المشكلة.
على جانب ISE، ركز على تقرير مصادقة Radius Live Log/ Radius لتأكيد حدوث تجاوز فشل بين PSN أو تم إنشاء معرف جلسة جديد بواسطة NAD.
وتاريخيا، لم تكن هناك ميزة على البنية الأساسية للخدمات (ISE) يمكنها حل المشكلات الموضحة في هذا المستند، ومن ثم فإن الطريقة الوحيدة هي الاعتماد على مجموعة أفضل الممارسات التي يتم تنفيذها على الشبكة وعلى إدارة البنية الأساسية (ISE) لتقليل المخاطر إلى الحد الأدنى.
تنفيذ الوضع القائم على إعادة التوجيه دائما عند الإمكان
الوسيطة المضادة الشائعة لهذه التوصية هي تجربة مستخدم سيئة حيث يتم ملاحظة الإطارات المنبثقة في نظام التشغيل أو المستعرضات التي تشير إلى إعادة التوجيه بينما تقوم وحدة وضع AnyConnect ISE في الخلفية بإجراء عملية تقييم.
كحل لهذا، من الممكن إعادة توجيه عمليات أستكشاف وحدة 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
للحفاظ على مستوى مقبول من الأمان، يمكن دمج قائمة التحكم في الوصول لإعادة التوجيه هذه مع قائمة التحكم في الوصول (DACL) المخصصة من ISE.
تسمح الحالة المعلقة بالاتصالات فقط ب PSN حيث تمت مصادقة نقطة النهاية
يفيد هذا النهج البيئات التي لا يتم فيها دعم إعادة توجيه عنوان URL (على سبيل المثال، عمليات التنفيذ مع NADs الخاصة بالجهات الخارجية).
كحل، تحتاج إلى تنفيذ العديد من سياسات تخويل PosturePending (نهج واحد لكل PSN). يجب أن يحتوي كل نهج كأحد الشروط على اسم PSN حيث تم المصادقة. في ملف تعريف التخويل المعين لكل نهج يجب حظر الوصول إلى جميع PSN باستثناء العقدة التي حدثت فيها المصادقة.
إنشاء سياسات تفويض لنشر عقدتين:
1. وضع السياسة المعلقة ل PSN1.
2. اسم PSN1 المستخدم كشرط في النهج.
3. ملف تعريف التخويل مع قائمة التحكم في الوصول (ACL) الذي يمنع الوصول إلى جميع شبكات PSN باستثناء PSN1.
4. وضع السياسة المعلقة ل PSN2.
5. اسم PSN2 المستخدم كشرط في السياسة.
6. ملف تعريف التخويل مع قائمة التحكم في الوصول (ACL) التي تمنع الوصول إلى جميع شبكات PSN باستثناء PSN2.
7. نهج التفويض "المتوافق" للوضع.
ويوضح الشكل كيف يعمل هذا النهج:
1. تصل المصادقة إلى PSN1.
2. نتيجة لسياسات التخويل المكونة، يقوم PSN1 بتعيين ملف تعريف التخويل الذي يمنع الوصول إلى جميع العقد الأخرى باستثناء PSN1.
3. تعيد وحدة AnyConnect ISE Posture تشغيل عملية الاكتشاف.
4. التحقيق في PSN2 الذي تم حظره بواسطة NAD بواسطة قائمة تحكم في الوصول (ACL) تم تعيينها في وقت سابق.
5. التحقق من PSN1 المسموح به من قبل قائمة التحكم في الوصول (ACL) المخصصة على NAD.
أفضل الممارسات لموازن الأحمال
Posture عبر حالة إستخدام الشبكة الخاصة الظاهرية (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 DB. يتم نسخ جميع سمات نقاط النهاية التي تتضمن تأجير الوضع عبر جميع العقد في نشر ISE.
عندما يحصل PSN على جلسة جديدة لوضعية نقطة النهاية يمكن إستخدام تأجير لوضع نقطة النهاية لوضع علامة على الجلسة على أنها متوافق مباشرة.
لاتخاذ هذا القرار تستخدم PSN 3 قيم. هذه القيم هي:
يمكنك أن ترى PostureExpiry في رؤية السياق > نقاط النهاية أثناء فتح إحدى نقاط النهاية postured:
يمكن تحويل هذه القيمة إلى طابع زمني يمكن قراءته من قبل الإنسان على سبيل المثال هنا - https://www.epochconverter.com/
عندما تصل المصادقة لنقطة نهاية ذات تأجير وضعي إلى PSN، فإنها تستخدم PostureExpiry وتاريخ النظام للحصول على عدد من الأيام التي مرت من آخر تحقق من الوضع الناجح. إذا كانت قيمة النتيجة ضمن فترة تأجير الوضع المحددة في الإعدادات، فإن جلسة العمل تحصل على حالة متوافق. إذا كانت قيمة النتيجة أعلى من قيمة التأجير، تحصل الجلسة على حالة غير معروفة. يؤدي هذا إلى تشغيل الحالة المراد تنفيذها مرة أخرى ويمكن حفظ قيمة PostureExpiry الجديدة.
يشرح الشكل العملية عند حدوث تجاوز الفشل:
1. تحدث المصادقة الأولية مع PSN1.
2. تم إنشاء ABC لجلسة العمل في ذاكرة التخزين المؤقت لجلسة العمل.
3. يتم إجراء تقييم للوضع.
4. تغييرات حالة جلسة العمل إلى متوافق
5. يؤدي COA الذي يتم تشغيله بواسطة تغيير حالة الوضع إلى إعادة مصادقة نقطة النهاية لتطبيق مستوى الوصول التالي.
6. قيمة PostureExpiry المحفوظة في نقطة النهاية.
7. نسخ بيانات نقاط النهاية نسخا متماثلا عبر النشر.
8. تصل المصادقة التالية إلى PSN2.
9. يتحقق PSN2 مما إذا كانت نقطة النهاية ضمن تأجير وضعي صالح.
11. تمت إضافة جلسة العمل إلى ذاكرة التخزين المؤقت لجلسة العمل كتوافق.
12 - نظرا لتأجير جلسة العمل الصحيحة، تم إنشاؤها بتوافق حالة الوضع.
تنفيذ إعادة المصادقة
قم دائما بدفع مؤقت إعادة المصادقة من ISE مع تحديد طلب RADIUS في الحفاظ على الاتصال أثناء إعادة المصادقة. يضمن هذا الإعداد الاحتفاظ بمعرف جلسة العمل نفسه عند إعادة المصادقة.
.
البيئات التي تحتوي على موازن للأحمال
ويمكن تنفيذ نفس المجموعة من أفضل الممارسات التي تم شرحها في قسم الجلسة الصورية/الوهمية.
يمكن إستخدام شبكات فرعية مختلفة للحالات المعلقة والمتوافقة
عندما يوفر تصميم الشبكة فرصة إستخدام حالات مختلفة معلقة ومتوافقة، يضمن هذا النهج أن يؤدي كل تغيير في حالة الوضع إلى تغيير البوابة الافتراضية.
تقييم الوضع المستخدم في نفس الفترة كمؤقت إعادة المصادقة
يمكن تمكين "تقييم الوضع" مع تساوي الفاصل الزمني لمؤقت إعادة المصادقة. في مثل هذه الحالة، عندما يصبح PSN الأصلي غير متاح PRA يعيد إخفاق الإكتشاف عملية.
كجزء من تحسين تم تنفيذه، تم وصف ذلك في الحزمة CSCvi35647 من Cisco 6 ل ISE 2.6 وحصلت على ميزة جديدة تقوم بتنفيذ مشاركة حالة حالة جلسة العمل عبر جميع العقد في نشر ISE. ويتم دمج هذا التحسين في الإصدارات المستقبلية: تصحيحات ISE 2.7 2 و ISE 3.0.
تستند هذه الميزة الجديدة إلى آلية دليل الجلسة الخفيفة (LSD) التي تم تقديمها في ISE 2.6. في الإصدارات الأحدث، تمت إعادة تسمية هذه الوظيفة إلى دليل جلسات عمل RADIUS لتوزيع البيانات الخفيفة (LDD). يتم تمكين "توزيع البيانات الخفيفة" بشكل افتراضي ويسمح بمشاركة سياق جلسة عمل محدودة بين عقد ISE. لا يوجد شيء مثل النسخ المتماثل الكامل لسياق جلسة العمل بين PSNs، فقط مقدار محدود من السمات المشتركة لكل جلسة عمل.
تتمثل الفكرة الرئيسية وراء دليل جلسة العمل الخفيفة في إزالة الحاجة إلى تنفيذ إستدعاءات واجهة برمجة التطبيقات (API) الباهظة للموارد إلى MNT عندما يتعين على إحدى العقد في النشر معرفة من هو مالك جلسة العمل الحالية. يلزم البحث عن المالك غالبا عند بدء تدفق COA. باستخدام LDD يمكن لكل PSN العثور على مالك فعلي للجلسة من ذاكرة التخزين المؤقت المحلية لدليل جلسة عمل Radius.
تحتوي هذه الوظيفة على العناصر التالية:
ملاحظة: توجد مصطلحات ومعمار General RabbitMQ خارج نطاق هذا المستند.
يشرح الشكل كيفية عمل تدفق COA مع ذاكرة التخزين المؤقت ل RSD:
1. تحدث المصادقة الأولية مع PSN1.
2. تم إنشاء ABC لجلسة العمل في ذاكرة التخزين المؤقت لجلسة العمل.
3. يتم حفظ السمات المطلوبة في RSD.
4. جلسة عمل مشتركة عبر RabbitMQ مع جميع عقد ISE الأخرى.
5. يتم إنشاء جلسة العمل في ذاكرة التخزين المؤقت ل RSD على جميع عقد ISE.
6. تصل بيانات ملف التعريف الجديدة إلى PSN2.
7. يتم إعادة تصنيف نقطة النهاية وفي حالة التغيير الذي يتطلب تنفيذ COA، ينتقل PSN2 مع الخطوة التالية.
8. إستدعاء واجهة برمجة تطبيقات (API) داخلي تم تقديمه إلى ذاكرة التخزين المؤقت ل RSD لتنفيذ COA.
9. البيانات من ذاكرة التخزين المؤقت ل RSD المستخدمة لإعداد رسالة COA للوكيل (COA التي تنتقل من عقدة ISE إلى أخرى، تحتوي على جميع التفاصيل التي يمكن أن تستخدمها عقدة الوجهة لإصدار طلب CAO إلى NAD). تم نقل رسالة COA أولا داخليا إلى وقت تشغيل PRRT (خادم AAA الفعلي داخل ISE).
10. يرسل PSN2 رسالة COA إلى PSN1.
11. يرسل PSN1 رسالة COA إلى NAD.
لاستكشاف أخطاء الاتصال عبر LDD وإصلاحها على ISE، يمكنك تمكين مكون Light Session Director في تصحيح الأخطاء:
مثال على رسالة تصحيح الأخطاء من 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]
تعمل مشاركة حالة الوضع بين العقد على حل المشكلة التي تحتوي على عرض مثل "وحدة AnyConnect ISE Posture Module تظهر متوافقة بينما حالة جلسة العمل على ISE معلقة" عندما يكون السبب الجذري إما جلسة عمل Stale/Phantom أو إعادة المصادقة على PSN مختلف بمعرف جلسة عمل أصلي لم يتم تشغيل الاكتشاف. بمجرد أن تصبح الجلسة متوافقة، تضع هذه المعلومات في جلسة RSD، وبعد ذلك يمكن إستخدامها من قبل كل PSN في النشر.
لا تزال هناك بعض الحالات الجانبية الأخرى التي لا يمكن حلها بواسطة الميزة الموصوفة. على سبيل المثال، سيناريو عند تشغيل NAD لإعادة المصادقة على PSN نفسه ولكن بمعرف جلسة مختلف. يمكن التعامل مع مثل هذه السيناريوهات مع أفضل الممارسات الموضحة في هذا المستند.
يوضح الشكل المخطط المستخدم لاختبار مشاركة حالة الوضع:
لإنشاء مصادقة جلسة عمل قديمة تم تنفيذها في البداية على SkgIse26-1 وفيما بعد وتمت إعادة تكوين NAD لإرسال المحاسبة إلى SkgEre-ise26-3. بعد إعادة توجيه رسالة محاسبة إلى PSN NAD الخطأ، تمت إعادة تكوينها مرة أخرى لإرسال عملية المحاسبة مرة أخرى إلى SkoichEre-ise26-1.
يوضح الشكل تقريرا محاسبيا يثبت وجود الجلسة الوهمية على SkoichIse26-3:
1. رسائل بداية المحاسبة التي تمت معالجتها بواسطة SkgEre-ise26-1.
2 - تحديث المحاسبة المؤقت للجلسة نفسها الذي جهزه Skokoere-ise26-3.
3 - وتنتهي الدورة في وقت لاحق في 26-1.
بعد مرور بعض الوقت تتصل نقطة النهاية مرة أخرى بالشبكة ولكن لم تعد عملية إعادة التوجيه تعمل. في 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 مختلف.
يوضح الشكل تقرير مصادقة يوضح تجاوز الفشل للجلسة العادية من SkoichIse26-1 إلى SkoichIse26-3:
1. تتم المصادقة في skochaIse26-1، ويتم تعيين ملف تعريف التفويض مع إعادة التوجيه.
2. COA بعد تقييم الوضع الناجح.
3. المصادقة التالية عند تعيين ملف تعريف التخويل لحالة التوافق.
4. تصيب المصادقة PSN مختلف ولكنها لا تزال تحصل على ملف تعريف التخويل لحالة التوافق.
تحصل الجلسة على حالة التوافق على 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
تم حل المشكلة الأصلية بإضافة منطق إضافي في عملية تحديد حالة الوضع. يوضح الشكل ما تم تغييره (التغييرات التي تم إبرازها باللون الأحمر):
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
2.0 |
31-May-2023 |
تقويم |
1.0 |
22-Apr-2020 |
الإصدار الأولي |