افحص ترويسات الأمن لأي عنوان URL، بما فيها CSP وHSTS وX-Frame-Options وReferrer-Policy. احصل على تقييم من A+ إلى F مع القيمة الموصى بها لكل ترويسة.
ما فحص ترويسات أمن HTTP؟
يجلب فحص ترويسات أمن HTTP عنوان URL عامًا، ويقيّم وجود ترويسات الاستجابة التي يفرضها المتصفح وصحة إعدادها. تقلل الترويسات القوية مخاطر XSS واختطاف النقرات والتخمين غير المرغوب لنوع MIME والنقل غير الآمن. تمنح Vigilbase النتيجة تقييمًا من A إلى F وتوضح ما ينبغي إصلاحه.
يمكن للوكلاء تشغيل الفحص غير الاقتحامي نفسه عبر POST /api/v1/agent/tools/security-headers/execute.
ما الذي يفحصه اختبار ترويسات الأمن هذا
Content-Security-Policy
الوزن: 20/100
تحدّ من المصادر التي يمكن تحميل السكربتات والأنماط والإطارات والموارد الأخرى منها، ما يقلّل أثر البرمجة النصية عبر المواقع (XSS).
الموصى به: default-src 'self'; frame-ancestors 'none'
تخسر نقاطًا عند وجود 'unsafe-eval' أو 'unsafe-inline' أو حرف بدل * منفرد أو data: في مصادر السكربتات، وعند غياب توجيه default-src أو frame-ancestors.
Strict-Transport-Security
الوزن: 20/100
تطلب من المتصفحات استخدام HTTPS فقط للنطاق، ما يمنع خفض البروتوكول وكشف ملفات تعريف الارتباط عبر HTTP العادي.
الموصى به: max-age=31536000; includeSubDomains; preload
تخسر نقاطًا إذا كانت قيمة max-age أقل من سنة (وأكثر إذا كانت أقل من يوم) وعند غياب includeSubDomains أو preload.
X-Frame-Options
الوزن: 10/100
تمنع المواقع الأخرى من تضمين صفحاتك في إطارات، وهو أساس هجمات clickjacking.
الموصى به: DENY
تحصل SAMEORIGIN على الدرجة الكاملة تقريبًا. أما ALLOW-FROM المتقادمة والقيم غير الصالحة فتحصل على درجة أقل.
X-Content-Type-Options
الوزن: 10/100
تمنع المتصفحات من تخمين نوع محتوى الاستجابة (sniffing) وتشغيلها كسكربت.
الموصى به: nosniff
أي قيمة غير nosniff تحصل على درجة منخفضة.
Referrer-Policy
الوزن: 10/100
تتحكم في مقدار عنوان URL للصفحة الذي يُرسل إلى المواقع الأخرى في ترويسة Referer.
الموصى به: strict-origin-when-cross-origin
تحصل no-referrer على الدرجة الكاملة، وتحصل same-origin وstrict-origin على درجة جيدة. أما unsafe-url وno-referrer-when-downgrade فتحصلان على درجة أقل لأنهما قد تكشفان عناوين URL كاملة.
Permissions-Policy
الوزن: 10/100
تعطّل ميزات المتصفح مثل الكاميرا والميكروفون وتحديد الموقع الجغرافي في الصفحات التي لا تحتاج إليها.
الموصى به: camera=(), microphone=(), geolocation=()
تحصل السياسة الموجودة على معظم الدرجة. ويؤدي السماح بالكاميرا أو الميكروفون أو تحديد الموقع لكل المصادر إلى خسارة نقاط.
Cross-Origin-Opener-Policy
الوزن: 5/100
تفصل صفحتك عن النوافذ ذات المصادر الأخرى التي تفتحها أو التي تفتحها.
الموصى به: same-origin
تحصل same-origin-allow-popups على درجة جزئية، وتحصل unsafe-none على درجة منخفضة.
Cross-Origin-Embedder-Policy
الوزن: 5/100
تشترط موافقة الموارد ذات المصادر الأخرى صراحةً قبل أن تحمّلها الصفحة. ومع COOP، تفعّل العزل عبر المصادر.
الموصى به: require-corp
تحصل credentialless على درجة جزئية، وتحصل unsafe-none على درجة منخفضة.
Cross-Origin-Resource-Policy
الوزن: 5/100
تمنع المواقع الأخرى من تحميل مواردك، مثل الصور والسكربتات، في صفحاتها.
الموصى به: same-origin
تحصل same-site على الدرجة الكاملة تقريبًا، وتحصل cross-origin على نصفها.
X-XSS-Protection
الوزن: 5/100
كانت تتحكم في مرشح XSS القديم في المتصفحات القديمة. وهي متقادمة، وتحل محلها Content-Security-Policy.
الموصى به: 0
تحتفظ بدرجة جزئية سواء كانت غائبة أو مضبوطة على 0 أو على 1; mode=block، لذا لا تغيّر المجموع بأكثر من 1.5 نقطة.
كيف يعمل التقييم من A+ إلى F
- A+
- 90-100
- A
- 80-89
- B
- 65-79
- C
- 50-64
- D
- 35-49
- F
- 0-34
يعني التقييم المرتفع أن الترويسات تطابق خط الأساس هذا وقت الفحص. ولا يختبر الفحص شيفرة التطبيق أو المصادقة أو بقية الموقع، وينبغي أن تلائم كل سياسة الميزات التي تستخدمها صفحاتك قبل فرضها. مشروع OWASP Secure Headers