Chrome Dev Summit 2018 is happening now and streaming live on YouTube. Watch now.

إصلاح الاستيلاء باستخدام كلمات رئيسية وروابط تم إخفاء هويتها

تم إنشاء هذا الدليل خصيصًا لتناول الاستيلاء عن طريق إضافة صفحات هراء مثقلة بالكلمات الرئيسية إلى موقعك الإلكتروني وهو ما نشير إليه باسم الاستيلاء بإضافة هراء، لذا فإن هذا الدليل مُعد لمستخدمي أنظمة إدارة المحتوى الشائعة (CMS) غير أنك ستستفيد منه حتى وإن لم تكن تستخدم هذه الأنظمة.

ملاحظة: ألست متأكدًا مما إذا كان موقعك قد تعرض للاستيلاء؟ ابدأ بقراءة دليل كيفية التحقق من تعرض موقعك للاستيلاء.

جدول المحتويات

تحديد هذا النوع من الاستيلاء

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

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

وللتحقق من هذه المشكلة، ابدأ بأداة مشكلات الأمان في Search Console لتعرف إذا ما اكتشف محرك البحث Google أيًا من هذه الصفحات التي تم الاستيلاء عليها على موقعك. وأحيانًا يمكنك اكتشاف صفحات من هذه النوعية من خلال فتح نافذة بحث Google وكتابة site:[your site]، وهو ما يُظهر لك الصفحات التي فهرسها Google لموقعك بما في ذلك الصفحات التي تم الاستيلاء عليها. ألقِ نظرة على بضع صفحات من نتائج البحث لترى إذا ما يمكن تحديد عناوين URL مخالفة، وإذا لم تعثر على أي محتوى تم الاستيلاء عليه في بحث Google، فاستخدم نفس عبارات البحث مع محرك بحث مختلف، فقد تعرض محركات البحث الأخرى محتوى مُستَولى عليه قد أزاله Google من الفهرس. وفي ما يلي مثال لما قد يبدو عليه هذا.

ملاحظة: لاحظ أن نتائج البحث هنا تتضمن الكثيرمن الصفحات التي لم ينشئها مالك الموقع الإلكتروني.وإذا أمعنت النظر في أوصاف نتيجة البحث الثانية والثالثة، سترى أمثلة لنصوص هراء أنشأها هذا النوع من الاستيلاء.

وعند الانتقال إلى صفحة تم الاستيلاء عليها، ربما ترى رسالة تفيد بأن الصفحة غير موجودة (مثل خطأ 404)، فلا تنخدع حيث يحاول المخترقون خداعك لتعتقد بأن موقعك تم إصلاحه وهذا من خلال دفعك لتعتقد بأن الصفحات قيد الاستيلاء قد اختفت أو تم إصلاحها، وهم ينفذون هذا من خلال إخفاء هوية المحتوى. ويمكنك التحقق من إخفاء الهوية بإدخال عناوين URL لموقعك في أداة جلب مثل Google، والتي تتيح لك رؤية المحتوى المخفي. وفي ما يلي مثال لما تبدو عليه هذه الصفحات التي تم الاستيلاء عليها.

حل مشكلة الاستيلاء

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

التحقق من ملف .htaccess (ثلاث خطوات)

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

الخطوة 1

حدد موقع ملف .htaccess على موقعك الإلكتروني، وإذا لم تكن متأكدًا أين تجده وكنت تستخدم نظام إدارة محتوى مثل WordPress أو Joomla أو Drupal، فابحث عن "موقع ملف .htaccess" في محرك البحث باستخدام اسم نظام إدارة المحتوى، وربما ترى عدة ملفات .htaccess ويتوقف هذا على موقعك، فأعدّ قائمة بجميع مواقع ملفات .htaccess.

ملاحظة: عادة ما يكون .htaccess "ملفًا مخفيًا"، فتأكد من تمكين إظهار الملفات المخفية عند البحث عنه.

الخطوة 2

افتح ملف .htaccess لعرض محتوياته، ويفترض أن يكون بمقدورك التعرف على شفرة مكونة من سطر واحد تبدو أحيانًا كما يلي:

  RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]

يمكن أن تختلف المتغيرات المذكورة في هذا السطر، فيمكن أن يكون كلاً من "cj2fa" و"tobeornottobe" أي مزيج من الحروف أو الكلمات، والمهم أن تجد ملف .php المُشار إليه في هذا السطر. .

دّون اسم ملف .php المذكور في ملف .htaccess، وفي هذا المثال اسم ملف .php هو "injected_file.php" ولكن في الواقع اسم الملف لن يكون واضحًا بل يكون عادة مجموعة عشوائية من الكلمات غير شيقة مثل "horsekeys.php" وpotatolake.php" وهكذا، هناك احتمال كبير بأن يكون ملف .php هذا ضارًا ونحتاج إلى تتبعه وإزالته في وقت لاحق.

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

الخطوة 3

استبدل جميع ملفات .htaccess بنسخة نظيفة أو افتراضية من ملف .htaccess، ويمكنك عادة العثور على النسخة الافتراضية من الملف بالبحث عن "ملف .htaccess الافتراضي" واسم نظام إدارة المحتوى. أما بالنسبة إلى المواقع التي لها عدة ملفات .htaccess، فابحث عن نسخة نظيفة لكل ملف ثم أجرِ الاستبدال.

في حال عدم وجود ملف .htaccess افتراضي أو عدم تهيئة ملف على موقعك، فربما يكون ملف .htaccess الذي تجده على موقعك ضارًا، فاحفظ نسخة من ملف .htaccess في وضع عدم الاتصال -للاستخدام عند الحاجة - ثم احذف الملف من موقعك.

البحث عن الملفات الضارة الأخرى وإزالتها (5 خطوات)

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

الخطوة 1

إذا كنت تستخدم نظام إدارة المحتوى، فأعد تثبيت جميع الملفات الأساسية (الافتراضية) التي تصاحب التوزيع الافتراضي للنظام إلى جانب الملفات التي أضفتها (مثل المظاهر والوحدات والمكونات الإضافية)، حيث يساعد هذا في ضمان خلو هذه الملفات من المحتوى الذي تم الاستيلاء عليه. يمكنك إجراء بحث على Google عن "إعادة التثبيت" واسم نظام إدارة المحتوى للحصول على تعليمات حول عملية إعادة التثبيت. وفي حال كانت لديك أي مكونات إضافية أو وحدات أو إضافات أو مظاهر، فتأكد من إعادة تثبيتها هي الأخرى.

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

الخطوة 2

ابدأ بالبحث عن ملف .php الذي حددته قبلاً في ملف .htaccess، وحسب آلية الوصول إلى الملفات على الخادم، ينبغي أن تظهر لك وظيفة للبحث عن الملفات، وابحث عن اسم الملف الضار، وإذا وجدته، فاحتفظ بنسخة احيتاطية منه وخزّنه في مكان آخر في حال احتجت إلى استرداده ثم احذفه من موقعك.

الخطوة 3

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

لا تشغل بالك بفكرة أنه يجب عليك فتح كل ملف PHP والنظر فيه، بل ابدأ بإنشاء قائمة بملفات PHP المشبوهة التي ترغب في فحصها، وإليك بعض الطرق التي تساعدك في تحديد ملفات PHP المريبة:

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

الخطوة 4

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

دقق أولاً في الملفات المشبوهة التي حددتها قبلاً بحثًا عن قوالب نصية كبيرة بها أحرف وأرقام تبدو مختلطة. وعادة ما يكون قالب النص مسبوقًا بمزيج من دوال PHP مثل base64_decode وrot13 وeval وstrrev وgzinflate. وفي ما يلي مثال للشكل المحتمل لقالب الشفرة، وأحيانًا يتم حشو هذه الشفرة كلها في سطر نص واحد طويل مما يجعلها تبدو أصغر مما هي عليه في الواقع.

<!--Hackers try to confuse webmasters by encoding malicious code into blocks of texts.
Be wary of unfamiliar code blocks like this.-->

base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));

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

الخطوة 5

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

التحقق لمعرفة ما إذا أصبح موقعك نظيفًا أم لا

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

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

كيف يمكنني الحيلولة دون تعرض موقعي للاستيلاء مرة أخرى؟

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

  • تحديث نظام إدارة المحتوى والإضافات والوحدات بانتظام: نأمل أن تكون قد نفذّت هذه الخطوة من قبل فهناك الكثير من المواقع التي تتعرض للاستيلاء لأن البرنامج التي تعمل عليها غير محدثة علمًا بأن بعض أنظمة إدارة المحتوى تتيح التحديث التلقائي لها.
  • فحص جهاز الكمبيوتر بانتظام: استخدم أي برنامج فحص فيروسات شائع للبحث عن الفيروسات أو الثغرات الأمنية.
  • تغيير كلمات المرور بانتظام: يمكن للتغيير المنتظم لكلمات المرور إلى جميع حسابات موقعك -مثل موفر خدمة الاستضافة وبرتوكول نقل الملفات ونظام إدارة المحتوى- الحيلولة دون الوصول غير المصرح به إلى موقعك كما أنه من المهم إنشاء كلمة مرور قوية فريدة لكل حساب.
  • استخدام المصادقة الثنائية (2FA): ننصحك بتمكين المصادقة الثنائية لأي خدمة تتطلب تسجيل الدخول فهي تصّعب على المخترقين تسجيل الدخول حتى إذا تمكنوا من سرقة كلمة المرور بنجاح.
  • التفكير في الاشتراك في خدمة أمان لمراقبة موقعك: هناك الكثير من الخدمات الرائعة التي يمكنها مساعدتك في مراقبة موقعك مقابل رسوم بسيطة، ففكر في التسجيل فيها للحفاظ على موقعك آمنًا.

موارد إضافية

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

تفحص هذه الأدوات موقعك وربما يمكنها العثور على المحتوى المتسبب في المشكلة، هذا ولا يستخدم محرك بحث Google أو يتوافق مع أي من هذه الأدوات ما عدا VirusTotal.

Virus Total و Aw-snap.info وSucuri Site Check وQuttera: هذه بعض الأدوات التي يمكنها فحص موقعك بحثًا عن المحتوى الذي يمثل مشكلة. وتجدر الإشارة إلى أن أدوات الفحص هذه لا يمكنها أن تضمن التعرف على كل نوع من أنواع المحتوى الذي ينطوي على مشكلات.

في ما يلي بعض الموارد الإضافية من Google والتي يمكنها مساعدتك:

هل هناك أداة تعتقد أنها ربما تكون مفيدة لم يتم ذكرها؟ اترك تعليقاتك وأخبرنا بها.