تنتج آليتان النتيجة الودودة نفسها على جهاز Mac، لكنهما تتصرفان في العمق على نحو مختلف تماماً. تحصل إحداهما على تذاكر Kerberos عبر امتداد SSO وتسلّمها إلى التطبيقات المشاركة. تحتفظ الأخرى بجلسة متصفح لدى مزوّد هوية وتدع تطبيقات الويب تعتمدها. تختلفان في ما تحتاجانه على الشبكة، وفي مدة صلاحية بيانات الاعتماد، وفي ما يحدث في لحظة سقوط النفق.

آليتان، وشاشة دخول واحدة

يعتمد المسار القائم على التذاكر على نطاق Kerberos ومركز توزيع المفاتيح وساعة تتوافق معه. أما مسار المتصفح فيعتمد على مزوّد هوية يمكن الوصول إليه، وعلى ملف تعريف ارتباط أو رمز، وعلى تطبيق يثق بذلك المُصدِر. يمكن ضبط كليهما ليبدآ عند تسجيل الدخول، ولهذا يُخلط بينهما كأنهما الميزة نفسها. التطبيقات هي التي تقرر أيّهما تقبل، ويمكن لجهاز Mac أن يشغّل الاثنين معاً بشكل مشروع.

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

ما يحتاجه امتداد Kerberos على الشبكة

يصف دليل امتداد Kerberos SSO من Apple مصادقة Active Directory الأصلية مع حصول استباقي على التذاكر، مقترنة بحسابات محلية بدل ربط النطاق. ما لا يستطيعه هو اختراع مسار إلى وحدات التحكم بالنطاق. يحتاج جهاز Mac إلى مُحلِّل يجيب عن سجلات خدمة Kerberos، وإلى مسار يصل إليها عبر النفق المعتمد. الملف التعريفي الذي يُثبَّت بنجاح لا يثبت شيئاً حتى يمكن اكتشاف النطاق فعلياً من العميل.

افحص الاكتشاف قبل أن تفحص بيانات الاعتماد: يجب أن تُحلَّ سجلات SRV الخاصة بنطاق Kerberos، ويجب أن تكون العناوين التي تعيدها قابلة للوصول بمجرد تشغيل VPN. الوقت لا يقل أهمية عن إمكانية الوصول، لأن Kerberos يرفض الطلبات من ساعة انحرفت خارج حدود التسامح، والخطأ الذي ينتجه يبدو كفشل في المصادقة. الجهاز الذي لا يستطيع الوصول إلى مصدر وقت أثناء تعطل النفق سيفشل مجدداً في لحظة عودته. أصلح مصدر الوقت كجزء من النشر لا كاستجابة لحادث.

klist
sudo sntp -sS time.apple.com

VPN لكل تطبيق يحدد ما إذا كان الامتداد سيعمل

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

اقرأ إعداد VPN واسرد كل تطبيق يُفترض أن يغطيه، ثم أضف مكوّن SSO عبر آلية التعيين الموثقة بدل تخمين معرّف حزمة. تعيين العميل الظاهر وليس المكوّن الذي خلفه هو النسخة الكلاسيكية من هذا الخطأ. أبقِ التعيين في الملف التعريفي المُدار نفسه الذي يحوي الامتداد، حتى لا يبطل تغيير أحدهما الآخر بصمت. اختبر بمستخدم لم يسجل الدخول قط على ذلك الجهاز، لأن تذكرة مخزّنة مؤقتاً قد تجعل مساراً معطلاً يبدو سليماً، ثم اختبر مجدداً بعد تغيير كلمة المرور.

جلسة هوية المتصفح عقد مختلف

لا تملك جلسة المتصفح نطاق Kerberos، ولا تذكرة خدمة، ولا تسامحاً زمنياً بالمعنى الكيربيروسي. لديها مُصدِر، وعمر رمز، ومسار تجديد، وأنماط فشلها هي إعادات توجيه لا تكتمل أبداً وملفات ارتباط تتجاهلها النافذة الخاصة. التعامل معها كبديل لمسار التذاكر آمن فقط حيث يقبل التطبيق نفسه ذلك المُصدِر. نسخ استجابة مصادقة من بوابة VPN إلى خدمة غير ذات صلة ليس تكاملاً، مهما بدا الاختصار مريحاً.

عندما تُنشر الآليتان معاً، وثّق أي التطبيقات يستخدم أيّهما، لأن محادثة الدعم تعتمد على ذلك. المستخدم الذي يقول إنه مسجّل الدخول لكنه لا يستطيع فتح مشاركة ملفات يصف نظامين، والجواب أن مسار التذاكر لم يعمل قط. والمستخدم الذي يفتح المشاركة لكن ليس بوابة الإنترانت يصف العكس، وتسمية الآلية في التذكرة توفر جولة من الأسئلة.

امشِ التسلسل، لا الأجزاء

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

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

سجّل مالك كل مرحلة أيضاً، لأن نطاق Kerberos لا يعتني به أحد يصبح نطاقاً قديماً. سلسلة لا يستطيع أحد وصفها هي سلسلة لا يستطيع أحد تشخيصها.

مقالات ذات صلة