المقدمة
يصف هذا وثيقة ال transport طبقة أمن (TLS) جلسة إستئناف في cisco هوية خدمة محرك (ISE).
المتطلبات الأساسية
المتطلبات
- معرفة عملية مصافحة أمان طبقة النقل (TLS).
- معرفة تدفق بروتوكول المصادقة المتوسع (PEAP) المحمي
- معرفة محرك خدمات الهوية من Cisco
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية
- Cisco Identity Services Engine، الإصدار 3.2
- الجهاز الظاهري ISE (VM)
- كمبيوتر Windows 10
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
إن إستئناف جلسة TLS هو تقنية تستخدم للقضاء على النفقات الإضافية لمصافحة TLS الأولية. وهي تسمح للعميل والخادم الذي أنشأ جلسة TLS سابقا باستئناف جلسة العمل بدون تكرار عملية المصافحة التي تتطلب موارد كثيرة.
المزايا
- فهو يقلل من زمن الوصول من خلال تجنب خطوات المصافحة الأولية التي تتطلب موارد كثيرة والوقت اللازم للقيام بذلك.
- كما يعمل على تقليل الأحمال الحسابية على الخادم من خلال تخطي عمليات التبادل المكثف للمفاتيح والتحقق من صحة الشهادات.
التكوين
على ISE، لتمكين جلسة TLS، استأنف ل PEAP:
إدارة > نظام > إعدادات > بروتوكولات > PEAP > راجع تمكين إستئناف جلسة PEAP
بشكل افتراضي، يحمل ISE الجلسة ل 7200 ثاني.
إختياريا، يمكنك تمكين إعادة التوصيل السريع، والذي يتخطى على التوالي الأسلوب الداخلي ل PEAP ويسمح حتى بإعادة المصادقة بشكل أسرع. وهو مرغوب فيه في تطبيقات مثل التجوال اللاسلكي.
التكوين الخاص باستئناف جلسة عمل ISE PEAP
يجب أيضا تمكين إعادة الاتصال السريع في المطالب.
هذا التكوين خاص بمطالب Windows الأصلي لتمكين إعادة الاتصال السريع.
تكوين ملتمس Windows 10
هذا تشكيل ل AnyConnect شبكة منفذ وحدة نمطية (NAM) ملف تعريف محرر أن يمكن سريع reconnect.
تكوين AnyConnect NAM
التحقق من الصحة
المصادقة الأولية
في مصادقة PEAP الأولية، يمكنك أن ترى أن حقل معرف جلسة العمل فارغ في Client Hello أثناء مصافحة TLS.
مصافحة TLS الأولية
يرد ISE مع Server Hello، والذي يتضمن معرف الجلسة 869175266faf4eec5fb4334f819e25221fa0cf3cbf0e45806369063dba59207 مع الشهادة ومفتاح الخادم.
Initial Server Hello مع معرف الجلسة
في السجل prrt-server.log، يمكنك رؤية رسائل المصافحة مع معرف الجلسة، وأنه قد تم الاحتفاظ بها في ذاكرة التخزين المؤقت.
Crypto,2024-02-12 19:13:20,542,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS LOG: where: (0x2001), ssl state (0x14), ret: 1, long string: SSLv3/TLS read client hello,SSLConnection.cpp:4495
Crypto,2024-02-12 19:13:20,542,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS log: TLS_NOTIFY received client hello message,SSLConnection.cpp:4498
Crypto,2024-02-12 19:13:20,542,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Call TLS Notify Callback, event 5,SSLConnection.cpp:4510
Eap,2024-02-12 19:13:20,542,DEBUG,0x7f8f923fc700,cntx=0000452308,sesn=labpan01/494696177/7940,CPMSessionID=0A6A25D0000000100030EDBC,user=host/LABPCSK.vmlab.local,CallingStationID=B4-96-91-26-DE-2E,FramedIPAddress=10.106.37.25,CLIENT HELLO, new session,EapTlsProtocol.cpp:1463
Eap,2024-02-12 19:13:20,542,DEBUG,0x7f8f923fc700,cntx=0000452308,sesn=labpan01/494696177/7940,CPMSessionID=0A6A25D0000000100030EDBC,user=host/LABPCSK.vmlab.local,CallingStationID=B4-96-91-26-DE-2E,FramedIPAddress=10.106.37.25,Session id
0000: 86 91 75 26 6f af 4e ec 5f b4 33 4f 81 9e 25 22 ..u&o.N._.3O..%"
0010: 1f a0 cf 3c bf 0e 45 88 06 36 90 63 db a5 92 07 ...<..E..6.c.... ,EapTlsProtocol.cpp:1473
Crypto,2024-02-12 19:13:20,542,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS LOG: where: (0x2001), ssl state (0x16), ret: 1, long string: SSLv3/TLS write server hello,SSLConnection.cpp:4495
Crypto,2024-02-12 19:13:20,542,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS log: TLS_NOTIFY sent server hello message,SSLConnection.cpp:4498
Crypto,2024-02-12 19:13:20,542,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Call TLS Notify Callback, event 9,SSLConnection.cpp:4510
Crypto,2024-02-12 19:13:20,543,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS LOG: where: (0x2001), ssl state (0x17), ret: 1, long string: SSLv3/TLS write certificate,SSLConnection.cpp:4495
Crypto,2024-02-12 19:13:20,543,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS log: TLS_NOTIFY sent server certificate,SSLConnection.cpp:4498
Crypto,2024-02-12 19:13:20,543,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Call TLS Notify Callback, event 11,SSLConnection.cpp:4510
Crypto,2024-02-12 19:13:20,581,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS LOG: where: (0x2001), ssl state (0x18), ret: 1, long string: SSLv3/TLS write key exchange,SSLConnection.cpp:4495
Crypto,2024-02-12 19:13:20,581,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS log: TLS_NOTIFY sent server key exchange message,SSLConnection.cpp:4498
Crypto,2024-02-12 19:13:20,581,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Call TLS Notify Callback, event 13,SSLConnection.cpp:4510
Crypto,2024-02-12 19:13:20,581,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS LOG: where: (0x2001), ssl state (0x1a), ret: 1, long string: SSLv3/TLS write server done,SSLConnection.cpp:4495
Crypto,2024-02-12 19:13:20,581,DEBUG,0x7f8f923fc700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS log: TLS_NOTIFY sent server done message,SSLConnection.cpp:4498
Crypto,2024-02-12 19:13:20,737,DEBUG,0x7f8f91df9700,NIL-CONTEXT,shutting session id
0000: 86 91 75 26 6f af 4e ec 5f b4 33 4f 81 9e 25 22 ..u&o.N._.3O..%"
0010: 1f a0 cf 3c bf 0e 45 88 06 36 90 63 db a5 92 07 ...<..E..6.c.... ,SSLConnection.cpp:337
Crypto,2024-02-12 19:13:20,737,DEBUG,0x7f8f91df9700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.pvDone - session is being preserved in cache,SSLConnection.cpp:355
بعد ذلك، يستجيب العميل باستخدام برنامج Client Key Exchange ومعايير تغيير التشفير.
تبادل مفتاح العميل وسمات أخرى
وأخيرا، يستجيب الخادم أيضا مع اكتمال مواصفات تشفير التغيير ومصافحة TLS.
تغيير مواصفات التشفير من جانب الخادم
في خطوات سجل RADIUS المباشر، يمكنك أن ترى أن مصافحة TLS الكاملة تحدث أثناء المصادقة الأولى.
خطوات تأكيد اتصال RADIUS Live TLS
كما يقوم الأسلوب الداخلي بتنفيذ مصادقة بروتوكول Microsoft Challenge Handshake Authentication Protocol (MSCHAPv2) بالكامل.
خطوات الأسلوب الداخلي لسجل RADIUS Live
أثناء إعادة المصادقة
أثناء إعادة المصادقة، يرسل العميل معرف الجلسة نفسها 869175266faf4eec5fb4334f819e25221fa0cf3cbf0e45806369063dba59207 في Client Hello الذي تعلم من المصادقة الأولية.
ترحيب العميل أثناء إستئناف جلسة العمل
بعد ذلك، يؤكد ISE أن معرف جلسة العمل هذا موجود في ذاكرة التخزين المؤقت لجلسة طبقة مأخذ التوصيل الآمنة (SSL) وكلاهما يمر بما يعرف باسم تأكيد اتصال TLS المختصر. لا يتم تبادل أي شهادة أو معلومات مفتاح أثناء مصافحة TLS المختصرة ويتم إعادة إستخدام المفاتيح التي تم التفاوض عليها مسبقا.
إستئنافا ل Server Hello في جلسة العمل
في prrt-server.log، يمكنك أن ترى أنه بعد إستلام Client Hello، أكد ISE أنه يتم إعادة إستخدام جلسة العمل ويتجاوز الشهادة وتبادل المفاتيح.
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS LOG: where: (0x2001), ssl state (0x14), ret: 1, long string: SSLv3/TLS read client hello,SSLConnection.cpp:4495
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS log: TLS_NOTIFY received client hello message,SSLConnection.cpp:4498
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Call TLS Notify Callback, event 5,SSLConnection.cpp:4510
Eap,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,cntx=0000452772,sesn=labpan01/494696177/7949,CPMSessionID=0A6A25D0000000110043ACB0,user=host/LABPCSK.vmlab.local,CallingStationID=B4-96-91-26-DE-2E,FramedIPAddress=10.106.37.25,CLIENT HELLO, session reused,EapTlsProtocol.cpp:1463
Eap,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,cntx=0000452772,sesn=labpan01/494696177/7949,CPMSessionID=0A6A25D0000000110043ACB0,user=host/LABPCSK.vmlab.local,CallingStationID=B4-96-91-26-DE-2E,FramedIPAddress=10.106.37.25,Session id
0000: 86 91 75 26 6f af 4e ec 5f b4 33 4f 81 9e 25 22 ..u&o.N._.3O..%"
0010: 1f a0 cf 3c bf 0e 45 88 06 36 90 63 db a5 92 07 ...<..E..6.c.... ,EapTlsProtocol.cpp:1473
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS LOG: where: (0x2001), ssl state (0x16), ret: 1, long string: SSLv3/TLS write server hello,SSLConnection.cpp:4495
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS log: TLS_NOTIFY sent server hello message,SSLConnection.cpp:4498
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Call TLS Notify Callback, event 9,SSLConnection.cpp:4510
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS LOG: where: (0x2001), ssl state (0x23), ret: 1, long string: SSLv3/TLS write change cipher spec,SSLConnection.cpp:4495
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS log: TLS_NOTIFY sent change cipher spec message,SSLConnection.cpp:4498
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Call TLS Notify Callback, event 1,SSLConnection.cpp:4510
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS LOG: where: (0x2001), ssl state (0x24), ret: 1, long string: SSLv3/TLS write finished,SSLConnection.cpp:4495
Crypto,2024-02-12 19:33:48,821,DEBUG,0x7f8f925fd700,NIL-CONTEXT,Crypto::Result=0, Crypto.SSLConnection.tlsNotifyLog - TLS log: TLS_NOTIFY sent finished message (server is ready to finish handshake),SSLConnection.cpp:4498
وأخيرا، يستجيب العميل أيضا مع تغيير مواصفات التشفير وإكمال ميزة مصافحة TLS.
إستئناف جلسة عمل مواصفات تشفير تغيير العميل
في خطوات سجل RADIUS المباشر، يمكنك أن ترى أن مصافحة TLS المختصرة تحدث أثناء إعادة المصادقة.
خطوات إستئناف جلسة عمل RADIUS Live Log TLS
في إعادة المصادقة، يمكنك أن ترى أن الأسلوب الداخلي تم تخطيه.
إعادة الاتصال السريع ب PEAP لسجل RADIUS Live
الأسئلة المتكررة
1) هل يتم إستئناف جلسة العمل وإعادة الاتصال بسرعة بشكل مستقل عن بعضها البعض؟
نعم، إعادة الاتصال السريع ميزة إختيارية يتم فيها تجاوز الطريقة الداخلية للمصادقة. ليس إلزاميا تمكين إعادة الاتصال السريع عند تمكين "إستئناف جلسة العمل".
2) هل يؤدي تمكين الجلسة المستأنفة إلى أي مخاطر أمنية؟
يقوم الخادم بتعيين معرف جلسة عمل عشوائي أثناء المصافحة الأولية مع المستعرض (العميل). يقوم العميل والخادم بتخزين معرف جلسة العمل هذه بالإضافة إلى مفاتيح جلسة العمل وحالات الاتصال. لاستئناف جلسة عمل، يرسل العميل معرف جلسة العمل المخزنة مع رسالة البروتوكول الأولى (ClientHello) إلى الخادم. إذا تعرف الخادم على الاتصال وكان مستعدا لاستئناف الجلسة، فإنه يرد بنفس معرف الجلسة لإعادة إنشاء الجلسة المقابلة. وهذا يسمح بإنشاء اتصال آمن بسرعة ودون فقد للأمان نظرا لأنك تقوم بإعادة إستخدام بيانات جلسة العمل التي تم التفاوض عليها مسبقا.
3) هل تنسخ معرفات جلسات عمل TLS إلى عقد أخرى؟
ما من، ال TLS جلسة IDs مخزن على ال PSN نفسه. ولا يكرر إلى PSNs أخرى. في حالة إعادة التشغيل أو إعادة تشغيل الخدمة ل PSN، يمكن فقد جميع معرفات جلسات العمل من ذاكرة التخزين المؤقت ويجب أن يحدث مصافحة TLS الكاملة في المرة التالية.