حماية الموقع من الثغرات

حماية الموقع من الثغرات


1. منع رفع الشلّات Web Shell عبر فحص امتدادات الملفات

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

function restrict_upload_mimes($mimes) {
// السماح بامتدادات معينة فقط
return [
'jpg|jpeg|jpe' => 'image/jpeg',
'png' => 'image/png',
'gif' => 'image/gif',
'pdf' => 'application/pdf',
];
}
add_filter('upload_mimes', 'restrict_upload_mimes');

2. تعطيل تنفيذ ملفات PHP في مجلدات معينة

1. الكود الأول:

<Files *.php>
deny from all
</Files>

هذا الكود بسيط ويهدف إلى منع تنفيذ أي ملفات PHP داخل مجلد معين (مثل uploads أو wp-includes). وهو مفيد في:

  • منع تشغيل ملفات PHP التي قد تكون ضارة داخل هذه المجلدات.
  • حماية المجلدات التي يجب أن تحتوي على ملفات وسائط فقط (صور، فيديوهات) أو ملفات النظام الضرورية، وليس ملفات PHP.

يعتبر هذا الكود حلاً مناسبًا لمنع رفع الملفات الضارة مثل “الشلات” (shells) التي قد تسمح للهاكرز بتنفيذ أوامر عن بُعد.

2. الكود الثاني (حظر شامل وتحسينات أمان إضافية):

# BEGIN Security Block
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^wp-admin/includes/ – [F,L]
RewriteRule !^wp-includes/ – [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ – [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php – [F,L]
RewriteRule ^wp-includes/theme-compat/ – [F,L]
</IfModule>

# Disable directory listing
Options All -Indexes

# Remove header with PHP version
Header always unset X-Powered-By
Header unset X-Powered-By
# END Security Block

هذا الكود يعتبر أكثر شمولاً ويوفر عدة مستويات من الأمان:

  • حظر ملفات PHP داخل wp-admin وwp-includes: يمنع تشغيل بعض ملفات PHP التي يجب أن تكون محدودة الوصول.
  • تعطيل خاصية عرض محتويات المجلدات (Options All -Indexes): يمنع عرض الملفات داخل المجلدات في حال عدم وجود ملف index.php، مما يصعّب معرفة محتويات الموقع على الهاكرز.
  • إخفاء إصدار PHP المستخدم (Header unset X-Powered-By): يمنع عرض إصدار PHP في رأس الاستجابة، وهذا يساهم في تقليل فرص استغلال الثغرات التي تعتمد على معرفة إصدار PHP.

إذاً:-

  • الكود الأول: مناسب لمنع تنفيذ ملفات PHP فقط داخل مجلدات مثل uploads وwp-includes.
  • الكود الثاني: يقدم حماية أكثر شمولية، فهو يمنع بعض الأنشطة الضارة ويضيف مستويات أمان أخرى مثل حظر ملفات معينة وإخفاء المعلومات الحساسة.

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


3. تقييد وصول المستخدمين إلى لوحة التحكم

لتجنب استغلال الثغرات، يمكنك تقييد الوصول إلى لوحة التحكم لمستخدمين محددين عبر عناوين IP معينة، وذلك بإضافة الكود التالي في ملف .htaccess داخل مجلد wp-admin:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^123.456.789.000$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>

ملاحظة: استبدل 123.456.789.000 بعنوان IP الخاص بك.

4. منع تنفيذ كودات JavaScript و iFrames غير المرغوب فيها

إذا كنت ترغب في تقليل احتمال حقن أكواد خبيثة، يمكنك تعطيل تفعيل JavaScript و iFrames غير الضرورية في ملفات .htaccess:

<IfModule mod_security.c>
SecFilterEngine On
SecFilterScanPOST On
# منع JavaScript المضمن
SecFilter "<script>"
SecFilter "<iframe>"
</IfModule>

5. تفعيل مانع رفع الأكواد الخبيثة في الخادم

يمكن استخدام إعدادات الخادم لمنع تحميل الأكواد الخبيثة (مثل أكواد PHP وJavaScript غير المرغوب فيها) في مجلد uploads، عبر إضافة الكود التالي في .htaccess:

AddHandler application/x-httpd-php .php .phtml .php3 .php4 .php5
<FilesMatch "\.(php|phtml|php3|php4|php5)$">
Order Allow,Deny
Deny from all
</FilesMatch>

6. تعطيل الوظائف التي قد تكون ضارة في PHP

يمكنك تعطيل بعض الدوال الضارة من خلال php.ini لمنع الشلّات من استغلالها. ابحث عن خيار disable_functions وأضف الدوال التالية:

disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open

ملاحظة: تأكد من أن هذه الإعدادات لا تؤثر على الوظائف الأساسية للموقع.

7. الحماية من الفيروسات وخصوصا الفيروس الياباني الشهير

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

  • لا تستخدم أبداً قالب أو إضافة Nulled أو GPL ، تأكد من شراءها من الموقع الرسمي للمطور أو من مواقع موثوقة مثلاً ThemeForest
  • تأكد من تحديث ووردبريس والإضافات والقوالب دائمًا.
  • فحص وضبط صلاحيات الملفات بحيث لا يمكن تعديل الملفات المهمة. استخدم الكود التالي في wp-config.php لجعل الملفات غير قابلة للتعديل:
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);
  • إضافة كود في .htaccess لمنع حقن أكواد خبيثة في الموقع:
<IfModule mod_security.c>
SecFilterEngine On
SecFilterDefaultAction "deny,log,status:406"
SecFilter "default_action=allow"
</IfModule>

8. تفعيل الحماية من خلال HTTP Security Headers

إضافة هذه الأوامر في .htaccess يعزز حماية الموقع ضد الهجمات المختلفة:

# حماية ضد هجمات XSS
Header set X-XSS-Protection "1; mode=block"
# منع تحميل موارد من مواقع أخرى
Header set Content-Security-Policy “default-src ‘self'”# حماية ضد هجمات التصيد
Header set X-Content-Type-Options “nosniff”# منع تضمين الموقع في iFrames
Header always append X-Frame-Options SAMEORIGIN

9- منع الوصول إلى  ملف xmlrpc.php

ضع الكود التالي في ملف htaccess ووظيفته يمنع الوصول إلى  ملف xmlrpc.php

<Files xmlrpc.php>

    Order Deny,Allow

    Deny from all

</Files>

 

إذا فتحت https://website.com/xmlrpc.php (استبدل website.com برابط موقعك) وظهر مثل الصورة التالية إذاً متاح الوصول للملف ويجب إضافة الكود السابق

بعد تركيب الكود يجب أن يظهر الملف على الشكل التالي

10- منع الوصول إلى  ملف htaccess من داخل لوحة الووردبريس

ملف htaccess يعتبر من الملفات الهامة والحساسة و core الأمان لأي موقع، لذلك يجب عليك منع الوصول إلى هذا الملف من داخل ال WordPress dashboard

حيث أن هناك إضافات مثل yoast او rankmath لديها القدرة على الوصول إلى الملف (ولا مشكلة في الوصول إلى الملف) لكن المشكلة في القدرة على تعديله من داخل لوحة التحكم

حيث أن تعديل الملف يجب أن يكون متاح فقط عبر الإستضافة Hosting Provider

ولمنع التعديل أو الكتابة إلا من خلال لوحة التحكم مثل cPanel نحول تصريح الملف إلى 444

خطوات تغيير تصريح ملف .htaccess إلى 444 لحمايته من التعديل:

  • افتح لوحة تحكم الاستضافة الخاصة بك (مثل cPanel).
  • اذهب إلى مدير الملفات (File Manager).
  • ابحث عن ملف .htaccess في المجلد الرئيسي لموقعك (عادةً يكون داخل مجلد “public_html”).
  • انقر بزر الماوس الأيمن على الملف واختر الخيار “Permissions” (الأذونات) من القائمة.
  • ستظهر لك نافذة إعدادات التصاريح، اختر التصريح 444، وهو الذي يسمح بالقراءة فقط (Read)، ويمنع الكتابة (Write) أو التعديل على الملف.
  • اضغط على “Save” (حفظ) لحفظ التعديلات.

الآن شاهد الملف داخل إضافة رانك ماث (أصبح غير قابل للكتابة أو التعديل وهذا المطلوب)

 

11- منع تعديل الثيم من داخل الداش بورد

هناك خاصية في ووردبريس اسمها محرر ملفات القالب وهي تتيح الوصول والتعديل على ملفات الووردبريس

ولحماية ووردبريس يجب منع تعديل القالب والملفات من الداش بورد

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

الخطوات:

  1. افتح لوحة تحكم الاستضافة الخاصة بك (مثل cPanel).
  2. اذهب إلى مدير الملفات (File Manager)، ثم إلى مجلد موقعك الرئيسي الذي يحتوي على ملفات ووردبريس (عادةً يكون “public_html”).
  3. ابحث عن ملف wp-config.php وافتحه للتحرير.
  4. أضف السطر التالي في أي مكان داخل الملف، ويفضل أن يكون قبل السطر /* That's all, stop editing! Happy blogging. */:
    define('DISALLOW_FILE_EDIT', true);

نصائح إضافية

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

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

لا تعليق

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *