سنة 2012 تم اختراق أكثر من 117000 موقع معروف يستخدم
ووردبريس ناهيك عن المواقع الغير معروفة ، رقم مهول حقا حيث ان 82.1% من
مستعملي مدونات ووردبريس ليست لهم ذراية كيف يعملون على حماية مدوناتهم من
الإختراق ، وعلى هذا الاساس هذه التدوينة ستساعدك على توفير اللبنة الاولى
في حماية مدونتك من الإختراق العشوائي وتبقى اهم خطوات الحماية التي يجبك
عليك تطبيقها على مدونتك ووردبريس وذات الولوية قصوى هي :
حماية مجلد Wp-admin
هذه الخطوة تتمثل في تحديد عنوان ايبي واحد من اجل تسجيل الدخول إلى مسار
wp-admin وهكذا فإنك ستمنع الهاكر من تخمين باسورد دخول الادمن كون انه يجب
عليه ان يكون عنده نفس الايبي الذي قمت بتحديده في ملف htaccess. طبعا إذا
كان لذيك ايبي متغير فيجب عليك تغيره في كل مرة على ملف htaccess. قبل
تسجيل الدخول وذلك بإنشاء ملف جديد htaccess. تم إضافة هذه القيم
AuthName "Wordpress Admin Access Control"
نقطة ثانية التي يمكنك كذلك إتباعها في حالة إن كان عندك عدة مدراء للموقع
هي عن طريق وضع جذار ناري للملف من خلال Cpanel الموقع حيث بعد ولوجك لـ
Cpanel انقر على تبويبPassword Protect Directories .
إختر المجلد الذي تود حمايته ضع إسم مستخدم وباسورد وعليه عند الرغبة في
الدخول إلى مجلد Wp-admin سيطلب منك اولا إدخال إسم مستخدم وكلمة مرور قبل
السماح لك بالدخول إلى ملف wp-admin وتسجيل الدخول بإسم الدخول وباسورد
إدارة مدونة ووردبريس .
حماية ملف wp-config.php
هذا الملف هو مسؤول عن إتصال المدونة مع سرفر الموقع ، كما ان هذا الملف
يتضمن بيانات حساسة للموقع كمعلومات قاعدة البيانات، يجب عليك حمايتها عن
طريق ملف htaccess. وذلك بإنشاء ملف جديد htaccess. وإضافة هذه البيانات
# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>
منع تصفح المسارات
من النقاط المهمة التي يجب عليك كذلك تتطبيقها على مدونتك هو منع الزوار من
تصفح مسارات الموقع لان بذلك تسمح للمهاجم ان يتعرف اكثر على الإضافات
المتواجدة في مدونتك وإصداراتها ... لهذا لكي نمنع تصفح المسار يكفي ان
تقوم بإضافة هذا السطر إلى ملف htaccess. الذي قمت بإنشائه
wp-content
يتوفر هذا الملف على إضافات الموقع ، الصور ، القوالب ، وعليه يمكن للهاكر
ان يبحث عن ثغرات الإضافات المتواجدة في موقعك لهذا ، ولكي نمنعه من تصفح
هذا المسار يجب عليك إضافة هذه الاسطر في الاسفل إلى ملف htaccess.
Order deny,allow
Deny from all
<Files ~ ".(xml|css|jpe?g|png|gif|js)$">
Allow from all
حماية htaccess.
يمكنك انها فكرة جنونية ولكنها ضرورية من اجل إخفاء ملف htaccess.عن اعين
الهاكر ، او توهيمهم انه لايوجد ملف من اجل تضيع وقتهم في الفراغ ، ويكون
ذلك عن طريق إخفاء اي كلمة تبتدأ بــ hta ، فقط قم بإضافة هذا السطر إلى
ملف
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>
الإضافات Plugins
من الفخاخ التى يقع فيها كذلك المدونون على مدونات الوورد بريس هو كثرة
إستعمال الإضافات plugins مما يجعل الموقع اكثر تهديدا مدام ان الهاكرز
يبحثون كذلك عن الثغرات الامنية المتواجدة في هذه الإضافات والتي تسمح لهم
بإختراق مدونتك ، وعليه يجب عليك ان تستعمل فقط الإضافات المشهورة والتي
تحدث بإسمترار بل وانصحك في حالة كانت مدونتك معروفة الا تستخدم إلا
الإضافات الغير مجانية او المبرمجة خصيصا لك والتي تحضىبالدعم والتحديث ،
وكذلك التقليل من الإضافات على قدر المستطاع من اجل تقليل المخاطر .
حذف إصدار الوردبريس
وهذا امر ضروري لكي تمنع الهاكر من الوصول إليك عن طريق محركات البحث ،
خصوصا جوجل ، حيث ان الهاكر بعد ان يكتشف او يحصل على ثغرة خاصة بإصدار
معين للورود بريس يشرع في البحث عن المدونات التي تستعمل نفس الإصدار عن
طريق البحث عن مايسمى ب dork هذا الاخير الذي سيضهر له جميع المدونات التي
تستعمل نفس الاصدار وسيشرع في إستغلال الثغرة على المدونات واحدة تلو
الاخرى وهناك إحتمال كبير ان تكون مدونتك كذلك من الضحايا وعليه يجب عليك
حذف إصدار المدونة عن طريق الذهاب إلى الملف functions.php تم إضافة السطر
الاتي :
remove_action('wp_head', 'wp_generator');
الحماية من هجمات SQLi
من الهجمات الاكثر تنفيذا من طرف الهاكر حيث يحاول الوصول إلى قاعدة بيانات
الموقع عن طريق حقن اكواد في روابط المدونة او كذلك من خلال مدخلات في
الموقع وعليه لمنع هذه الهجمات توجه اولا إلى هذا المسار في مدونتك :
wp-content/plugins
قم بإضافة مجلد بإسم blocksqli تم داخل الملف اضف ملف blocksqli.php والذي سيحتوي على الكود الاتي :
<?php
if($user_ID) {
if(!current_user_can('level_10')) {
if (strlen($_SERVER['REQUEST_URI']) > 255) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
}
if (strpos($_SERVER['REQUEST_URI'], "eval(") ||
strpos($_SERVER['REQUEST_URI'], "CONCAT") ||
strpos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
strpos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
?>