ما هو Content Security Policy (CSP)؟
Content Security Policy (CSP) هو نظام أمان ويب يُستخدم لمنع العديد من الهجمات الإلكترونية مثل هجمات حقن الأكواد النصية (Cross-Site Scripting - XSS) وهجمات النقر الاحتيالي (Clickjacking). ببساطة، CSP هو سياسة تحدد للمستعرض ما هي مصادر المحتوى المسموح بها على موقع الويب، مما يقلل من إمكانية تحميل أو تنفيذ محتوى ضار أو غير مصرح به.
كيف يعمل Content Security Policy؟
يتم تعريف سياسة CSP من خلال رأس HTTP يُرسل من خادم الويب إلى متصفح المستخدم. تحتوي هذه السياسة على تعليمات واضحة تحدد أنواع الموارد المسموح بها مثل النصوص البرمجية (JavaScript)، الصور، الخطوط، الاستايلات (CSS)، والوسائط الأخرى، بالإضافة إلى المصادر التي يمكن تحميل هذه الموارد منها (مثل نفس الموقع، شبكة توزيع المحتوى، أو مصادر أخرى موثوقة).
على سبيل المثال، عندما يحاول المتصفح تحميل نص برمجي أو صورة أو أي ملف من مصدر غير مدرج في سياسة CSP، فإنه يتم حظر هذا المحتوى تلقائيًا، مما يحمي المستخدم من تنفيذ أكواد خبيثة يمكنها سرقة البيانات أو التحكم في الموقع.
أهمية Content Security Policy بالنسبة لمواقع الويب
في عصر تتزايد فيه الهجمات السيبرانية، تساعد سياسة CSP في تقليل مخاطر الثغرات الأمنية عن طريق التحكم الصارم في المصادر التي يسمح لها الموقع بتحميل المحتوى. بدون CSP، يمكن للمهاجمين حقن أكواد ضارة في صفحات الموقع تؤدي إلى سرقة بيانات المستخدمين أو اختراق النظام.
بالإضافة إلى ذلك، يقدم CSP طبقة أمان إضافية تكمل إجراءات الحماية الأخرى مثل التحقق من صحة الإدخال (Input Validation) وأنظمة الجدران النارية (Firewalls). كما يساعد مطوري المواقع على اكتشاف محاولات الهجوم من خلال تقارير أخطاء CSP التي يمكن تفعيلها لتلقي إشعارات عندما يكتشف المتصفح محاولة تحميل محتوى غير آمن.
مكونات سياسة Content Security Policy
تتكون سياسة CSP من توجيهات (Directives) متعددة تحدد بالضبط ما هو مسموح به، مثل:
- default-src: يحدد مصادر المحتوى الافتراضية.
- script-src: يتحكم بمصادر تحميل وتنفيذ النصوص البرمجية.
- style-src: يحدد مصادر ملفات CSS.
- img-src: لتحديد مصادر الصور المسموح بها.
- font-src: لتحميل الخطوط من مصادر محددة.
كل توجيه يسمح بتقييد أو السماح لأنواع معينة من المحتوى فقط من مصادر محددة، مما يوفر تحكمًا دقيقًا وفعالًا في أمان الموقع.
كيف يمكن تطبيق CSP في موقعك؟
لتطبيق سياسة CSP، يقوم مطوروا الويب بإضافة رأس HTTP في إعدادات الخادم أو من خلال إعدادات إطار العمل الخاص بالموقع. يمكن البدء بسياسة صارمة تدريجيًا مع وضع تقارير لتتبع الانتهاكات قبل منع التنفيذ تمامًا، لضمان أن الموقع يعمل بشكل صحيح دون التأثير على التجربة المستخدم.
على سبيل المثال، يمكن إدراج رأس CSP بالشكل التالي:
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com; style-src 'self' 'unsafe-inline'
هذا المثال يسمح بتحميل النصوص البرمجية من نفس المصدر ومصدر موثوق محدد، ويمنع تحميل أي نصوص من مصادر أخرى غير موثوقة.