07-04-2019, 06:37 PM | #1 |
تاريخ التسجيل: Feb 2019
العمر: 38
المشاركات: 1,149
التقييم: 10
|
تاريخ التسجيل: Feb 2019
العمر: 38
المشاركات: 1,149
التقييم: 10
نصائح تساعدك علي حماية ووردبريس
1 – تعطيل محرر الاضافات والقوالب
يمكنك في ووردبريس من تعطيل محرر القوالب والاضافة بواسطة كود بسيط, لكن السؤال هو لماذا اعطلها ؟ سوف تعطلها لسببين وهما : السبب الأول : تمنع من اخترق حساب الأدمين للووردبريس من تعديل القوالب والاضافات وبهذه الطريقة تضمن عدم التلاعب بملفات القوالب والاضافات وقد تحدثنا عنها في التصاريح السبب الثاني : وهو انك لست في حاجة لهذه المحرارات اصلا لانها بسيطة بشكل عادي جدا ولا اظن ان شخص يستعملها في تحرير قوالبه او اضافاته ويمكنك الاستغناء عنها باستعمال محرر الاكواد الموجود في cpanel او محرر النصوص Notepad++ المهم اذا اردت تعطيلها فما عليك سوى اضافة الكود التالي الى ملف wp-config.php وبهذا تمنع اي استغلال لمحرارات Editor define( ‘DISALLOW_FILE_EDIT’, true );2 – حماية بواسطة htaccess هنا سنعرض بعض الطرق التي تساعدك ايضا في حماية ووردبريس وبطبيعة الحال سأعرض فقط الامور المهمة والتي لن تتسبب لك في اي مشاكل بنسبة لموقعك توجد طرق كتير لكن ليست مضومنة لاختلاف اعدادات الاستضافات حماية htaccess و wp-config.php هنا سنقوم بحماية هذه الملفات من القرائة بواسطة تغرات في الاضافات او ملفات الشل بالنسبة لثغرات فقد تكون auth pypass او local file include .مثلا لو وجدت تغرة في اضافة معينة تسمح بقرائة الملفات بالشكل التالي : http://sitename.com/wp-content/plugins/anyname/options.php?page=../../../wp-config.phpهنا سيكون الدور الفعال للهيتاكسس htaccess بمنع قرائة الملف وعرض خطاء forbidden 403 error يعني لاداعي من الخوف في حالة كانت الاضافة مصابة ولكن تتهاون في ترقية اضافاتك كلما وجد هناك تحديثات لها الكود الذي سنسنتعمل لحماية wp-config.php و htaccess : <Files .htaccess> order allow,deny deny from all satisfy all </Files> <Files wp-config.php> order allow,deny deny from all satisfy all </Files> لا تنسى اذا كانت لديك نطاقات فرعية مركب عليها نسخة اخرى من ووردبريس ان تقوم بهذه الخطوات لها ايضا منع تصفح مجلدات الموقع هذه الطريقة لها دور مهم وهو منع اي زائر يحاول تصفح مجلد معين عن طريق المتصفح هنا ستعرض صفحة خطاء 403 لمن يحاول تصفح اي مجلد واهميتهما تكمن في حالة كنت تضع ملفات مهمة في مجلد معين ولا تريد شخص الحصول عليها, والامر بسيط للغاية كل ما عليك هو اضافة هذا الكود التالي في ملف htaccess : Options -Indexes منع تنفيد ملفات في مجلد معين ان لم تهتم لجميع النصائح التي ذكرت والتي ساذكر بعد هذه ان شاء الله فلا تضيع تطبيق هذه الطريقة . الطريقة تعتمد على منع تشغيل اي سكريبت سواء php او cgi او perl في مجلد معين. يعني هذه الطريقة ستفيدك في حالة قام احد من الوصول الى حساب المدير (admin) في ووردبريس هنا حتى لو حاول رفع ملفات php, cgi او perl عن طريق الوسائط فلن تشتغل وهناك طريقتين لمنع الملفات من التنفيد ملاحظة يجب عليك اولا انشاء ملف htaccess داخل مجلد uploads غالبا ما يكون على المسار التالي لموقعك : http://sitename.com/wp-content/uploadsالطريقة الاولى بمنع cgi-script من التنفيد في مجلد معين وذالك بتحديد صيغ هذه الملفات في ملف htaccess بالشكل التالي : Options -ExecCGI AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi على فكرة يمكنك استعمال Options -ExecCGI بدون تحديد الملفات بواسطة AddHandler وسيتم تعطيل اي ملف يشكل خطر الطريقة الثانية بعرض صيغ ملفات معينة كنص عادي (plain-text) وفي هذا الحالة ان تم رفع ملف php وتم استعراضه من المتصفح فانه سيعرض اكواد php كما لونك تريد تحرير ملف php. كل ما عليك هو اضافة الكود التالي الى ملف htaccess : AddType text/plain .php .pl .py .jsp .asp .htm .shtml .sh .cgi الطريقة الثانية هي الافضل لان الطريقة الاولى سيتم عرض اخطاء كتيرة في ملف error_log بالنسبة لي افضل الاولى وانت اختر ما تشاء منها وما يناسبك منع تنفيد سلسلة من التغراث المحتملة كما نعلم فالعديد من المخترقين يستعملون بعض الطرق والادوات لتحليل الثغرات الموجودة في موقعك هنا سوف نقوم بمنعهم قبل اختراق الموقع هنا سنستعمل هذه الكود : RewriteCond %{REQUEST_METHOD} (GET|POST) [NC] RewriteCond %{QUERY_STRING} ^(.*)(%3C|RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)?javascript(%3A|:)(.*)$ [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)document\.location\.href(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)http(%3A|:)(/|%2F){2}(.*)$ [NC,OR] ## المرجوا الحظر من هذه القاعدة , يمكن ان تتسبب في بعض مشاكل التوجيه ## RewriteCond %{QUERY_STRING} ^(.*)base64_encode(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)GLOBALS(=|[|%[0-9A-Z]{0,2})(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)_REQUEST(=|[|%[0-9A-Z]{0,2})(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)(SELECT(%20|\+)|UNION(%20|\+)ALL|INSERT(%20|\ +)|DELETE(%20|\+)|CHAR\(|UPDATE(%20|\+)|REPLACE(%2 0|\+)|LIMIT(%20|\+))(.*)$ [NC] RewriteRule (.*) – [F] كما تلاحظون في الكود فهو يحتوي على بعض الاكواد التي تدل على بعض طرق الاختراق مثل XSS و SQL-Injection منع المخترق من تطبيق اوامر في حالة تم اختراقك بالفعل هذا سينفعك في حالة وقع الفأس في الرأس اي اذا قام المخترق بالولوج الى موقعك ورفع سكريبتات لتنفيد الاوامر (أكود خبيثة لادري لما اقول له هذا الاسم 🙂 في الحقيقة هو معروف بالشل لدى العرب وحتى الاجانب) في هذه الحالة هذا الكود سيقوم بمنع تنفيد العديد من الاوامر . لكن قد يتسبب لك بمشاكل مع ووردبريس يجب عليك اختباره وحذف القواعد التي تسبب لك مشاكل الكود ستجده في ملف نصي هنا لا تنسى تغيير /home/user/ باسم المستخدم الخاص بك في cpanel قبل نسخ الكود في ملف htaccess 3 – إخفاء الأخطاء البرمجية ل PHP بالنسبة لاخفاء الاخطاء البرمجية الغرض منها هو حماية اسم المستخدم الخاص بك خصوص لمستعملي cpanel فمكا نعلم ان اسم المستخدم يكون هو مسار الموقع مثال : /home/mouadوقد يستعمل هذا الاخير في ما يعرف بال (BruteForce) لكسر الباسورد الخاص بك في الاستضافة. المهم هناك ثلات طرق لاخفائ هذه الاخطاء البرمجية وقد قمت بتجربتها كلها ونجت معي طريقة واحدة وهي التي سأذكرها لكم واذكر الطرق الاخرى ايضا مع اني حاولت استعملها لاكنها لم تنجح معي الطرق التي ساذكر هنا قمت بايجدها في موقع Perishable Press الطريقة الاولى باستعمال php.ini ملاحظة هذه الطريقة ليست حصرية على الووردبريس يمكنكم استعمالها بالنسبة لاي موقع يستعمل اي سكريبت مثل جوملا هذه الطريقة الوحيدة التي اشتغلت معي على استضافة hostgator وهي سهلة التطبيق الان كل ما عليك هو تتبع الخطوات التالية : اولا قم بانشاء ملف باسم php_error.log حيث هذا الملف سيتم كتابة كل الاخطاء التي تقع في الموقع داخله دون عرضها في المتصفح ولا تنسى ان تعطيه التصريح 644 لكي يسمح بالكتابة عليه ثانيا نقوم بانشاء ملف php.ini والذي دوره تعطيل هذه الأخطاء وارسالها الى الملف الذي انشئنا من قبل php_error.log . الام قم بنسخ الكود التالي داخل ملف php.ini : display_startup_errors = false display_errors = false html_errors = false log_errors = true ignore_repeated_errors = false ignore_repeated_source = false report_memleaks = true track_errors = true docref_root = 0 docref_ext = 0 error_reporting = 999999999 log_errors_max_len = 0 error_log = /home/user/public_html/php_error.log الان قم بتغيير اليوزر في السطر 14 الى اسم المسخدم الخاص بك او بمعنى اخر غير المسار الى المسار المتواجد به ملف php_error.log بعد ذالك قم بحفظ الملف ثالتا نقوم باضافة قاعدة لملف htaccess لكي يتم إخفاء الاخطاء في جميع مجلدات الموقع وحتى النطاقات الفرعية سيشملها الاخفاء . هنا سنستعمل موديل suPHP لكن ليست كل الاستضافات تقوم بتفعيل, اذا لم يكون مفعل لديك سيحصل خطاء 500 inetrnal server error فيهذه الحالة ستضطر لنسخ ملف php.ini في جميع مجلدات موقعك والامر صعب بطبيعة الحال جرب الحلول التي سنذكرها لاحقا. الان كل ما عليك هو اضافة الكود التالي الى ملف htaccess : suPHP_ConfigPath /home/user/public_htmlرابعا بعد الانتهاء من الخطوات السابقة سنقوم بحماية ملف php.ini و php_error.log عن طريق اضافة قواعد لحماية في ملف htaccess بالشكل التالي : <Files php.ini> order allow,deny deny from all satisfy all </Files> <Files php_error.log> order allow,deny deny from all satisfy all </Files> الطريقة الثاني لاخفاء الاخطاء بواسطة htaccess هذه الطريقة تعتمد على ملف htaccess فقط لكن لا اظنها ستستغل في الاستضافات المشتركة حسبة ما قرأت في احدى المواقع المهم الطريقة سهلة اذا اردت اخفاء الاخطاء كل ما عليك هو اضافة القواعد التالية الى ملف htaccess : php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off واذا اردت ان تقوم بتسجيل الاخطاء في ملف معين قم بانشاء ملف باسم php_error.log واضافة القواعد التالية في ملف htaccess : php_flag log_errors on php_value error_log /home/user/public_html/php_error.log اذا تشتغلت مع الطريقة بدون مشاكل فلا تنسى ان تقوم بحماية الملف php_error.log باضافة القاعدة التالية : <Files .htaccess> order allow,deny deny from all satisfy all </Files> الطريقة الثالتة عن طريق wp-config.php هذه الطريقة ايضا لم تنجح معي وهي تعتمد على ادراج اكواد php عادية وليست خاصة فقط للوردبريس يعني ممكن نستعملها في اي سكريبت كل ما عليك هو اضافة الاكواد التالية الى ملف wp-config.php وانت حظك اذا اشتغلت : @ini_set(‘log_errors’,’On’); @ini_set(‘display_errors’,’Off’); @ini_set(‘error_log’,’/home/user/public_html/php_error.log’); المهم لا تنسى تغيير user الى اسم المستخدم الخاص بك او بمعنى اخر ضع المسار الكامل للملف php_error.log هذا كل ما يتعلق بإخفاء اخطاء php البرمجية وانصحك بتجربة الطرق الاخيرة قبل استعمال الطريقة الاولى بواسطة php.ini 4 – منع محاولات تسجيل الدخول بواسطة Brute-Force هنا سنقوم بحماية لوحة تحكم وردبريس بمنع المخترقين من تنفيد عملية bruteforce للحصول على باسوور مدير سكريبت ووردبريس وهناك اضافات عديدة لهذه الغرض انا اقترح عليكم الاضافة Login LockDown الاضافة عن تجربة تقوم بدورها الكامل واعداداتها سهلة جدا صفحة الاضافة على ووردبريس : http://wordpress.org/extend/plugins/login-lockdown/ اعدادات الاضافة : كما تلاحظون من خلال الصورة فهذه هي الاعدادات التي استعملها Max Login Retries : عدد المحاولات لتسجيل الدخول يستسحن تكون ثلاتة Retry Time Period Restriction : هنا نقوم بتحديد المدة التي يمكن خلالها محاولات تسجيل الدخول الثلاتة من نفس (IP) التي حددنها فوق Lockout Length : هنا نقوم بمنع او حضر تسجيل الدخول ل (IP) الذي قام بالمحاولات الثلاتة الفاشلة لمدة ساعة Lockout Invalid Usernames ? هذه الخاصية ستقوم بالمنع ايضا في حالة كان اسم العضو خطاء Mask Login Errors ? هنا نقوم باخفاء اخطاء تسجيل الدخول هذا كل ما في الامر بالنسبة لهذه الاضافة نصائح اخيرة
المصدر: منتديات رحيل لكل العرب - من قسم: قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress |
اقتباس |
أضف رد جديد |
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
نصائح تساعدك علي أختيار أفضل قالب ووردبريس | raheel | قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress | 0 | 31-03-2019 09:47 PM |
تعرف علي أفضل إضافات ووردبريس لعام 2019 | raheel | قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress | 0 | 27-03-2019 10:08 PM |
نصائح تساعدك علي الحفاظ على موقعك آمن في ووردبريس | raheel | قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress | 0 | 27-03-2019 07:00 PM |
دليلك الشامل لتأمين موقع ووردبريس | raheel | قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress | 0 | 27-03-2019 06:58 PM |
طريقة تساعدك علي نقل ووردبريس من خادم محلي إلى موقع حي | raheel | قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress | 0 | 25-03-2019 06:01 PM |