ما هو HSTS؟

click fraud protection

HSTS هو عنوان استجابة أمان الويب. الاسم هو اختصار لعبارة "HTTP Strict Transport Security". تتمثل وظيفة رأس HSTS في إجبار المتصفحات على الاتصال بمواقع الويب باستخدام HTTPS.

نصيحة: يستخدم HTTPS التشفير لتأمين اتصال الويب الخاص بك من المتسللين الذين يحاولون تعديله أو مراقبته. لا يتمتع HTTP بوسائل الحماية هذه ، لذا يمكن للمتسلل الموجود في المكان المناسب مراقبة حركة مرور HTTP وتعديلها.

رأس استجابة الويب هو جزء من البيانات الوصفية التي يرسلها الخادم عندما يستجيب لطلبات الويب. غالبًا ما يشار إلى مجموعة فرعية من هذه الرؤوس برؤوس الأمان لأن الغرض منها هو زيادة أمان موقع الويب والمستخدم.

يتكون رأس HSTS من جزأين إلزاميين وجزئين اختياريين. يعتبر كل من اسم الرأس "Strict-Transport-Security" ثم عامل التشغيل والقيمة "max-age" إلزاميين. يتم أيضًا استخدام زوج آخر من العوامل ، "includeSubDomains" و "preload" في بعض الأحيان.

عندما يتلقى المتصفح استجابة HTTPS برأس HSTS ، يُطلب منه الاتصال بموقع الويب هذا وجميع الموارد الموجودة عليه ، باستخدام HTTPS حصريًا طوال مدة جهاز ضبط الوقت "max-age". "Max-age" هو متغير يصف المدة التي يجب أن يتذكرها المتصفح للإعدادات. يتم سرد قيمة "max-age" بالثواني ، والقيمة الموصى بها هي "31536000" ، وهي سنة واحدة.

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

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

يمنع HSTS أيضًا تحميل أي موارد غير آمنة والتي يمكن أيضًا تعديلها بشكل ضار بواسطة المهاجم إذا تم تسليمها عبر HTTP.

يتم استخدام عامل التشغيل "includeSubDomains" للإشارة إلى أن العنوان يجب أن ينطبق أيضًا على جميع النطاقات الفرعية لموقع الويب.

قائمة التحميل المسبق لـ HSTS

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

نصيحة: يجب إضافة "الحد الأقصى للعمر" لمدة عام أو أكثر إلى قائمة التحميل المسبق لـ HSTS.

مشاكل متعلقة بـ HSTS

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

لسوء الحظ ، يمكن أن يتسبب هذا في حدوث مشكلات إذا قامت الشركة بطرح HSTS قبل موقع الويب بالكامل ، وكل مورد مستخدم عليه يدعم HTTPS. في هذه الحالة ، سيبدأ المستخدمون في رؤية رسائل خطأ أمان HSTS لا يمكنهم تجاوزها ، وهو ما يؤدي بشكل أساسي إلى كسر موقع الويب تمامًا. أسوأ جزء هو أن إزالة رأس HSTS ببساطة لا يصلح المشكلة لهؤلاء المستخدمين ، حيث سيستمر متصفحهم في فرض HSTS لمدة أشهر محتملة "max-age".

على هذا النحو ، من المهم للغاية استخدام "max-age" قصير عند نشر الرأس لأول مرة. إذا كانت هناك أية مشكلات ، فإنها تستمر لفترة قصيرة بمجرد اكتشافها. بمجرد التأكد من أن موقع الويب الخاص بك متوافق تمامًا مع HSTS ، يجب عليك تكوين مؤقت HSTS طويل.

نصيحة: من الممكن أيضًا تعيين "max-age" على 0 ، وهذا يؤدي بشكل أساسي إلى إزالة إدخال HSTS المحفوظ من أي شخص يراه. يمكن أن يساعد هذا في حالة وجود مشكلة ، ولكنه سيؤثر فقط على المستخدمين عندما يقررون المحاولة مرة أخرى وإذا قرروا ذلك.