المصطلحات

سياسة أمان المحتوى

سياسة أمان المحتوى (CSP) مجموعة قواعد يرسلها الموقع في ترويسة استجابة HTTP، تخبر المتصفح بمصادر الشيفرات والأنماط والصور والإطارات التي يحق للصفحة استخدامها. وإذا لم تأت الشيفرة المحقونة من مصدر مسموح، يرفض المتصفح تشغيلها.

ابدأ مشروعك

لماذا تهم

هي خط دفاع ثان ضد البرمجة النصية عبر المواقع. فالشيفرة الجيدة هي التي تمنع الحقن من الأساس. وإذا تسرب خطأ، فقد تمنع سياسة صارمة المتصفح من تشغيل شيفرة المهاجم أو من إرسال البيانات إلى خادمه. كما أنها تحدد المواقع التي يجوز لها تضمين صفحاتك، وهذا يفيد ضد هجمات خداع النقر (clickjacking).

أهم التوجيهات

التوجيهما الذي يتحكم فيه
default-srcالاحتياطي لأي نوع لم تحدده
script-srcمن أين يجوز تحميل الشيفرات، وهل تعمل الشيفرات المضمنة
style-srcمن أين يجوز تحميل الأنماط
connect-srcالعناوين التي يجوز لشيفرة الصفحة الاتصال بها
frame-ancestorsالمواقع التي يجوز لها تضمين هذه الصفحة في إطار

كيف تطبقها

  1. ابدأ بوضع المراقبة فقط، عبر ترويسة Content-Security-Policy-Report-Only. يبلغك المتصفح بما كان سيحجبه دون أن يحجبه.
  2. راجع التقارير، واكتب قائمة بكل شيفرة وأسلوب وخدمة يحتاجها الموقع فعلا، بما فيها التحليلات وأدوات الدردشة وإطارات الدفع.
  3. فضل الرموز العشوائية لمرة واحدة (nonces) أو البصمات (hashes) للشيفرات المضمنة على السماح بكل الشيفرات المضمنة.
  4. انتقل إلى وضع الفرض، وأبق نقطة استقبال للتقارير لترى ما ينكسر.

أخطاء شائعة

  • إضافة unsafe-inline إلى script-src، وهذا يزيل معظم الحماية.
  • السماح بمضيفين واسعين جدا، كشبكة توصيل محتوى كاملة، يستطيع المهاجم استخدامها أيضا.
  • نسخ سياسة من مقال دون اختبارها، ثم تعطيل الدفع أو تسجيل الدخول.
  • اعتبار السياسة بديلا عن إصلاح الثغرة نفسها.

مصطلحات ذات صلة

راجع البرمجة النصية عبر المواقع لمعرفة الهجوم الذي تحد منه السياسة، وOWASP Top 10 لمعرفة موقعها في الصورة الأكبر. وقائمة الأمان الافتراضي للويب لدينا نقطة انطلاق عملية.

تابع الاستكشاف

هل أنت مستعد لبناء منتج آمن؟

حدّثنا عن منتجك، وسنرد بخطة واضحة.

ابدأ مشروعك

نود استخدام Microsoft Clarity لفهم كيف يستخدم الزوار الموقع حتى نحسّنه. يضع ملفات ارتباط ويبقى متوقفًا ما لم توافق. سياسة ملفات الارتباط