HSTS بالتفصيل: max-age وpreload وما الذي يتعطّل
آخر تحديث 2026-11-03 · 6 دقيقة قراءة
HSTS هي ترويسة الأمان الوحيدة القادرة على جعل الموقع غير قابل للوصول — حتى لمالكه. وهي أيضًا شرط لـ A+. المسافة بين هاتين الحقيقتين تتعلق بالكامل بانضباط الطرح.
ما تفعله الترويسة فعليًا
تخبر Strict-Transport-Security المتصفح بأن هذا المضيف يجب أن يُتصل به عبر HTTPS فقط خلال N ثانية القادمة. بمجرد استلامها يعيد المتصفح كتابة روابط http:// الداخلية، ويمنع النقر لتجاوز خطأ الشهادة، ويرفض HTTP الصريح تمامًا — قبل أن يغادر أي طلب الجهاز.
لهذا تحمي من هجمات التخفيض التي لا تستطيع إعادة التوجيه صدّها: إعادة التوجيه ما زالت ترسل الطلب الأول بنص صريح، وذلك بالتحديد هو الطلب الذي يريد مهاجم على الشبكة اعتراضه.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age عدّاد تنازلي لا يمكنك إلغاؤه
يُخزَّن max-age على العميل. إذا قدّمت سنة ثم أزلت الترويسة، فكل متصفح رآها سيبقى يفرض HTTPS حتى سنة. لا يوجد مفتاح على الخادم لإيقافه.
يعتبر CertH أن 180 يومًا (15552000 ثانية) هي حد A+. السنة هي القيمة الإنتاجية المعتادة. ما دون 180 يومًا يبقى محسوبًا كـ HSTS مُفعّل في الملخص، لكنه لا يفتح A+.
includeSubDomains وpreload قراران منفصلان
توسّع includeSubDomains القاعدة لتشمل كل نطاق فرعي. إن وُجد نطاق فرعي واحد يتحدث HTTP فقط — أداة داخلية، لوحة إدارة قديمة، مضيف staging — فسيصبح غير قابل للوصول لكل من زار النطاق الأب. راجع DNS أولًا.
تذهب preload أبعد: يُدرج النطاق في قائمة تُشحن مع المتصفحات، فتُطبَّق القاعدة منذ الزيارة الأولى قبل رؤية أي ترويسة. الإزالة تستغرق أشهرًا وتتطلب تقديمًا إلى قائمة الإزالة. لا تضف preload حتى تستقر الترويسة عدة أشهر على الأقل.
- •قدّم الترويسة في كل استجابة HTTPS، بما فيها صفحات الخطأ — استجابة 404 بدونها لا تعلّم المتصفح شيئًا.
- •لا ترسل HSTS عبر HTTP الصريح أبدًا؛ المتصفحات تتجاهلها وفق المواصفة، لذا لا يمكن إصلاح حلقة إعادة توجيه خاطئة بهذه الطريقة.
- •افحص النطاقات الفرعية بحثًا عن خدمات HTTP فقط قبل إضافة includeSubDomains.
- •أضف preload أخيرًا، وفقط بعد أن يبقى max-age عند سنة لفترة.
طرح لا يُعطّل شيئًا
ابدأ بـ max-age قصير كي ينتهي الخطأ سريعًا: max-age=300. أبقِه أسبوعًا وراقب النطاقات الفرعية المعطّلة وتقارير المحتوى المختلط. ثم يومًا، فشهرًا، فسنة. كل خطوة قابلة للتراجع داخل النافذة السابقة، وهذا هو معنى البدء القصير.
إن تعطّل شيء، فالإصلاح هو تقديم HTTPS بشكل صحيح على المضيف المتأثر — لا إزالة الترويسة، التي لم تعد تساعد من استلمها بالفعل.
FAQ
هل يخفض غياب HSTS درجتي؟
لا يخصم من الدرجة الأساسية، لكنه يحجب A+: أعلى تقدير يتطلب HSTS بحد أقصى 180 يومًا على الأقل أو preload. يمكن للموقع أن يحصل على 100 ويبقى A بدونه.
هل يمكنني استخدام HSTS دون امتلاك كل النطاقات الفرعية؟
نعم، ما دمت تحذف includeSubDomains. عندها تنطبق الترويسة على المضيف الدقيق الذي قدّمها فقط.