OpenVPN يُسقط جلسة OTP لاحقًا: ما تحتاجه إعادة المصادقة
الجلسة التي تنقطع بعد ساعة تكون عادةً إعادة مفاتيح تطلب رمزًا استُخدم بالفعل. اختر بين رمز يصدره الخادم وتحدٍّ تفاعلي جديد.
من جهة العميل يبدو الأمر كقطع اتصال عشوائي بعد ساعة من جلسة تعمل. تختفي أيقونة شريط النظام، وتُعاد بناء النفق، ويُظهر السجل فشل مصادقة بدلًا من خطأ شبكة. ما حدث فعلًا هو أن الجلسة أعادت التفاوض واحتاج المصافحة الثانية إلى بيانات اعتماد لم يعد لدى العميل نسخة صالحة منها. الرمز الذي يُستخدم مرة واحدة ونجح عند تسجيل الدخول لا يمكن أن ينجح مرة أخرى، لذا تفشل إعادة المفاتيح تمامًا كما صُمّم.
الإصلاح قرار بشأن ما ينبغي أن تقدّمه المصافحة الثانية، لا مؤقّت إعادة محاولة أطول.
تتبّع التبادل من وجهة نظر العميل
عند تسجيل الدخول يرسل العميل اسم المستخدم وكلمة المرور ورمزًا من جهاز الرمز، ويقبل الخادم هذا المزيج. ثم تعمل الجلسة حتى يُطلق محفّز إعادة تفاوض، يبدأ مصافحة TLS جديدة داخل النفق القائم. تطلب تلك المصافحة المصادقة مرة أخرى. وإذا كان مسار المصادقة على الخادم يتوقع كلمة مرور مع رمز لمرة واحدة سارٍ، فلا يملك العميل رمزًا جديدًا يقدّمه إلا إذا كان المستخدم حاضرًا ليكتبه.
معظم العملاء لا يفتحون نافذة مطالبة في منتصف الجلسة، لذا تنتهي مهلة المصافحة ويسقط النفق. يرى المستخدم إعادة اتصال، لا مطالبة مصادقة، ولهذا يلوم التقرير الأول الشبكة عادةً.
يغيّر auth-gen-token الجهة التي تجيب عن السؤال الثاني
auth-gen-token يتيح للخادم إصدار رمز بعد تسجيل دخول ناجح، ثم تعرض إعادات التفاوض اللاحقة ذلك الرمز بدلًا من تكرار كلمة المرور والرمز. يوثّق الدليل عمره وسلوك تجديده، ويجب التعامل مع الرمز كبيان اعتماد له انتهاء صلاحية خاص به. في المسار الافتراضي يتحقق الخادم من الرمز بنفسه بدلًا من استدعاء مصادق كلمة المرور الخارجي مرة أخرى.
مع تكامل مصادقة خارجي، يتغيّر هذا التقسيم. على الإضافة أن تفهم حالة الرمز وتطبّق فحوصها الخاصة، لأن الخادم لم يعد المكوّن الوحيد الذي يقرّر استمرار الجلسة. التعامل مع الرمز كرمز رقمي آخر لمرة واحدة ليس تنفيذًا للميزة.
قرّر ما يحدث لحالة الحساب
الرمز الذي يبقى صالحًا بعد انتهاء وصول الحساب ثغرة في السياسة. قرّر كيف يسري تعطيل حساب أو إزالة عضوية مجموعة أو إبطال جهاز بينما الرمز لا يزال صالحًا. أعمار الرموز القصيرة تصغّر النافذة؛ ومسار الإبطال الصريح يجعلها مقصودة. اكتب الإجابة قبل تفعيل الخيار، لأن المسار الافتراضي لا يستشير المصادق الخارجي عند كل إعادة تفاوض.
في نشر متعدد الخوادم، يجب مشاركة سر توقيع الرموز، وإلا فقد يُرسَل العميل إلى عقدة لا تستطيع التحقق من رمزه.
اختبر الانتهاء وإعادة الاتصال، لا تسجيل الدخول فقط
اخفض فترة إعادة التفاوض في ملف تعريف اختباري كي تحدث المصافحة الثانية وأنت تشاهد، ثم تابع السجلين. تأكد من أن الرمز يُصدر عند تسجيل الدخول، ويُعرض عند إعادة المفاتيح، ويُجدَّد أو يُعاد إصداره وفق العمر المهيّأ. ثم افرض انتهاء صلاحية الرمز وإعادة اتصال كاملة، لأن عميلًا يعيد الاتصال بنظافة قد يفشل مع ذلك في مسار إعادة المفاتيح.
اختبر إزالة الحساب أخيرًا. تلك الحالة تخبرك هل السياسة التي كتبتها مطبَّقة أم موثّقة فقط.
لا تصلحه بتعطيل التجديد
ضبط فترة إعادة التفاوض على صفر عند الطرفين يزيل العَرَض ومعها تدوير المفاتيح. هذا يخفي مشكلة إعادة استخدام بيانات اعتماد خلف تغيير سياسة لم يراجعه أحد. أبقِ التجديد، واختر بين رمز يصدره الخادم وتحدٍّ تفاعلي جديد بناءً على وجود مستخدم.
المؤقّت الأطول لإعادة المحاولة لا يجعل رمزًا مستهلكًا صالحًا مرة أخرى. إنه يؤخر القطع فقط ويجعل السجل أصعب قراءة.