الوصول إلى الشبكة الخاصة: حماية موسّعة للعاملين على الويب وعمليات جلب التنقّل

Jonathan Hao
Jonathan Hao

ما هو "الوصول إلى الشبكة الخاصة"؟

الوصول إلى الشبكة الخاصة (PNA، المعروفة سابقًا باسم CORS-RFC1918 والمختصرة باسم Local Network Access) هي ميزة أمان تحدّ من قدرة المواقع الإلكترونية على إرسال طلبات إلى الخوادم على الشبكات الخاصة. يساعد ذلك في حماية المستخدمين والشبكات الداخلية من الهجمات المحتمَلة، مثل هجمات تقليد الطلبات من موقع إلكتروني مختلف (CSRF). يعمل Chrome على تنفيذ ميزة "الوصول الموحّد للبريد الإلكتروني" تدريجيًا، وسيتم توسيع نطاق الحماية في الإصدارات القادمة.

إجراءات حماية PNA الرئيسية (مع حالتها الحالية)

  • السياقات الآمنة: يُسمح فقط بالسياقات الآمنة بتقديم طلبات الموارد الفرعية للشبكة الخاصة (تم فرضها اعتبارًا من الإصدار 94 من Chrome). يُرجى الرجوع إلى مقالتنا حول تحديث "الوصول إلى الشبكة الخاصة" للاطّلاع على التفاصيل.
  • الطلبات المبدئية: يُرسِل Chrome الطلبات المبدئية قبل طلبات الموارد الفرعية للشبكة الخاصة للتحقّق من أذونات الخادم (تظهر تحذيرات في "أدوات مطوّري البرامج" بشأن حالات الفشل منذ الإصدار 104 من Chrome، وسيتم فرضها في الإصدار 130). وقد تم وصف ذلك في مقالة الوصول إلى الشبكة الخاصة: تقديم الطلبات المبدئية. منذ الإصدار 123 من Chrome، سيحذف Chrome بعض عناوين CORS، مثل Accept، إذا تم إنشاء عملية التحقّق من الإعدادات وإرسالها فقط بسبب PNA.
  • الإعفاءات من قيود الوصول إلى الموارد من مصدر موثوق: منذ الإصدار 115 من Chrome، تم إعفاء طلبات الوصول إلى الموارد من مصدر موثوق من قيود الوصول إلى الموارد من مصدر غير موثوق.

الحماية الموسّعة: مهام تطبيقات الويب

ستتوفّر حماية PNA لمشغّلات الويب (المشغّلات المخصّصة والمشغّلات المشتركة ومشغّلات الخدمات). يشمل ذلك ما يلي:

  • جلب نصوص عامل التشغيل: يتطلب هذا الإجراء السياقات الآمنة وعمليات التحقّق المُسبَق لعناوين IP الأقلّ استخدامًا. التحذيرات منذ الإصدار 110 من Chrome، والتي سيتم فرضها في الإصدار 130 من Chrome
  • عمليات الجلب التي تبدأها نصوص العامل: تلتزم جميع عمليات الجلب من نصوص العامل بقواعد PNA نفسها.

بدءًا من الإصدار 124 من Chrome، يمكنك اختبار إجراءات التنفيذ باتّباع الخطوات التالية:

  • إيقاف chrome://flags/#private-network-access-ignore-worker-errors
  • تفعيل chrome://flags/#private-network-access-respect-preflight-results

الحماية الموسّعة: عمليات جلب التنقّل

تنطبق PNA أيضًا على عمليات جلب التنقّل (إطارات iframe والنوافذ المنبثقة) بسبب إمكانية استخدامها في هجمات CSRF. بدأ الإصدار 123 من Chrome بعرض تحذيرات بشأن حالات الفشل، ومن المخطّط أن يتم فرض هذه الميزة في الإصدار 130 من Chrome.

بدءًا من الإصدار 124 من Chrome، يمكنك اختبار إجراءات التنفيذ من خلال:

  • إيقاف chrome://flags/#private-network-access-ignore-navigation-errors
  • تفعيل chrome://flags/#private-network-access-respect-preflight-results

عندما تحظر PNA طلب تنقّل، ستظهر للمستخدمين رسالة خطأ معيّنة تتضمّن خيار إعادة التحميل يدويًا والسماح بالطلب.

عندما تحظر PNA طلب تنقّل، ستظهر للمستخدمين رسالة خطأ معيّنة تتضمّن خيار إعادة التحميل يدويًا والسماح بالطلب.
عندما تحظر PNA طلب تنقّل، سيظهر للمستخدمين خطأ محدّد يتيح لهم إعادة التحميل يدويًا والسماح بالطلب.

ما الذي يجب فعله إذا كان موقعك الإلكتروني متأثرًا؟

تتضمّن المشاركة الوصول إلى الشبكة الخاصة: تقديم الطلبات المبدئية إرشادات. في ما يلي ملاحظات مهمة بشأن طلبات التنقّل:

  • لا يمكن أن يكون Access-Control-Allow-Origin حرف بدل ("*").
  • يجب ضبط Access-Control-Allow-Credentials على "true".

ما هي الخطوات التالية؟

  • WebSockets: اعتبارًا من الإصدار 126 من Chrome، ستغطي ميزة "فحص المحتوى غير القابل للتقديم أو الإيقاف" عمليات تأكيد الاتصال بخادم WebSocket (التحذيرات أولاً).
  • فرض القيود بالكامل: سيتم فرض جميع القيود المتعلقة بسياسة PNA (حظر الطلبات غير الممتثلة) بشكل مؤقت في الإصدار 130 من Chrome. سيكون لدى المستخدمين إعداد موقع إلكتروني لإلغاء ميزة "الوصول الموحّد للبريد الإلكتروني" للمواقع الإلكترونية الموثوق بها.

ملاحظات حول حالات استخدام الشبكة الخاصة

إذا كنت تستضيف موقعًا إلكترونيًا على شبكة خاصة يحتاج إلى طلبات من الشبكات العامة، يُرجى إرسال ملاحظاتك إلى فريق Chrome. يُرجى إرسال مشكلة إلى أداة تتبُّع مشاكل Chromium (المكوّن: Blink>SecurityFeature>CORS>PrivateNetworkAccess).

صورة ياكوب جيرزيتشيك على Unsplash