الآلية التي تتّبعها بي بي سي لطرح آلية HSTS لتحسين مستوى الأمان والأداء

تعمل شبكة BBC على طرح آلية HSTS لموقعها الإلكتروني لتحسين مستوى الأمان والأداء. يمكنك الاطّلاع على معنى ذلك وكيف يمكن لآلية HSTS مساعدتك.

تزايد استخدام بروتوكول HTTPS بشكل مطرد في السنوات الأخيرة. وفقًا لتقويم الويب لعام 2021 في أرشيف HTTP لعام 2021، تم عرض حوالي 91% من جميع الطلبات على أجهزة الكمبيوتر المكتبي والأجهزة الجوّالة عبر HTTPS. ولن يبقى بروتوكول HTTPS متوفّرًا فقط، بل هو شرط أساسي ضروري لاستخدام ميزات مثل مشغّل الخدمات والبروتوكولات الحديثة مثل HTTP/2 وHTTP/3.

شارك نيل كريغ مؤخرًا، وهو مهندس تقني رئيسي في قناة BBC، تغريدة بشأن تطبيق "الأمان المشدَّد لنقل البيانات باستخدام بروتوكول HTTP" (HSTS) على الموقع الإلكتروني bbc.com. لنتعرّف على ما يعنيه ذلك بالنسبة إلى شبكة BBC، وما قد يعنيه بالنسبة إليك.

المشكلة

غالبًا ما تستمع خوادم الويب إلى الطلبات الموجودة على كل من المنفذين 80 و443. المنفذ 80 مخصّص لطلبات HTTP غير الآمنة، في حين أنّ المنفذ 443 مخصّص لطلبات HTTPS الآمنة. ويمكن أن يؤدي ذلك إلى حدوث مشكلة، لأنّه عند إدخال عنوان في شريط العناوين بدون بادئة البروتوكول https://، كما يميل معظم المستخدمين، توجّه بعض المتصفّحات الزيارات إلى إصدار HTTP غير الآمن من أحد المواقع الإلكترونية، وذلك لأسباب قديمة (على الرغم من أنّ هذه الحالة ليست دائمًا).

هناك طريقة شائعة لضمان عدم وصول المستخدمين إلى إصدار غير آمن من أحد المواقع الإلكترونية هي إجراء إعادة توجيه من HTTP إلى HTTPS لجميع الطلبات. من المؤكد أن هذا الإجراء يعمل، ولكنه يبدأ سلسلة الأحداث التالية:

  1. يتلقى الخادم طلبًا عبر HTTP.
  2. يصدر الخادم عملية إعادة التوجيه للانتقال إلى مكافئ HTTPS للمورد المطلوب.
  3. يجب أن يتفاوض الخادم عبر HTTPS لاتصال آمن مع المتصفح.
  4. يتم تحميل المحتوى كالمعتاد.

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

إدخال HSTS

التوافق مع المتصفح

  • 4
  • 12
  • 4
  • 7

المصدر

تستند آلية HSTS إلى عنوان استجابة HTTP Strict-Transport-Security لطلبات HTTPS. في حال ضبط هذه السياسة، ستؤدي زيارات الإرجاع إلى موقع إلكتروني إلى بدء عملية إعادة توجيه خاصة تُعرَف باسم "إعادة التوجيه الداخلية 307"، والتي تحدث عندما يتعامل المتصفّح مع منطق إعادة التوجيه، بدلاً من الخادم. ويمنع هذا اعتراض الطلب، لأنه لا يغادر المتصفح مطلقًا، لذا يكون أكثر أمانًا. كمكافأة إضافية، هذه الأنواع من عمليات إعادة التوجيه سريعة للغاية، لذا سيتم التخلص من أي وقت استجابة ملحوظ أثناء قفزة من HTTP إلى HTTPS.

إعادة توجيه داخلية 307 من HTTP إلى HTTPS يشغّلها عنوان HSTS لا تستغرق عملية إعادة التوجيه 307 سوى ملي ثانية.

يشبه عنوان HSTS التوجيه max-age في بنية Cache-Control.max-age يأخذ هذا التوجيه قيمة بالثواني وتحدّد مدة سريان السياسة في ما يلي:

Strict-Transport-Security: max-age=3600

في المثال أعلاه، من المفترض أن تسري السياسة لمدة ساعة فقط.

نشر HSTS

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

اتّبعت شبكة BBC النهج الصحيح لنشر آلية HSTS. كما ذكر نيل كريغ في تغريدته، كانت القيمة الأولية التي تم ضبطها للموقع الإلكتروني bbc.com هي max-age=10.

يعني هذا النهج أنّ السياسة لم تكن سارية سوى في البداية لمدة عشر ثوانٍ فقط. وهذا لا يوفر الكثير من الفوائد، ولكن الفكرة هي معرفة ما إذا كانت هناك مشاكل في تطبيق HSTS على الإطلاق. وبمرور الوقت، يمكنك زيادة السياسة تدريجيًا ومعرفة ما إذا كانت هناك مشاكل. في وقت كتابة هذا التقرير، يحدد bbc.com سياسة HSTS لـ max-age=86400، ومن المؤكد أن ذلك سيزيد بمرور الوقت.

أنت بالتأكيد لا تريد الخروج من البوابة باستخدام قيمة max-age طويلة عند نشر HSTS. قد تجد نفسك تكافح فجأة لإصلاح المشكلات بينما يواجه المستخدمون مشكلات. ابدأ بشيء صغير، ثم ارفع مع مرور الوقت. وعندما تتأكّد من أنّ كل شيء على ما يرام، يمكنك ضبط التوجيه max-age على فترة زمنية أطول. ويُنصح بضبط max-age على سنة أو سنتَين عند طرحه بالكامل.

يمكنك إجراء عمليات تنقّل مبدئية أكثر أمانًا وسرعة باستخدام قائمة التحميل المُسبق لآلية HSTS.

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

تجربة الميزة بنفسك

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