قائمة التحقق من أمن الموقع
TLS وSSL
يتحقق من أن الموقع يُقدَّم عبر HTTPS، ويعيد توجيه HTTP العادي، ولديه شهادة سارية تغطي اسم المضيف.
- توفر HTTPS
- انتهاء صلاحية الشهادة وتغطيتها لاسم المضيف
- إعادة التوجيه من HTTP إلى HTTPS
- المحتوى المختلط ووجهات النماذج غير الآمنة
ترويسات الأمان
يراجع الحماية التي تفرضها المتصفحات لتقليل مخاطر XSS واختطاف النقرات واستشعار MIME وخفض مستوى الاتصال.
- Content-Security-Policy
- Strict-Transport-Security
- X-Frame-Options
- Permissions-Policy
فحوصات الانكشاف
يبحث عن الملفات العامة والبيانات الوصفية التي تكشف عادةً بيانات الاعتماد أو بيانات التحكم بالمصدر أو تفاصيل النشر أو المسارات الحساسة.
- ملفات .env والنسخ الاحتياطية
- مسارات التحكم بالمصدر
- قوائم المجلدات
- المعلومات التي يكشفها robots.txt
إعدادات الخادم
ينبّه إلى الكشف غير الضروري عن التقنيات وسلوك الخادم الذي يسهّل الاستهداف أو الاستغلال.
- تسريب ترويسة الخادم
- كشف المعلومات في صفحات الخطأ
- وضع CORS
- أساليب HTTP الخطرة
مؤشرات ثغرات شائعة
يستخدم فحوصات عامة غير تخريبية وطلبات اختبار خاصة بإطار العمل لتحديد أنماط واضحة ومعروفة بالمخاطر دون تعديل الموقع.
- مؤشرات إعادة التوجيه المفتوح
- إشارات React Server Components (React2Shell)
- نقاط نهاية التصحيح المكشوفة
- انكشاف لوحات الإدارة
أفضل الممارسات التشغيلية
يفحص الأساسيات العامة التي تدعم الإفصاح المسؤول وسلامة سكربتات الجهات الخارجية وأمان الجلسات.
- security.txt
- Subresource Integrity على موارد CDN
- سمات Secure وHttpOnly وSameSite في ملفات تعريف الارتباط
كيف يعمل فحص أمان الموقع
التشفير
- صلاحية الشهادة وانتهاؤها وتغطيتها لاسم المضيف
- إعادة التوجيه من HTTP إلى HTTPS
- المحتوى المختلط في صفحات HTTPS
- سمات Secure وHttpOnly وSameSite في ملفات تعريف ارتباط الجلسة
- النماذج التي ترسل البيانات إلى عناوين HTTP
ترويسات أمن المتصفح
- قيم max-age وincludeSubDomains وpreload في Strict-Transport-Security
- Content-Security-Policy بلا unsafe-inline أو unsafe-eval أو أحرف بدل
- الحماية من clickjacking (X-Frame-Options أو frame-ancestors)
- X-Content-Type-Options: nosniff
- Referrer-Policy
- Permissions-Policy
- مصادر CORS العامة (wildcard) وnull
انكشاف المعلومات
- ملفات .env والإعدادات وتفريغات قواعد البيانات والتبعيات
- النسخ الاحتياطية (.bak و.old و.orig و.swp وما شابهها)
- خرائط مصدر JavaScript العامة
- بيانات Git وSVN وMercurial وBazaar الوصفية
- كشف إصدارات الخادم والتقنيات
- المسارات الحساسة المدرجة في robots.txt
إعدادات الخادم
- عرض محتويات المجلدات
- لوحات الإدارة وتسجيل الدخول التي يمكن الوصول إليها
- نقاط نهاية التصحيح والحالة والمقاييس
- أساليب TRACE وPUT وDELETE
إشارات الثغرات المعروفة
- إشارات استجابة React Server Components (React2Shell)
- عمليات إعادة التوجيه المفتوحة عبر معاملات إعادة التوجيه الشائعة
- تتبّعات المكدس وتفاصيل إطار العمل في صفحات الخطأ
ممارسات الأمن
- ملف security.txt مع حقلي Contact وExpires
- Subresource Integrity على سكربتات CDN وأوراق الأنماط
كيف يُحسب التقييم
تبدأ النتيجة من 100. يخصم الفحص الفاشل 25 أو 15 أو 10 أو 5 نقاط بحسب الخطورة الحرجة أو العالية أو المتوسطة أو المنخفضة، ويخصم التحذير 15 أو 10 أو 5 أو 2. ولا تغيّر الفحوص التي تعذّر إكمالها والنتائج المعلوماتية النتيجة. التقييم A+ يعني 90 فأكثر، وA من 80 إلى 89، وB من 65 إلى 79، وC من 50 إلى 64، وD من 35 إلى 49، وF أقل من 35.
ما الذي لا يفحصه هذا الفحص
تعني النتيجة النظيفة أن هذه الفحوص العامة نجحت وقت الفحص. وهي ليست تقييمًا أمنيًا كاملًا، لذا خطّط لاختبارات منفصلة للمجالات أدناه.
- الصفحات التي تتطلب مصادقة، ومسارات المستخدمين المسجّلين، ومنطق الأعمال
- الصفحات خارج عنوان URL المُرسل والقائمة الثابتة من المسارات المعروفة
- إصدارات بروتوكول TLS ومجموعات التشفير
- مطابقة إصدارات البرمجيات المثبتة مع قواعد بيانات الثغرات، باستثناء إشارات React2Shell
- اختبارات الحقن أو القوة الغاشمة أو حجب الخدمة
- حالة البرمجيات الخبيثة وقوائم الحظر والسمعة
- سجلات DNS ومصادقة البريد الإلكتروني، التي يغطيها فحص أمان البريد الإلكتروني
معنى كل نتيجة
نجاح
الضابط موجود أو مُعدّ بطريقة تستوفي الأساس الذي يعتمده الفاحص.
تحذير
الضابط موجود، لكنه غير مكتمل أو ضعيف أو متساهل أكثر من اللازم، أو يفتقر إلى السياق المطلوب لاجتياز الفحص بوضوح.
فشل
وجد الفاحص ضابطًا غائبًا أو محفوفًا بالمخاطر ينبغي إصلاحه قبل الاعتماد على الموقع في إجراءات حساسة.
خطأ
تعذّر إكمال الفحص بصورة موثوقة، عادةً لأن الهدف حظر الطلب أو انتهت المهلة أو أعاد استجابة غير متوقعة.
ثغرات شائعة يكتشفها هذا الفحص
غياب HSTS
المخاطر: قد تسمح المتصفحات بهجمات خفض مستوى الاتصال أو بوصول غير مقصود عبر HTTP بعد زيارة المستخدم للموقع.
الخطوة التالية: قدّم كل حركة المرور عبر HTTPS أولًا، ثم فعّل مدة HSTS max-age طويلة مع includeSubDomains عندما تكون النطاقات الفرعية جاهزة.
Content-Security-Policy ضعيفة أو غائبة
المخاطر: يتاح للنصوص البرمجية المحقونة مجال أوسع للتنفيذ إذا ظهرت ثغرة XSS في التطبيق.
الخطوة التالية: ابدأ بـCSP في وضع report-only، وأزل استخدام النصوص البرمجية المضمّنة غير الآمنة حيثما أمكن، ثم افرض سياسة إنتاجية محكمة.
التعرض لاختطاف النقرات
المخاطر: قد يستطيع المهاجمون تضمين الصفحات الحساسة في إطارات وخداع المستخدمين لتنفيذ إجراءات غير مقصودة.
الخطوة التالية: استخدم frame-ancestors في CSP أو X-Frame-Options للصفحات التي ينبغي ألا تُضمَّن مطلقًا.
ملفات بيئة أو نسخ احتياطية مكشوفة
المخاطر: قد تسرّب ملفات الإعداد العامة بيانات اعتماد أو عناوين URL داخلية أو مفاتيح API أو تفاصيل النشر.
الخطوة التالية: أزل الملفات المكشوفة، ودوّر أي أسرار مسرّبة، واحظر الامتدادات الحساسة والملفات التي تبدأ بنقطة عند الحافة.