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

يُعد نظام الصلاحيات والأدوار في ووردبريس أحد الأهداف الرئيسية للمخترقين؛ فوصول المخترق إلى حساب مستخدم لديه صلاحيات عليا، يمكّنه من السيطرة الكاملة على الموقع، والتحكم في صلاحيات بقية المستخدمين، وتنفيذ ما يريد تنفيذه من عمليات ضارة بدون قيود.

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

نظام الأدوار والصلاحيات في ووردبريس

يعتمد ووردبريس على نظام الأدوار (Roles) لتنظيم المهام التي يمكن للمستخدمين القيام بها، اعتمادًا على الصلاحيات "Capabilities" التي يمتلكها كل دور، ويحتوي ووردبريس على ستة أدوار افتراضية، مرتبة من الأقل إلى الأعلى في الصلاحيات، على النحو التالي:

1 – المشترك (Subscriber)

المشترك هو أقل رتبة في الموقع، ويمتلك صلاحية واحدة فقط وهي Read التي تمكنه من قراءة التعليقات والمقالات المنشورة فقط، أي كأنه زائر لكن لديه حساب في الموقع.

2 – المساهم (Contributor)

يمتلك المساهم صلاحيات المشترك، بالإضافة إلى صلاحية إنشاء المسودات وتعديلها (edit_posts) وحذف المسودات (delete_posts)، لكنه لا يستطيع نشر المقالات.

 3 – الكاتب (Author)

لديه صلاحيات المساهم، بالإضافة إلى إمكانية رفع الملفات (upload_files)، ونشر مقالاته (publish_posts)، وتعديل وحذف مقالاته المنشورة.

4 – المحرر (Editor)

يمكنه إدارة (قراءة وتعديل ونشر وحذف) جميع المقالات والصفحات، إضافة إلى التحكم في التصنيفات والوسوم والتعليقات، ويمتلك الصلاحية unfiltered_html التي تسمح له بإضافة أكواد غير مفلترة.

5 – المدير (Administrator)

يمتلك السيطرة الكاملة على الموقع، بما في ذلك إدارة القوالب والإضافات والمستخدمين والإعدادات العامة.

6 – المدير العام (Super Admin)

وهي رتبة موجودة فقط في ووردبريس متعدد المواقع (WordPress Multisite)؛ حيث يكون المستخدم الموجود في هذا الدور مسؤول عن إدارة شبكة المواقع بالكامل، بينما يبقى المدير مسؤولا عن إدارة موقع واحد فقط داخل هذه الشبكة.

هل نظام الأدوار والصلاحيات الافتراضي كافي؟

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

أمثلة على المخاطر المرتبطة بالصلاحيات

يمكن أن تؤدي إدارة الصلاحيات غير الصحيحة إلى العديد من التهديدات الأمنية التي قد تضر بالموقع، ومن أبرز هذه المخاطر:

1 – هجمات داخلية متعمدة 

كنت أتعامل بحسن نية مع فريق الكتاب في أحد المواقع، وقد أعطيت للجميع صلاحيات المحرر لأنني أثق بهم، حيث كان الفريق يُجهز مقالات كل أسبوع كمسودات جاهزة للنشر، لكن فجأة وجدنا كثير من هذه المقالات تُنشر كما هي في موقع آخر! 

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

2 – اختراقات بسبب قلة الخبرة

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

3 – استغلال الصلاحيات لتنفيذ هجمات إلكترونية

في حال تمكن شخص ما من اختراق حساب محرر في موقعك، فإنه قد يستغل صلاحية unfiltered_html لزرع أكواد خبيثة مثل XSS أو Phishing، مما قد يؤدي إلى سرقة بيانات المستخدمين أو تنفيذ عمليات احتيالية.

نصائح عامة للتعامل مع الصلاحيات بدون إضافات

قبل استخدام أي إضافة للتحكم في الصلاحيات، يجب أن تتأكد من تطبيق النصائح التالية بعناية:

  • لا تعطي صلاحيات المدير لأي شخص إلا إن كنت تثق به وبخبرته التقنية والأمنية، ويفضل أن تجبر مستخدمي هذا الدور على تفعيل تسجيل الدخول بخطوتين 2FA لحساباتهم.
  • راقب تصرفات المستخدمين باستمرار من أجل منع سوء الاستخدام، وألغِ صلاحيات الحسابات غير النشطة على الفور لتجنب استغلالها.
  • امنح كل مستخدم الحد الأدنى من الصلاحيات الضرورية فقط، وفكّر بما يمكن لهذا المستخدم فعله باستخدام هذه الصلاحيات؛ مع وضع سيناريوهات احترازية واضحة في حالات الاختراق.

كيفية إدارة صلاحيات المستخدمين باستخدام إضافة متخصصة

لا يوفر ووردبريس إمكانية تعديل الصلاحيات افتراضيًا؛ فكل ما يمكنك فعله كمدير هو إنشاء وتحرير حسابات المستخدمين وإعطائهم الدور المناسب فقط، أما إذا أردت التحكم في الأدوار والصلاحيات؛ فيجب عليك استخدام إضافات متخصصة مثل إضافة User Role Editor أو إضافة PublishPress Capabilities، لكن سوف استخدم إضافة Members في هذا المقال لسهولة ضبطها وإعدادها.

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

يمكنك مشاهدة كافة الأدوار المتاحة حاليًا في موقعك من خلال صفحة Roles، ويمكنك أيضًا معرفة عدد المستخدمين في كل دور، وعدد الصلاحيات الممنوحة في عمود Granted وعدد الصلاحيات الممنوعة في عمود Denied، ولتحرير صلاحيات الدور اضغط على Edit أسفل الـ Role المطلوب تعديل صلاحياته، ونفذ التغييرات التي تريدها، فيظهر تأثير التغييرات على كل المستخدمين أصحاب هذا الدور دفعة واحدة، وإليك أبرز التعديلات الموصى بعملها على الصلاحيات الافتراضية:

  1. حذف صلاحية unfiltered_html من دور المحرر
  2. منع المحرر والكاتب من حذف المقالات المنشورة
  3. فصل صلاحيات إنشاء المقالات عن التحرير

كيفية تتبع أنشطة المستخدمين في ووردبريس

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

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

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

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