شرح ترويسات أمان HTTP
في هذه الصفحة
بعض الضوابط الأمنية تكلّف مالاً، وتستغرق أشهراً، وتحتاج مختصّين. أمّا ترويسات أمان HTTP1 فلا تكلّف شيئاً، وتُنجَز في دقائق، وتُضاف بتعديل ملف إعداد واحد. إنها تعليمات قصيرة يُرفِقها خادمك بكل استجابة، يُملي بها على المتصفح كيف يتصرّف بأمان أكبر. ومع ذلك، فإن غيابها من أكثر النتائج شيوعاً في أي مراجعة خارجية، لأنها رخيصة إلى حدّ أن لا أحد يُعطيها أولويةً.
الترويسات التي تستحقّ المعرفة
- أمان النقل الصارم2 (HSTS). تأمر المتصفحات بالاتصال عبر HTTPS فقط على الدوام،
فتهزم هجمات تخفيض البروتوكول. مثال:
Strict-Transport-Security: max-age=31536000; includeSubDomains. - سياسة أمان المحتوى3 (CSP). تتحكم بمصادر الشيفرات والأنماط والموارد الأخرى التي يُسمح للمتصفح بتحميلها. وهي من أقوى طبقات الدفاع التي يفرضها المتصفح للحدّ من أثر البرمجة عبر المواقع4، لكنها لا تغني عن الترميز الآمن للمخرجات وتنقية المدخلات ومراجعة التبعيات؛ بل — كما سنرى — تحدّ أيضاً من أثر الشيفرة الخارجية الخبيثة.
X-Content-Type-Options: nosniff. تمنع المتصفح من تخمين نوع محتوى الاستجابة وإساءة تخمينه.- سياسة جهة الإحالة (
Referrer-Policy). تحدّ من كمّ معلومات الإحالة التي تتسرّب إلى مواقع أخرى، وstrict-origin-when-cross-originخيار افتراضي معقول. - سياسة الأذونات (
Permissions-Policy). تُطفئ ميزات المتصفح التي لا تستخدمها — الكاميرا والميكروفون والموقع الجغرافي. - منع التأطير (
frame-ancestorsضمن سياسة أمان المحتوى، أوX-Frame-Optionsالأقدم). تمنع وضع موقعك داخل إطار في مواقع أخرى، فتهزم اختطاف النقر.
كيف تفحص ما ترسله
curl -sI https://example.com
تجلب الراية -I ترويسات الاستجابة وحدها. اقرأها مقابل القائمة أعلاه. وتُظهر أدوات “تقييم
ترويسات الأمان” على الإنترنت الشيء نفسه بدرجة حرفية.
الترويسة التي تحرس سلسلة توريدك
هنا الجزء الذي تُغفِله معظم الأدلة. سياسة أمان المحتوى المُحكَمة ليست إجراءً ضد البرمجة عبر
المواقع فحسب، بل هي جدار احتوائك حين تنقلب الشيفرة الخارجية عدائيةً. فحين سلّحت
هجمة سلسلة توريد polyfill.io
نصاً برمجياً حمّلته
مئات الآلاف من المواقع لسنوات، كانت سياسةٌ مُحكَمةٌ القائمةَ (script-src) لتقيّد إلى أين
يُرسِل ذلك النص البرمجي البيانات المسروقة. وإذا قرنتَها بـ سلامة الموارد الفرعية5 —
بصمة integrity= على وسوم <script> الخارجية — فإن ملفاً مُلاعَباً يفشل بأمان: يرفض
المتصفح تشغيله بدل أن يُنفّذ برمجيةً خبيثة بصمت. فالشيفرة التي يحمّلها موقعك من غيرك جزءٌ من
سطح هجومك، وهاتان الترويستان هما كيف تُبقي قبضتك عليها.
كيف تضبط CSP صحيحاً
سياسة أمان المحتوى أقوى الترويسات، وأسهلها كذلك في أن تكسر موقعك بيدك. فعّلها أولاً في وضع
الإبلاغ فقط (Content-Security-Policy-Report-Only)، وراقِب ما قد تحجبه، ولا تفرضها حتى
تجتاز كل مواردك الشرعية. فسياسةٌ صارمةٌ متعجّلة ستُسقِط صفحاتك أسرع من أي مهاجم.
كيف يساعد زمام
يفحص زمام أيّ ترويسات الأمان يُرجِعها موقعك، ويُبرز المهمّ منها المفقود أو الضعيف. ولا يقرأ سوى الترويسات التي يرسلها خادمك أصلاً رداً على طلب عادي.
ذات صلة
- كيف تتحقق من شهادة SSL/TLS
- كيف تعرف أن موقعك مكشوف أو مُخترَق
- من المدوّنة: الدودة التي علّمت سلسلة التوريد أن تتكاثر بنفسها
الهامش
HTTP — HyperText Transfer Protocol، بروتوكول نقل النصّ التشعّبي، وHTTPS هو نسخته المُعمّاة. ↩︎
HSTS — HTTP Strict Transport Security، أمان النقل الصارم. ↩︎
CSP — Content-Security-Policy، سياسة أمان المحتوى. ↩︎
XSS — Cross-Site Scripting، البرمجة عبر المواقع. ↩︎
SRI — Subresource Integrity، سلامة الموارد الفرعية. ↩︎
— قراءة