تقوية MySQL لموقعك على WordPress

نشرت: 2023-01-18

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

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

تنبيه ، هذه المقالة موجهة إلى MySQL 8.0 الذي يعمل على Linux (Ubuntu). بينما سيتم ترجمة المفاهيم إلى أنظمة تشغيل أخرى وإصدارات MySQL / MariaDB ، قد تختلف الأوامر ومسارات الملفات المستخدمة في هذه الأمثلة. قبل إجراء أي تغييرات على نظام الإنتاج ، يُنصح بشدة باختبار أي تغييرات في بيئة التدريج أو بيئة ما قبل الإنتاج.

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

جدول المحتويات

  • ضع في اعتبارك استخدام قاعدة البيانات كخدمة (DBaaS
  • حافظ على تحديث MySQL
  • قم بتشغيل MySQL على جهاز مخصص
  • اربط MySQL بعنوان IP
  • الحد من استخدام أدوات واجهة المستخدم الرسومية المستندة إلى الويب
  • قم بتشغيل برنامج MySQL الخفي باستخدام مستخدم مخصص
  • استخدم البرنامج النصي mysql_secure_installation
  • قم بإنشاء مستخدم قاعدة بيانات WordPress مخصص
  • تأكد من تعطيل ملف local_infile
  • تعطيل سجل أوامر MySQL
  • تأكد من أن mysqld لم يبدأ بالوسيطة –skip-Grant-Tables
  • قم بعمل نسخة احتياطية من قاعدة البيانات الخاصة بك
    • خذ نسخ احتياطية متكررة
    • تحقق من سلامة النسخ الاحتياطية بشكل متكرر
    • قم بتخزين النسخ الاحتياطية الخاصة بك بشكل آمن
  • تمكين وفرض اتصالات TLS
    • قم بتغيير بادئة الجدول
    • كيفية تنفيذ التغييرات
    • الحفاظ على WordPress الخاص بك آمنًا

فكر في استخدام قاعدة البيانات كخدمة (DBaaS)

قاعدة البيانات كخدمة تستحق الدراسة إذا كنت لا تستضيف WordPress على خطة مُدارة. يستبدل النموذج التقليدي لتثبيت MySQL محليًا بخدمة تتصل بها. قد يناسب هذا حالة الاستخدام الخاصة بك إذا كنت تقوم بتشغيل موقع WordPress الخاص بك مع مزود استضافة يقدم خدمات قواعد البيانات المدارة. تشمل الخيارات المتاحة بشكل عام Amazon RDS و DigitalOcean Managed MySQL و Linode Managed MySQL). في الظاهر ، يمكن أن تكون هذه الخدمات أكثر تكلفة من تشغيل MySQL بنفسك. ومع ذلك ، فإنهم يقومون بكل الرفع الثقيل لتشغيل قواعد بيانات مستوى الإنتاج. تتضمن معظم الخدمات الإعدادات المسبقة لأفضل ممارسات الأمان وتصحيحات الأمان المستمرة والصيانة والنسخ الاحتياطية.

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

حافظ على تحديث MySQL

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

قم بتشغيل MySQL على جهاز مخصص

تقوم العديد من عمليات تثبيت WordPress بتشغيل MySQL و PHP وخادم ويب (مثل Nginx أو Apache HTTP Server) على نفس الجهاز. هذا ليس هو الأمثل - سواء من حيث الأداء والأمان. يجب تشغيل MySQL بشكل مثالي على خادم مخصص لتقليل نصف قطر الانفجار للهجوم. إذا تمكن المهاجم من اختراق الامتيازات وتصعيدها على خادم الويب ، فسيكون من الصعب جدًا على هذا المهاجم التحرك بشكل جانبي وأيضًا اختراق خادم MySQL.

اربط MySQL بعنوان IP

يمكنك تكوين MySQL لقبول اتصالات TCP / IP فقط من واجهة IPv4 أو IPv6 محددة. كل ما عليك فعله هو تعيين خيار تكوين عنوان الربط على عنوان IP محدد. يوفر هذا ضوابط وقيودًا إضافية على كيفية اتصال تطبيقات العميل (في حالتنا ، WordPress) بـ MySQL. بشكل افتراضي ، يتم تعيين هذا الإعداد على * ، مما يعني أن MySQL خارج الصندوق ستستمع إلى جميع الواجهات.

إذا لم يتم تكوينه للاستماع إلى عنوان IP محدد ، فيمكن استخدام جميع عناوين IP للاتصال بـ MySQL. هذا الإعداد مهم بشكل خاص لضبط ما إذا كنت تقوم بتشغيل MySQL على نفس الجهاز كخادم الويب الذي تعرضه للإنترنت (في هذه الحالة ، يجب عليك تعيين عنوان الربط على 127.0.0.1 حتى تستمع MySQL إلى المضيف المحلي فقط) .

على سبيل المثال ، إذا كنت تريد أن يقبل خادم MySQL الاتصالات على عنوان IPv4 محدد فقط ، فيمكنك إضافة إدخال مشابه للمثال أدناه. يجب إدخال هذا ضمن مجموعة خيارات [mysqld] في ملف التكوين /etc/mysql/mysql.conf.d/mysqld.cnf الخاص بالخادم.

عنوان الربط = 192.168.0.24

لاحظ أنه بمجرد تعيين هذا ، ستحتاج إلى إعادة تكوين WordPress للاتصال بقاعدة البيانات باستخدام عنوان IP هذا (ما لم تكن تفعل ذلك بالفعل) نظرًا لأنه لن يُسمح بالاتصالات على عناوين مضيف الخادم الأخرى.

الحد من استخدام أدوات واجهة المستخدم الرسومية المستندة إلى الويب

تتضمن العديد من عمليات تثبيت WordPress أدوات إدارة رسومية للواجهة الأمامية تستند إلى الويب. تشمل الأمثلة الشائعة Cpanel أو phpMyAdmin أو Adminer. تسهل هذه الأدوات إدارة MySQL والجوانب الأخرى للبنية التحتية الأساسية. بينما يمكن أن تساعدك الواجهة الرسومية المستندة إلى الويب في إدارة قواعد بيانات MySQL الخاصة بك ، يمكن لهذه الواجهات أن تزيد من سطح الهجوم عن طريق إضافة متجه آخر. علاوة على ذلك ، هناك خطر أن يتم اكتشافها وإساءة استخدامها من قبل المهاجمين لتشغيل استعلامات SQL مدمرة أو ضارة ضد قاعدة البيانات الخاصة بك. قد تؤدي الهجمات إلى استيلاء كامل على موقع WordPress الخاص بك.

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

من الممكن تقييد الوصول إلى هذه الأدوات بعدة طرق. يمكنك تثبيت phpMyAdmin for WordPress عن بعد ، وبالتالي تقليل المخاطر على خادم الويب. بدلاً من ذلك ، قد ترغب أيضًا في التفكير في استخدام أدوات مثل MySQL Workbench أو Beekeeper Studio على جهازك المحلي والاتصال بخادم قاعدة البيانات عبر نفق SSH.

قم بتشغيل برنامج MySQL الخفي باستخدام مستخدم مخصص

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

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

ps -ef | egrep “^ mysql. * $”

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

استخدم البرنامج النصي mysql_secure_installation

تأتي حزمة mysql-server مع أداة نصية برمجية تسمى mysql_secure_installation. يمكنك استخدام هذا البرنامج النصي لإعداد نقطة بداية آمنة لخادم MySQL. على هذا النحو ، يجب عليك تشغيله بعد تثبيت جديد لـ MySQL. تساعدك هذه الأداة على:

  • قم بتعيين كلمة مرور لحسابات الجذر
  • قم بإزالة حسابات الجذر التي يمكن الوصول إليها من خارج المضيف المحلي
  • قم بإزالة حسابات المستخدمين المجهولة
  • قم بإزالة قاعدة بيانات الاختبار (والتي يمكن الوصول إليها افتراضيًا بواسطة مستخدمين مجهولين)

لاستدعاء mysql_secure_installation ، قم بتشغيل الأمر التالي:

sudo mysql_secure_installation

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

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

بعد ذلك ، سيطالبك البرنامج النصي بإزالة مستخدمي MySQL المجهولين. هذا مهم لتقليل أي فرصة للمهاجمين للوصول إلى خادم قاعدة البيانات من خلال الاستفادة من مستخدم MySQL مجهول.

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

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

حذف قاعدة البيانات الافتراضية

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

قم بإنشاء مستخدم قاعدة بيانات WordPress مخصص

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

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

يمكن استخدام عبارة SQL التالية (استبدل <host> و <password> و <database> لتناسب احتياجاتك) لإنشاء مستخدم مخصص لموقع WordPress الخاص بك ومنح امتيازات للاستخدام المنتظم. ضع في اعتبارك أن بعض مكونات WordPress الإضافية والسمات وتحديثات WordPress قد تحتاج أحيانًا إلى امتيازات إضافية للعمل بشكل صحيح (راجع إرشادات WordPress الرسمية حول هذا لمزيد من المعلومات)

تأكد من تعطيل ملف local_infile

تسمح لك عبارة LOAD DATA بتحميل ملفات البيانات إلى جداول قاعدة البيانات. في ظل ظروف محددة ، يمكن إساءة استخدام هذا لقراءة الملفات من خادم MySQL. على هذا النحو ، ما لم يكن لديك حالة استخدام محددة لهذا في موقع WordPress الخاص بك ، يجب عليك تعطيل هذه الميزة.

إذا كان MySQL وخادم الويب يعملان على نفس الجهاز ، فقد يسمح للمهاجم باستخدام عبارة LOAD DATA LOCAL لقراءة الملفات التعسفية التي يمكن لعملية خادم الويب الوصول إليها للقراءة. يفترض هذا أن المهاجم لديه القدرة على تشغيل عبارات SQL عشوائية ضد MySQL. قد يكون هذا هو الحال مع ثغرة في حقن SQL أو من خلال تثبيت مكون WordPress خبيث. هذا سبب آخر للإبقاء على خادم الويب وخوادم قاعدة البيانات منفصلة.

افتراضيًا ، يتم تعطيل ملف local_infile في MySQL 8.0 (كان يتم تمكينه افتراضيًا في الإصدارات السابقة من MySQL). لمنع خادم MySQL من قبول عبارات LOAD DATA LOCAL ، تأكد من بدء تشغيل البرنامج الخفي mysqld مع ملف local_infile المعطل.

قم بتعطيل سجل أوامر MySQL

في نظام Linux ، يتم حفظ عبارات سجلات عميل MySQL المنفذة بشكل تفاعلي في ملف محفوظات (يوجد عادةً في $ HOME / .mysql_history). يجب تعطيل محفوظات أوامر MySQL بشكل مثالي لأن هذا يقلل من احتمالية كشف المعلومات الحساسة ، مثل كلمات المرور أو مفاتيح التشفير أو الأسرار الأخرى.

للتحقق من عدم وجود ملفات .mysql_history على النظام ، قم بتشغيل الأوامر التالية:

find / home -name ".mysql_history"
find / root -name ".mysql_history"

إذا أعادت الأوامر المذكورة أعلاه أي إخراج ، فقم بإزالة أي ملفات .mysql_history. بالإضافة إلى ذلك ، يمكنك تعيين $ HOME / .mysql_history كارتباط رمزي لـ / dev / null على النحو التالي:

ln -s / dev / null $ HOME / .mysql_history

تأكد من أن mysqld لم يبدأ بالوسيطة –skip-Grant-Tables

إذا فقدت كلمة مرور جذر MySQL ، في حين أنها ليست الطريقة المفضلة ، فقد يلجأ بعض مسؤولي MySQL إلى ضبط MySQL للبدء باستخدام الوسيطة –skip-Grant-Tables. عند بدء تشغيل MySQL بهذه المعلمة ، سيتجنب التحقق من جداول المنح الخاصة به عندما يتصل العميل أو يقوم بتشغيل استعلام ، مما يسمح بشكل فعال لأي شخص ، في أي مكان (بشرط أن يتمكن من الوصول إلى قاعدة البيانات عبر الشبكة) ، بفعل أي شيء على خادم قاعدة البيانات.

للتأكد من عدم تمكين جداول المنح –skip ، افتح ملف /etc/mysql/mysql.conf.d/mysqld.cnf الخاص بالخادم وابحث عن جداول منح التخطي. يجب إما عدم تعيين القيمة أو تعيينها على جداول منح التخطي = FALSE.

قم بعمل نسخة احتياطية من قاعدة البيانات الخاصة بك

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

خذ نسخ احتياطية متكررة

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

تحقق من سلامة النسخ الاحتياطية بشكل متكرر

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

قم بتخزين النسخ الاحتياطية الخاصة بك بشكل آمن

لا تحتفظ بنسخ احتياطية من موقع WordPress الخاص بك على الويب أو خادم قاعدة البيانات (خاصة على خادم الويب الخاص بك). تعتبر النسخ الاحتياطية مكانًا رائعًا للمهاجمين للذهاب للغوص في القمامة. يُنصح بشدة بتخزين النسخ الاحتياطية في مكان آمن خارج الموقع. إذا كنت تقوم بعمليات تفريغ دورية لقاعدة البيانات ، ففكر في تخزين عمليات تفريغ قاعدة البيانات في خدمة تخزين الكائنات. يمكن أن يشمل ذلك Amazon S3 ، و Cloudflare R2 ، و DigitalOcean Spaces ، و Linode Object Storage ، وما إلى ذلك. يمكن أن يكون اتباع هذا المسار طريقة رائعة وفعالة من حيث التكلفة لتخزين النسخ الاحتياطية لقاعدة البيانات الخاصة بك. ومع ذلك ، كن حذرًا جدًا بحيث لا تجعل دلو التخزين الذي تستخدمه متاحًا للجمهور.

تمكين وفرض اتصالات TLS

ما لم تكن تقوم بتشغيل MySQL على نفس الجهاز مثل خادم الويب الخاص بك (والذي ، كما ذكرنا أعلاه ، ليس ممارسة أمنية مثالية) ، يوصى بشدة بتشفير البيانات بين WordPress و MySQL باستخدام Transport Layer Security (شهادة TLS) ، يشار إليها سابقًا باسم Secure Socket Layer (شهادة SSL).

بشكل افتراضي ، عندما تقوم بتثبيت MySQL ، فإنه سينشئ لك تلقائيًا شهادة موقعة ذاتيًا. يمكنك التحقق من ذلك عن طريق تشغيل ما يلي (بدلاً من ذلك ، يمكنك استخدام البرنامج النصي mysql_ssl_rsa_setup لإنشاء شهادات جديدة).

ستحتاج إلى نسخ ca.pem من القائمة أعلاه (على سبيل المثال ، عبر SCP) إلى الخادم الذي يقوم بتشغيل موقع WordPress الخاص بك. بمجرد تحميل ملف ca.pem إلى خادم WordPress الخاص بك ، ستحتاج إلى نقل الشهادة إلى مخزن الشهادات الموثوق به لنظام التشغيل وتحديث مخزن الشهادات الموثوق به على النحو التالي.

تنبيه ، يجب أن ينتهي اسم ملف شهادة CA بامتداد ملف .crt (على سبيل المثال ، mysql-ca.crt صالح ، لكن mysql-ca.pem.crt أو mysql-ca.pem غير صالحين).

sudo mv ca.pem /usr/local/share/ca-certificates/mysql-ca.crt
sudo تحديث الشهادات كاليفورنيا

بعد ذلك ، تحتاج إلى تكوين WordPress لاستخدام TLS عند الاتصال بـ MySQL عن طريق إضافة ما يلي إلى ملف wp-config.php الخاص بتثبيت WordPress الخاص بك.

تعريف ('MYSQL_CLIENT_FLAGS' ، MYSQLI_CLIENT_SSL) ؛

بمجرد تحديث wp-config.php ، سيبدأ WordPress اتصالات بخادم MySQL باستخدام TLS.

بعد ذلك ، يوصى بفرض اتصالات TLS بخادم MySQL باستخدام متغير نظام include_secure_transport عن طريق إضافة ما يلي إلى ملف /etc/mysql/mysql.conf.d/mysqld.cnf الخاص بك.

يتطلب_secure_transport = تشغيل

أخيرًا ، أعد تشغيل MySQL لتصبح التغييرات سارية المفعول.

إعادة تشغيل systemctl mysql

قم بتغيير بادئة الجدول

بشكل افتراضي ، يتم إنشاء جميع جداول WordPress بالبادئة "wp_". هذا يمكن أن يسهل على المهاجمين النجاح في هجمات معينة ، مثل حقن SQL ، لأنهم سيعرفون أسماء جداول قاعدة البيانات. في حين أن هذا وحده لن يحميك ، إلا أنه تمرين مباشر ، أوصى به الكثيرون كأفضل ممارسة أمان في WordPress.

يمكنك تغيير بادئة قاعدة البيانات أثناء عملية التثبيت أو في أي وقت بعد ذلك ، على الرغم من أن الأخير أكثر تعقيدًا بعض الشيء. في كلتا الحالتين ، يمكنك العثور على دروس عبر الإنترنت حول تغيير بادئة قاعدة بيانات WordPress.

كيفية تنفيذ التغييرات

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

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

الحفاظ على WordPress الخاص بك آمنًا

ضع في اعتبارك أن المهاجمين غالبًا ما يلاحقون أهدافًا سهلة لأنهم لا يحتاجون إلى بذل الكثير من الجهد لاستغلال مواقع الويب ذات التأمين الضعيف. كونك متقدمًا على الموقف الأمني ​​لموقع WordPress التالي يجعلك هدفًا أقل جاذبية.