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

يصبح القرار أسهل إذا توقفت عن السؤال هل الشبكة موثوقة وبدأت تسأل أي تبادل يعبر أي حد.

قرّر بحسب المقطع، لا بحسب الشبكة

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

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

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

استجابة التفويض ومعرّف إعادة التوجيه

تحرّم أفضل الممارسات الأمنية الحالية في OAuth إرسال استجابات التفويض عبر اتصالات غير مشفّرة. ويشمل ذلك إعادة التوجيه التي تحمل رمز التفويض أو الرموز عائدة إلى العميل، لا الطلب الأولي فحسب.

ويحظر الإرشاد نفسه معرّفات إعادة التوجيه من نوع HTTP، إلا في حالة الاسترجاع المحددة للعميل الأصيل. ولا ينشئ اسم مضيف داخلي استثناءً جديداً، واسم DNS الذي لا يُحلّ إلا داخل شبكة VPN يظل عنوان URL من نوع HTTP إذا قال المخطط ذلك. افحص المخطط في المعرّف المسجَّل، لا اسم المضيف وحده.

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

نقطة نهاية الرمز وطلبات الرمز الحامل

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

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

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

أين ينتهي TLS وما الذي يتركه ذلك

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

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

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

استثناء الاسترجاع الأصيل ضيّق

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

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

اختبر التدفق الفعلي عند كل حد وقارنه بنوع العميل. فإعادة توجيه ناجحة لا تقول شيئاً عن هل كل مقطع حمل رمزاً استخدم الحماية المطلوبة، وأيقونة VPN خضراء لا تقول شيئاً عن مخطط الطلب التالي.

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