MongoDB الأمن والمراقبة والنسخ الاحتياطي (Mongodump)

⚡ ملخص ذكي

MongoDB الأمن والمراقبة والنسخ الاحتياطي مفاهيم أساسية في إدارة قواعد البيانات، تضمن سلامة البيانات وتوافرها وإمكانية استعادتها. يغطي هذا المورد أفضل ممارسات الأمن، ونسخ mongodump الاحتياطية، وأدوات المراقبة، ونصائح الفهرسة، وآليات المصادقة، وشهادات x.509، وتكوينها. MongoDB باستخدام مصادقة Kerberos.

  • 🔒 الأمن: تفعيل التحكم في الوصول، والوصول القائم على الأدوار، وتشفير TLS/SSL، والتدقيق.
  • 💾 دعم: انسخ ملفات البيانات، أو استخدم mongodump لتفريغ بيانات BSON، أو Cloud Manager.
  • 📊 رصد: استخدم mongostat و mongotop وواجهة الويب و serverStatus.
  • ⚡ الفهرسة: أضف فهارس على الحقول التي تم البحث فيها وقم بتقييد الحقول التي تم إرجاعها.
  • 🪪 المصادقة: استخدم شهادات x.509 أو Kerberos للوصول الآمن للعميل.

MongoDB الأمن والمراقبة والنسخ الاحتياطي

أحد المفاهيم الأساسية في MongoDB إدارة قواعد البيانات هي مجالٌ بالغ الأهمية. وتُعدّ جوانبٌ مهمةٌ مثل الأمن والنسخ الاحتياطي والوصول إلى قواعد البيانات مفاهيمَ أساسيةً في إدارة قواعد البيانات.

MongoDB نظرة عامة على الأمن

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

فيما يلي أفضل الممارسات عند تطبيق إجراءات الأمان في قواعد البيانات:

  1. تفعيل التحكم في الوصول – إنشاء حسابات للمستخدمين بحيث يُلزم جميع التطبيقات والمستخدمين بوجود آلية مصادقة عند الوصول إلى قواعد البيانات على MongoDB.
  2. تكوين التحكم في الوصول القائم على الأدوار - أحيانًا قد يكون هناك مجموعة منطقيةping من الصلاحيات التي قد تكون مطلوبة، والتي يمكن تجميعها في أدوار. ويمكن بعد ذلك تعيين المستخدمين لهذه الأدوار.
  3. حاول تكوين MongoDB استخدام نوع من بروتوكولات التشفير مثل TLS أو SSL. يمكن استخدام هذه البروتوكولات لتشفير البيانات التي تتدفق بين العميل و MongoDB بيئة.
  4. تكوين التدقيق يحتاج المسؤولون عادةً إلى معرفة من يقوم بماذا، مما يساعد في تحليل المشكلات لاحقًا. وأفضل طريقة لذلك هي تمكين التدقيق في MongoDB.
  5. تشغيل MongoDB مثيل خادم بمعرف مستخدم منفصل يمكنه الوصول فقط إلى الموارد المطلوبة في بيئة الخادم.

MongoDB إجراءات النسخ الاحتياطي – mongodump

عند العمل مع MongoDBمن المهم دائمًا التأكد من وجود إجراء نسخ احتياطي في حالة فقدان البيانات الموجودة MongoDB قد يتعرض للتلف لأي سبب من الأسباب. فيما يلي آليات النسخ الاحتياطي المتاحة من الداخل. MongoDB:

  1. النسخ الاحتياطي عن طريق نسخ ملفات البيانات الأساسية - ربما تكون هذه أسهل آلية. كل ما يلزم فعله هو نسخ ملفات البيانات التي MongoDB يتم تخزينها ونسخها إلى موقع آخر، والذي من الأفضل أن يكون خادمًا آخر.
  2. النسخ الاحتياطي لقاعدة البيانات مع mongodump - تقوم أداة mongodump بقراءة البيانات من ملف MongoDB يقوم البرنامج بإنشاء قاعدة بيانات وملفات BSON عالية الدقة. يجب مراعاة أنه في حال كانت مجموعة البيانات كبيرة الحجم، فقد يستهلك mongodump موارد النظام بشكل كبير، لذا يُنصح بتشغيله على خادم ثانوي للتخفيف من هذه المشكلة.
  3. MongoDB النسخ الاحتياطي لإدارة السحابة - MongoDB يقوم Cloud Manager بالنسخ الاحتياطي باستمرار MongoDB مجموعات النسخ المتماثلة والمجموعات المجزأة من خلال قراءة بيانات سجل العمليات من MongoDB بيئة. MongoDB يمكن لمدير السحابة إنشاء استعادة في نقطة زمنية محددة عن طريق تخزين بيانات سجل العمليات بحيث يمكنه إنشاء استعادة في أي لحظة زمنية لمجموعة نسخ متماثلة معينة أو مجموعة مجزأة.

MongoDB مراقبة

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

  1. منغوستات سيوضح لك هذا عدد مرات حدوث عمليات قاعدة البيانات، مثل الإضافة والاستعلام والتحديث والحذف، على الخادم. وهذا يعطي فكرة جيدة عن حجم الحمل الذي يتحمله الخادم، ويشير إلى ما إذا كنت بحاجة إلى موارد إضافية على الخادم، أو ربما خوادم إضافية لتوزيع الحمل.
  2. com.mongotop tracيقوم النظام بالإبلاغ عن نشاط القراءة والكتابة الحالي لـ MongoDB على سبيل المثال، ويبلغ عن هذه الإحصائيات على أساس كل مجموعة.
  3. MongoDB يوفر واجهة ويب تعرض معلومات التشخيص والمراقبة في صفحة ويب بسيطة.
  4. يعيد أمر serverStatus، أو db.serverStatus() من shell، نظرة عامة على حالة قاعدة البيانات، مع تفاصيل حول استخدام القرص، واستخدام الذاكرة، والاتصالات التي تم إنشاؤها مع MongoDB البيئة، وأكثر من ذلك.

MongoDB اعتبارات الفهرسة والأداء

  1. تعد الفهارس مهمة جدًا في أي قاعدة بيانات ويمكن استخدامها لتحسين كفاءة استعلامات البحث فيها MongoDBإذا كنت تقوم باستمرار بإجراء عمليات بحث في مستندك، فمن الأفضل إضافة فهارس على حقول المستند المستخدمة في معايير البحث.
  2. حاول دائمًا تقليل عدد نتائج الاستعلام. لنفترض أن لديك عدة أسماء حقول في مستند، ولكنك تريد عرض حقلين فقط. تأكد إذًا من أن استعلامك يستهدف عرض هذين الحقلين فقط، وليس جميع الحقول.
  3. إذا كنت تريد عرض قيم حقول معينة، فاستخدم هذه الحقول فقط في الاستعلام. لا تقم بالاستعلام عن كافة الحقول الموجودة في المجموعة إذا لم تكن مطلوبة.

MongoDB آليات المصادقة

بينما يركز التخويل على ضمان وصول العميل إلى النظام، يتحقق التحقق من الهوية من نوع الوصول الذي يمتلكه العميل. MongoDB بمجرد حصولهم على إذن الدخول إلى النظام. توجد آليات مصادقة متنوعة؛ فيما يلي بعض منها.

MongoDB المصادقة باستخدام شهادات x.509

استخدم شهادات x.509 للتحقق من هوية العميل - الشهادة هي في الأساس توقيع موثوق بين العميل و MongoDB الخادم.

لذلك بدلاً من إدخال اسم المستخدم وكلمة المرور للاتصال بالخادم، يتم تمرير شهادة بين العميل والخادم MongoDB الخادم. سيحتوي العميل أساسًا على شهادة عميل تُمرر إلى الخادم للمصادقة عليه. كل شهادة عميل تُقابل جهازًا واحدًا. MongoDB مستخدم. لذلك كل مستخدم من MongoDB يجب أن يكون لديهم شهادة خاصة بهم ليتم التحقق من هويتهم لدى MongoDB الخادم.

لضمان نجاح ذلك، يجب اتباع الخطوات التالية:

  1. يجب شراء شهادة صالحة من جهة خارجية معتمدة وتثبيتها على MongoDB الخادم.
  2. يجب أن تحتوي شهادة العميل على الخصائص التالية: يجب أن تصدر جهة إصدار شهادات واحدة (CA) الشهادات لكل من العميل والخادم، ويجب أن تحتوي شهادات العميل على حقلي keyUsage و extendedKeyUsage.
  3. كل مستخدم يتصل بـ MongoDB يحتاج الخادم إلى شهادة منفصلة.

كيفية تكوين MongoDB مع مصادقة Kerberos

فيما يلي خطوات التكوين MongoDB مع تفعيل مصادقة Kerberos Windows:

الخطوة 1) التكوين MongoDB مع تفعيل مصادقة Kerberos Windows

كيربيروس هي آلية مصادقة تُستخدم في بيئات العميل والخادم الكبيرة. وهي آلية آمنة للغاية، حيث لا يُسمح باستخدام كلمة المرور إلا إذا كانت مشفرة. MongoDB يمتلك القدرة على المصادقة مقابل نظام قائم على بروتوكول Kerberos.

الخطوة 2) عملية خادم mongod.exe

بعد ذلك، ابدأ عملية خادم mongod.exe.

الخطوة 3) عملية العميل mongo.exe والاتصال

بعد ذلك، ابدأ عملية عميل mongo.exe وقم بالاتصال بـ MongoDB الخادم.

الخطوة 4) إضافة مستخدم في MongoDB

أضف مستخدمًا، وهو في الأساس اسم رئيسي في Kerberos، إلى قاعدة البيانات الخارجية ($external). قاعدة البيانات الخارجية ($external) هي قاعدة بيانات خاصة تُخبر MongoDB لمصادقة هذا المستخدم على نظام Kerberos بدلاً من النظام الداخلي الخاص به.

ضبط MongoDB مع مصادقة Kerberos

use $external
db.createUser(
  {
    user: "user1@example.NET",
    roles: [
      { role: "read", db: "Marketing" }
    ]
  }
)

الخطوة 5) البدء في استخدام الأمر

قم بتشغيل mongod.exe مع دعم Kerberos باستخدام الأمر التالي:

mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI

ومن ثم يمكنك الآن الاتصال بمستخدم Kerberos ومصادقة Kerberos بقاعدة البيانات.

الأسئلة الشائعة

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

نعم. يمكن للبرامج النصية المدعومة بالذكاء الاصطناعي وأدوات الحوسبة السحابية جدولة عمليات النسخ الاحتياطي لـ mongodump، والتحقق من سلامة البيانات، واقتراح نقاط استعادة. MongoDB كما يوفر برنامج أطلس نسخًا احتياطية تلقائية ومستمرة، مما يقلل من الجهد اليدوي المبذول لحماية البيانات.

يقوم برنامج mongodump بإنشاء لقطات BSON لقاعدة البيانات عند الطلب. MongoDB يقوم مدير السحابة بقراءة سجل العمليات بشكل مستمر لتمكين استعادة مجموعات النسخ المتماثلة والمجموعات المجزأة إلى نقطة زمنية محددة.

استخدم أداة mongorestore، وحدد لها مجلد النسخ الاحتياطي. على سبيل المثال، الأمر mongorestore –db Marketing dump/Marketing يقوم بتحميل ملفات BSON مرة أخرى إلى قاعدة البيانات المحددة.

تلخيص هذه التدوينة بـ: