أفضل النصائح لأمن MySQL و MariaDB
نشرت: 2022-01-08الأمن هو مصدر قلق كبير لكثير من الناس. سيعطيك هذا المنشور عشر نصائح حول كيفية تحقيق أمان MySQL و MariaDB من أجل جعل قواعد بياناتك آمنة من المتسللين. تتضمن هذه النصائح: نسخ البيانات احتياطيًا ، واستخدام كلمات مرور قوية ، وتقييد امتيازات الوصول.
أفضل النصائح لأمن MySQL و MariaDB
فيما يلي أفضل النصائح لتحقيق أمان MySQL و MariaDB:
إزالة المستخدمين بدون كلمة مرور
إذا كان لديك مستخدمون في قاعدة البيانات الخاصة بك بدون كلمات مرور ، فمن الأفضل إزالتهم. سيساعد هذا في تقليل فرص تمكن شخص ما من اختراق قاعدة البيانات الخاصة بك. يمكنك استخدام الاستعلام التالي لإزالة هؤلاء المستخدمين:
بغض النظر عما إذا كان المستخدمون لديهم حق الوصول فقط من المضيف المحلي أم لا ، يجب حذفهم لإيقاف تشغيل أي أوامر سلبية. أيضًا ، تمثل كلمات المرور الضعيفة خطرًا أمنيًا في حد ذاتها.
يجب عليك دائمًا استخدام كلمات مرور قوية عند إنشاء مستخدمين في قواعد البيانات الخاصة بك. يسهل اختراق المتسللين لكلمات المرور الضعيفة ، مما قد يؤدي إلى وصولهم إلى قاعدة البيانات الخاصة بك وإحداث فوضى فيها إذا قاموا بإدارة ذلك. سيساعدك استخدام مُنشئ كلمات مرور تلقائي في إنشاء كلمات مرور أقوى لك يصعب اختراقها.
يجب عليك أيضًا التفكير في استخدام المصادقة ذات العاملين لمستخدميك. سيتطلب هذا رمزًا إضافيًا ، يتم إرساله عادةً إلى هواتفهم ، من أجل تسجيل الدخول إلى قاعدة البيانات. هذا يجعل الأمر أكثر صعوبة على شخص ما للوصول إذا كان لديه اسم المستخدم وكلمة المرور فقط.
تقييد الوصول عن بعد
إذا لم تكن بحاجة إلى منح حق الوصول عن بعد إلى قاعدة البيانات الخاصة بك ، فمن الأفضل تقييدها. سيساعد هذا في تقليل فرص تمكن شخص ما من اختراق قاعدة البيانات الخاصة بك من موقع بعيد.
لحسن الحظ ، فإن أحدث إصدارات MySQL و MariaDB تحد تلقائيًا من الوصول عن بُعد إلى قاعدة البيانات ما لم ينص على خلاف ذلك. ومع ذلك ، لا يزال يتعين عليك التحقق من إعدادات الأمان الخاصة بك للتأكد من أن هذه هي الحالة.
إنها لفكرة جيدة أيضًا التأكد من اتصال جميع المستخدمين بـ MySQL من خلال المضيفين المحددين الذين تريدهم فقط. على سبيل المثال ، يمكن القيام بذلك باستخدام ([email protected]).
قم بإزالة اختبار قاعدة البيانات
عند تثبيت MySQL أو MariaDB ، يتم إنشاء قاعدة بيانات اختبارية تلقائيًا. تحتوي قاعدة البيانات هذه على بيانات يمكن استخدامها لاختراق قواعد بياناتك الحقيقية إذا وقعت في الأيدي الخطأ. من الأفضل إزالة قاعدة البيانات هذه بحيث لا يمكن استخدامها لأغراض شائنة.
تسبب قاعدة بيانات الاختبار هذه أيضًا ضغطًا غير ضروري على خادم قاعدة البيانات. يتم استخدامه فقط بواسطة مختبري قواعد البيانات لاختبار الاستعلامات ، لذلك يمكن إزالته دون التأثير على وظائف قواعد البيانات الخاصة بك.
الوصول المبهم إلى MySQL
إذا كنت لا تريد أن يعرف الناس أن قاعدة البيانات الخاصة بك موجودة ، فيمكنك تشويش الوصول إليها. هذا سيجعل من الصعب على أي شخص العثور على قاعدة البيانات الخاصة بك واختراقها.
كما أن حجب الوصول يجعل الأمر أكثر صعوبة على أي شخص يراقب حركة المرور الخاصة بك لتحديد المنافذ التي يتم استخدامها بواسطة MySQL أو MariaDB.
من المعروف أن MySQL تعمل على المنفذ 3306 ، بينما "root" هو اسم المستخدم المتميز. يمكنك إصلاح ذلك عن طريق تحرير my.cnf وتغيير متغير "المنفذ".
تأمين ملفات التكوين الخاصة بك
كما هو الحال مع أي تطبيق ، من المهم تأمين ملفات التكوين الخاصة بك لـ MySQL أو MariaDB. تحتوي هذه الملفات على معلومات حساسة ، مثل كلمات المرور وبيانات المستخدم. سيساعد تأمين هذه الملفات في منع أي شخص من الوصول إلى هذه المعلومات إذا تمكن من الوصول إلى الخوادم الخاصة بك.
أمن الشبكة
من المهم أيضًا تأمين شبكتك ، وكذلك الخوادم نفسها. سيساعد هذا في تقليل فرص اختراق شخص ما لقاعدة البيانات الخاصة بك من موقع بعيد وتشغيل أوامر شائنة عليها.
أول شيء يجب أن تتأكد منه هو أنه لا يتم الوصول إلى MySQL إلا من خلال اتصال محلي ، وليس من خلال الشبكة. يمكنك القيام بذلك عبر مقبس Unix. أدخل "تخطي الشبكات" في my.cnf. لإيقاف جميع اتصالات TCP / IP.

يمكنك أيضًا استخدام جدار الحماية الخاص بك لمنع الوصول إلى MySQL من عناوين IP أو نطاقات معينة. سيساعد هذا في تقليل فرص اختراق شخص ما لقاعدة البيانات الخاصة بك من موقع بعيد.
استخدام تدقيق الإضافات
يمكنك أيضًا استخدام مكونات التدقيق الإضافية لتتبع ما يحدث في قاعدة البيانات الخاصة بك. ستساعدك هذه في تحديد ما إذا كان شخص ما قد اخترق قاعدة البيانات الخاصة بك ، أو إذا كان هناك شيء مريب يحدث بها يمكن أن يشير إلى ذلك.
هناك الكثير من الخيارات المجانية والمدفوعة لهذه المكونات الإضافية المتاحة عبر الإنترنت اليوم. يعد MySQL Enterprise Audit خيارًا جيدًا إذا تم استخدام MySQL Enterprise بالفعل في مؤسستك. لدى MariaDB أيضًا البرنامج المساعد الخاص بالتدقيق.
تقوم هذه المكونات الإضافية بعمل رائع في مراقبة قاعدة البيانات الخاصة بك بحثًا عن أي نشاط مشبوه. يمكنهم حتى إرسال تنبيهات إليك إذا تم اكتشاف أي شيء غير عادي حتى لا تضطر إلى التحقق من السجلات يدويًا في كل مرة.
تعطيل LOAD DATA LOCAL INFILE
هناك طريقة أخرى لمنع شخص ما من الوصول إلى قاعدة البيانات الخاصة بك وهي تعطيل القدرة المحلية في MySQL و MariaDB. يسمح لك هذا الأمر بتحميل ملفات البيانات من ملف محلي ، ولكنه يشكل أيضًا خطرًا أمنيًا - خاصةً إذا لم تكن مشفرة. لتعطيل هذه الوظيفة ، اضبط الملف المحلي = 0 في ملف my.cnf.
امتيازات الملف
من المهم أيضًا تعيين امتيازات الملف الصحيحة لملفات MySQL و MariaDB. سيضمن هذا أن المستخدمين المصرح لهم فقط هم من يمكنهم الوصول إليها. يمكنك القيام بذلك عن طريق تعيين الأذونات المناسبة لهذه الملفات.
على سبيل المثال ، يمكنك تعيين مالك جميع ملفات MySQL ليكون "mysql" والمجموعة على "mysql" ، مع رفض وصول جميع المستخدمين الآخرين. سيضمن هذا أن المستخدمين الذين لديهم الأذونات الصحيحة فقط هم من يمكنهم الوصول إلى ملفات MySQL الخاصة بك.
SSL وتشفير البيانات أثناء النقل
إذا كنت تقوم بتشغيل MySQL أو MariaDB مع تمكين SSL ، فمن المهم أن يكون لديك الشهادات اللازمة مثبتة على الخادم الخاص بك. إذا لم يتم ذلك ، يمكن لأي شخص اعتراض المعلومات التي يتم إرسالها بين قاعدة البيانات الخاصة بك وعملائها.
يجب عليك أيضًا تشفير جميع البيانات أثناء النقل للحصول على حماية إضافية لأي بيانات حساسة يتم إرسالها عبر الشبكات العامة باستخدام SSH.
يمكنك أيضًا تشفير البيانات التي يتم إرسالها بين خادم قاعدة البيانات والأجهزة الأخرى. سيضمن ذلك أن أي شخص يراقب حركة المرور على شبكتك لا يمكنه الوصول إلى أي من البيانات التي يرسلها أو يستقبلها ، حتى لو تمكن من اختراق أحد هذه الأنظمة.
سيكون SSL طريقة رائعة لتحقيق ذلك لمستخدمي MySQL ، لأنه مدمج بالفعل في البروتوكول. يمكن لمستخدمي MariaDB استخدام stunnel لتحقيق تأثير مماثل.
تشفير البيانات في حالة الراحة
أخيرًا ، يجب أن تفكر أيضًا في تشفير بياناتك أثناء الراحة. هذا يعني أن البيانات مشفرة حتى عندما لا يتم إرسالها.
يمكن القيام بذلك باستخدام أداة مثل MySQL Enterprise Encryption أو MariaDB Column Encryption.
توفر هاتان الأداتان طريقة رائعة لحماية بياناتك من الوصول إليها إذا تمكن شخص ما من اختراق خادم قاعدة البيانات الخاص بك. كما أنها سهلة الاستخدام للغاية ، لذا لا يتعين عليك أن تكون خبيرًا في التشفير للاستفادة من هذه الأدوات.
استنتاج
ستساعدك جميع الخيارات المذكورة هنا على تحقيق أمان MySQL و MariaDB ، لكنها ليست كلها مثالية لكل المواقف. يجب أن تضع في اعتبارك احتياجاتك الخاصة عند النظر إليها حتى تتمكن من اختيار أفضلها. ومع ذلك ، يجب أن تعطيك هذه النصائح فكرة جيدة حول كيفية اختيار خيار يناسبك بشكل جيد.
نأمل أن يكون هذا المقال قد أعطاك بعض الأفكار الجيدة حول كيفية تحقيق أمان MySQL و MariaDB في مؤسستك حتى لا يتمكن أي شخص من اختراق قواعد بياناتك إذا تمكن من اختراق دفاعات أخرى.