تجربة عملية في حماية مدونتي من التهكير

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

بدايتي مع التدوين كانت في العام ٢٠٠٨ ميلادية و في ذلك الوقت قمت ببرمجة مدونتي بنفسي بشكل كامل بواسطة لغة البرمجة ASP مع قواعد بيانات MS SQL , و كان هدفي دعم التاريخ الهجري في المدونة و ذلك من باب الاعتزاز و من باب أن يكون كل شيء تحت تصرفي بشكل كامل

خلال تلك الفترة كانت هناك محاولات بسيطة لاختراق موقعي وكانت معظمها عن طريق ما يسمى SQL injection , و هي آلية تقوم بحقن جمل استعلامات  SQL ضمن طلبات Post في الموقع مما يؤثر على بنية قواعد البيانات , و تم حل المشكلة بمنع تنفيذ ذلك عبر سكربت فلترة بسيط , مابعد ذلك كانت محاولات الاختراق من ثغرات على نفس السيرفر و التي ليس لي القدرة على حمايتها و اقفال ثغراتها بنفسي و بالتالي اعتمادي الكامل على الشركات المستضيفة نفسها أو شركات أنظمة التشغيل

مشكلة موقعي \ مدونتي التي قمت بتطويرها بواسطة ASP متواضعة الخصائص , فهي تقدم الخدمات الأساسية في عرض المحتوى و إمكانية التعليق عليه , أما عن إدارته فلقد كانت لوحة التحكم الداخلية متواضعه جدا جدا , إذ يكفيك أن تعلم بأن الموقع كله مع إدارته كان عبارة عن صفحة واحدة تحوي كل شيء قد قمت ببرمجته ببضع ساعات فقط

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

تم الانتقال إلى استضافة مشاركة VPS بنظام تشغيل unix و لكن هذه المرة كانت هناك مشكلة أخرى وهي هجمات الطلبات المتكررة ddos attack و التي قد لاتكون متقصدة لمدونتي ولكن قد تكون على السيرفر نفسه أو لدولة معينة, و لعلاج هذه المشكلة تم استخدام وسيط يقوم بعمل جدار حماية من هذه الهجمات و يساعد في عمل كاش للموقع في حال سقوطه بسبب استنفاذ موارده بسبب هذه الهجمات و تم الاستعانة بخدمات موقع (cloudflare.com) , وكذلك الحال تم استضافة الموقع على سيرفر مستقل بخدمات سحابية Cloud

كما تم استخدام نظام إدارة المحتوى  (wordpress) و هو نظام مفتوح المصدر و مجاني و فيه الكثير من المميزات و الخصائص التي تريح في الإدارة و زيادة الوظائف في الوصول والخدمات.

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

المشكلة هنا كانت بضرورة إعطاء مجلد الويب على السيرفر صلاحية الكتابة على القرص لهذا النظام , لكي يمكنه من تحديث نفسه و سد ثغراته بنفسه

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

امم , ما العمل؟ , الحل كان بأن يتم إيقاف الوصول للقرص و ترك عملية التحديث لأن تكون بشكل يدوي , هذا متعب من جهة و يحتاج إلى متابعة مستمرة و لكنه قام بحل أغلب المشاكل

مالجديد؟ , الجديد حاليا هو وجود سكربت خبيث في الموقع الذي لا أعرف مصدره و لذا تجد أن الموقع يقوم أحيانا بتحويل الزوار إلى صفحة دعائية

وللتأكد من ذلك قمت بالأمس بعمل مسح لكامل السيرفر و تحميل نظام التشغيل (ubuntu 16) والذي يعد حتى تاريخ هذه المقالة الأحدث و الأكثر أمانا , و قمت بتحميل أحدث إصدار من برنامج إدارة المحتوى أيضا (wordpress 4.7.3) , وبالتأكيد تحميل هذه الملفات كان من المصدر الأم لكي يتم التأكد من عدم العبث بها

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

بعد ذلك قمت أيضا بأخذ نسخة من قاعدة البيانات و البحث في داخلها بجمل الاستعلام العامة عن وجود أي من عناوين الموقع المشؤوم الذي يتم التحويل إليه , و كذلك الحال تم اعادة رفع الاضافات (wordpress plugins) من موقع (wordpress) نفسه من جديد

حتى هذه النقطة كل مالدي هو حديث و جديد و لا يوجد أي ملفات قديمه , و تم رفع الموقع

للأسف المشكلة مازالت موجودة ومازال الموقع يقوم بتحويل الناس في بعض الأحيان إلى موقع آخر

امممم , ماهي الأسباب الأخرى التي قد تكون هي السبب؟

  • قد يكون الثيم المستخدم في الموقع؟
  • قد تكون أحد الإضافات تقوم باستدعاء ملفات من مواقع أخرى و قد أصبحت مصابة؟
  • قد يكون السكربت موجود بشكل مشفر ضمن قاعدة البيانات؟
  • قد تكون خدمات موقع (cloudflare) مصابة؟
  • قد تكون خدمات اختصار الروابط مصابة؟

ولذا سوف أضطر لأن أجرب يوما بعد يوم أين هو مصدر المشكلة , و قد بدأت بحذف كل الإضافات بالموقع , و في حال تكررت المشكلة سوف اغير الثيم , و في حال تكررت المشكلة سوف أضطر لعمل سكربت يدوي للبحث والتحقق من قواعد البيانات

تحديث: بعد بضع ساعات مازالت المشكلة مستمرة و لذا تم عمل الخطوات التالية

  •  تم اضافة خدمة مراقبة السيرفر (patchman.co) و لم تجد أي شيء
  • تم تغيير الثيم إلى الثيم الافتراضي الذي يأتي مع  (WordPress)

تحديث نهائي:

وجدت المشكلة وكانت في الثيم , فبمجرد الرجوع لثيم الورد بريس الأفتراضي لم تتكرر المشكلة , مع العلم بأن الثيم مشترى و ليس مجاني و من موقع موثوق (themeforest.net) إلا هذا لا ينفي بأنه يوجد دائما هناك ثغرات و قد تكون غير مقصودة , حيث أن الكثير من المطورين يقوموا باستخدام مكتبات جاهزة لتسريع أعمالهم و قد تكون هذه المكتبات تعتمد على مكتبات أخرى بدورها و لذا يمكن لأن تكون الثغرة في واحدة من هذه السلسلة الكبيرة من المكتبات و لذا الحل الوجيد الأن هو التواصل مع الشركة و اخبارهم بالمشكلة لعلهم اكتشفوا أين هي المشكلة أو أقوم أنا بتتبع السكربت لمعرفة أي الخلل و أن أقوم باصلاحه

في حال استفدت من هذه التدوينة , أو كنت خبيرا في هذه الأمور أو مرت عليك تجربة مماثلة , شاركنا بها في التعليقات

Share