Rudra Analyzer

الأمان

كيف تفحص أمان موقعك: ما يخبرك به الفحص غير التدخلي وما لا يخبرك به

ما تستطيع فحصه بأمان من جوانب أمان موقعك في عصر يوم واحد، وما الذي ينظر إليه الفاحص غير التدخلي فعلًا، ومتى تحتاج إلى إنسان بدلًا منه.

بقلم Rudra Techno Team 7 دقائق للقراءة
في هذه الصفحة

سؤال «هل موقعي آمن؟» لا جواب له بنعم أو لا، لكن له خطوة أولى نافعة: افحص جوانب أمانك التي يراها أصلًا كل من على الإنترنت. فكل متصفح يزور موقعك يتلقى إعداد HTTPS لديك، وشهادتك، وترويسات الاستجابة، وملفات تعريف الارتباط. فإن كانت مضبوطة على نحو خاطئ، فأنت تسهّل الهجمات بلا داعٍ، وإصلاحها في الغالب تعديل في الإعدادات لا إعادة كتابة.

يستعرض هذا الدليل ما ينبغي فحصه، وكيف تفحصه، وكذلك، وهذا لا يقل أهمية، ما لا يستطيع فحص كهذا أن يخبرك به.

الفحوص غير التدخلية مقابل الاختبار الأمني

الفحص غير التدخلي يرسل طلبات من النوع الذي يرسله المتصفح ويقرأ الردود. لا يرسل حمولات هجومية أبدًا، ولا يرسل نماذج، ولا يحاول تسجيل الدخول. ولهذا يمكن تشغيله بأمان على موقع حي في أي وقت، وهو بارع في كشف أخطاء الإعدادات.

أما اختبار الاختراق فأمر آخر: شخص مؤهل يحاول، بإذنك، الاختراق فعليًا، فيختبر تسجيل الدخول ومعالجة المدخلات والتحكم في الصلاحيات ومنطق العمل. وهو يكشف الثغرات التي لا يراها الفحص غير التدخلي، وليس شيئًا يُرتجل على موقع في بيئة الإنتاج.

ابدأ بالطبقة غير التدخلية. فهي سريعة، والموقع الذي يخطئ في الأساسيات الظاهرة لديه في العادة مشكلات أخرى أيضًا.

ما الذي تفحصه، وكيف تبدو الحالة السليمة

1. HTTPS في كل مكان، مع إعادة توجيه دائمة

ينبغي أن تُحمَّل كل صفحة عبر https://، وأن تردّ كتابة العنوان المجرد http:// بإعادة توجيه 301 أو 308 إلى نسخة HTTPS. الرمز 302 يعمل لكن المتصفح لا يحفظه، والموقع الذي ما زال يقدّم صفحات عبر HTTP العادي يتيح لكل من على الشبكة نفسها قراءتها أو تغييرها. اختبر ذلك بالأمر curl -I http://yourdomain.com/ وانظر إلى سطر الحالة وإلى ترويسة Location.

2. شهادة صالحة تتجدد تلقائيًا

يجب أن تكون الشهادة موثوقة، ومطابقة لنطاقك، وغير قريبة من الانتهاء. والشهادات المنتهية تكاد تكون دائمًا مهمة تجديد توقفت بصمت بعد تغيير في الخادم أو في DNS. انقر رمز القفل في متصفحك لترى الجهة المصدرة وتاريخ الانتهاء، وتأكد من أن التجديد مؤتمت.

3. ترويسات أمان بقيم معقولة

ترويسات مثل Strict-Transport-Security و Content-Security-Policy و X-Content-Type-Options و Referrer-Policy تفعّل وسائل حماية مدمجة في المتصفحات. وقيمها مهمة بقدر وجودها: قيمة max-age في HSTS تساوي 300 ثانية بقيت من مرحلة الاختبار لا تكاد تحمي شيئًا، و CSP تحتوي على 'unsafe-inline' أو * ضمن script-src قليلة النفع أمام السكربتات المحقونة. ويشرح دليلانا عن ترويسات الأمان وعن Content-Security-Policy القيم الآمنة.

4. خصائص ملفات تعريف الارتباط

ينبغي أن تحمل ملفات تعريف الارتباط الخاصة بالجلسة وتسجيل الدخول الخاصية Secure (عبر HTTPS فقط) والخاصية HttpOnly (محجوبة عن JavaScript) وقيمة صريحة للخاصية SameSite. في المتصفح، افتح أدوات المطوّر وانظر تحت Application (في Chrome و Edge) أو Storage (في Firefox) ← Cookies. ويتناول دليل كيفية فحص أمان ملفات تعريف الارتباط كل خاصية منها.

5. إعدادات CORS لا تثق بالجميع

ترويسات مشاركة الموارد عبر الأصول (Cross-Origin Resource Sharing) تخبر المتصفحات بالمواقع الأخرى المسموح لها بقراءة استجاباتك. والنمط الخطِر هو خادم ينسخ أي قيمة Origin تصله إلى Access-Control-Allow-Origin ويرسل معها Access-Control-Allow-Credentials: true. فهذا يتيح لأي موقع قراءة استجابات طُلبت بملفات تعريف الارتباط الخاصة بزوارك. اسمح بأصول محددة بدلًا من ذلك.

6. لا محتوى مختلط

صفحة HTTPS تحمّل سكربتات أو أوراق أنماط أو إطارات عبر http:// فيها محتوى مختلط نشط، وهو ما تحظره المتصفحات الحديثة فتتعطل الصفحة في أحيان كثيرة. أما الصور والوسائط المحمّلة عبر HTTP العادي فمحتوى مختلط خامل: أقل خطرًا، لكنه يُضعف دلالة القفل. ابحث في قوالبك وقاعدة بياناتك عن عناوين http:// المكتوبة يدويًا.

7. ما تبوح به للمهاجمين

ترويسات مثل Server: Apache/2.4.41 أو X-Powered-By: PHP/7.4 تعلن الإصدارات بدقة. وخرائط المصدر (source maps) العلنية لملفات JavaScript قد تنشر شيفرة الواجهة الأصلية لديك. لا هذه ولا تلك ثغرة في ذاتها، لكن كلتيهما توفّر على المهاجم وقتًا. وفكّر كذلك في نشر ملف /.well-known/security.txt فيه حقل Contact وتاريخ Expires، ليعرف من يكتشف مشكلة كيف يصل إليك.

أجرِ فحصًا أمنيًا غير تدخلي

فاحص الأمان المجاني من Rudra يقرأ إعداد HTTPS لديك، والشهادة، وقيم الترويسات، وخصائص ملفات تعريف الارتباط، و CORS، والمحتوى المختلط، بطلبات GET و HEAD فقط.

يفحص صفحتك الرئيسية · مجاني · دون تسجيل

كيف يؤدي فاحص الأمان من Rudra هذا العمل

فاحص أمان المواقع المجاني يؤتمت القائمة السابقة. يرسل طلبًا عاديًا واحدًا إلى صفحتك ويقرأ الترويسات، وملفات تعريف الارتباط التي تضبطها (الأسماء والخصائص فقط، لا القيم أبدًا)، وشيفرة HTML. ثم يرسل مجموعة صغيرة ثابتة من طلبات إضافية للقراءة فقط: اتصال TLS لأجل الشهادة، وطلبًا واحدًا إلى http://yourdomain/ ليرى كيف يعيد التوجيه، وطلبًا واحدًا يحمل أصلًا اختباريًا مختلقًا (https://rudra-audit.invalid) ليرى كيف تستجيب ترويسات CORS لديك، وقائمة قصيرة مسموحة من الملفات المعروفة مثل security.txt و robots.txt.

تعرض كل ملاحظة القيمة المرصودة، وشكل القيمة المقبولة، ومدى ثقة الفحص. وبعض الأنماط، مثل معالجات onclick المضمّنة أو سكربتات الأطراف الثالثة بلا Subresource Integrity، قد تكون سليمة أو خطرة بحسب السياق، ولذلك تُعلَّم بثقة منخفضة لتراجعها أنت، ولا تُعرض على أنها مشكلات مؤكدة. ويسرد التقرير كذلك التقنيات والسطح العلني الذي استطاع رؤيته، مثل نماذج تسجيل الدخول وعناوين API المذكورة في الصفحة، لتعرف ما يظهر من الخارج.

ما لا يخبرك به الفحص غير التدخلي

هنا يبالغ الناس في قراءة الدرجة الجيدة. الفحص غير التدخلي، وفحصنا منه، لا:

  • يكشف الثغرات في شيفرتك، مثل حقن SQL أو البرمجة عبر المواقع (XSS) أو خلل التحكم في الصلاحيات؛
  • يفحص نظام إدارة المحتوى أو الإضافات أو المكتبات أو الخادم بحثًا عن إصدارات معروفة بثغراتها (إلا إذا صادف أن كشفت ترويسةٌ رقم الإصدار)؛
  • يختبر أي شيء خلف تسجيل الدخول، ومنه لوحات الإدارة وصفحات الحسابات؛
  • يختبر سلوك النماذج عند إرسالها، ومنه الحماية من CSRF وتحديد معدل الطلبات؛
  • يكشف البرمجيات الخبيثة أو تشويه الموقع أو اختراق حساب؛
  • يراجع استضافتك أو نسخك الاحتياطية أو ضوابط الوصول أو من يملك كلمات مرور الإدارة.

النتيجة النظيفة تعني أن الإعدادات الظاهرة في حال جيدة. ولا تعني أن الموقع آمن من كل وجه، ولا يستطيع أي فحص آلي أن يعد بذلك.

ما تفعله بعد الفحص

  1. حدّث برمجياتك باستمرار. طبّق تحديثات نظام إدارة المحتوى والإضافات والقوالب وأطر العمل دون تأخير، واحذف الإضافات التي لا تستخدمها.
  2. احمِ حسابات الإدارة. استخدم كلمات مرور فريدة ومصادقة ثنائية لكل حساب يستطيع تغيير الموقع.
  3. احتفظ بنسخ احتياطية مجرَّبة. النسخة التي لم تسترجعها قط أمنية لا خطة.
  4. راقب التغييرات. أعد تشغيل الفحص غير التدخلي بعد كل نشر وكلما أضفت سكربتًا من طرف ثالث.
  5. استعن باختبار احترافي حين يستحق الأمر. إن كنت تتعامل مع مدفوعات أو بيانات صحية أو حسابات، فكلّف مختبرًا مؤهلًا بإجراء اختبار اختراق بنطاق مكتوب.

ولبقية جوانب سلامة موقعك، من سرعة و SEO وإمكانية وصول وروابط معطلة، أجرِ تدقيقًا كاملًا للموقع على الصفحة نفسها.

الأسئلة الشائعة

هل فحص موقع بحثًا عن مشكلات أمنية قانوني؟

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

هل تستطيع أداة فحص أمني مجانية أن تخبرني هل اختُرق موقعي؟

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

ما أهم شيء أصلحه أولًا؟

HTTPS في كل صفحة مع إعادة توجيه دائمة من HTTP، وشهادة تتجدد تلقائيًا. وبعد ذلك خصائص ملفات تعريف الارتباط الخاصة بالجلسة، ثم HSTS، ثم Content-Security-Policy تُطبَّق في وضع التقرير فقط أولًا.

هل تعني درجة الأمان العالية أن موقعي آمن؟

تعني أن الإعدادات الظاهرة جيدة: HTTPS والشهادة والترويسات وخصائص ملفات تعريف الارتباط و CORS. ولا تقول شيئًا عن الثغرات في شيفرتك أو إضافاتك، فهذه تحتاج إلى تحديثات ومراجعة للشيفرة، وإلى اختبار اختراق في المواقع الأعلى خطرًا.

هل تحتاج إلى تحليل أعمق لموقعك؟

اطّلع على كل مشكلة في موقعك مرتبةً حسب أولوية الإصلاح

افحص أي صفحة مجانًا ودون حساب، أو سجّل للزحف إلى موقعك كاملًا. يغطي كل تقرير تحسين محركات البحث ومشكلات الأداء الشائعة وإمكانية الوصول والأمان، مع إصلاح مقترح لكل مشكلة.