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

أحد المفاهيم الأساسية في MongoDB هي إدارة قواعد البيانات. الجوانب المهمة مثل الأمان والنسخ الاحتياطي والوصول إلى قواعد البيانات كلها مفاهيم مهمة عندما يتعلق الأمر بإدارة قاعدة البيانات.

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

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

فولوwing هي أفضل الممارسات عند تطبيق الأمان في قواعد البيانات

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

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

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

فيما يلي آليات النسخ الاحتياطي المتاحة من الداخل MongoDB

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

Mongodb مراقبة

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

فيما يلي بعض الأمثلة على تنفيذ المراقبة

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

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

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

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

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

هناك آليات مصادقة مختلفة، وفيما يلي عدد قليل منها.

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

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

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

للتأكد من أن هذا يعمل، اتبع الخطواتwing يجب اتباع الخطوات؛

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

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

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

الخطوة 1) ضبط MongoDB مع تفعيل مصادقة Kerberos Windows
Kerberos هي آلية مصادقة تُستخدم في بيئات خادم العميل الكبيرة.

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

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

الخطوة 3) عملية العميل mongo.exe والاتصال
بعد ذلك، ابدأ عملية العميل mongo.exe واتصل بملف mongo.exe MongoDB الخادم.

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

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

use $external
db.createUser(
{
	user: "user1@example.NET",

	roles:[
	{
		role: "read" , db:"Marketing"}
		
	}
		  ]
}

الخطوة 5) ابدأ باستخدام الأمر
ابدأ تشغيل mongod.exe بدعم Kerberos باستخدام الملف following أمر

mongod.exe –auth –setParameter authenticationMechanisms=GSSAPI

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

نبذة عامة

  • من المهم جدًا تنفيذ الأمان في قواعد البيانات لضمان الحفاظ على البيانات الموجودة في قاعدة البيانات آمنة.
  • يمكن إنشاء المستخدمين في قاعدة البيانات باستخدام الأمر createUser. يمكن تعيين أدوار محددة للمستخدمين لمنحهم أذونات محددة في قاعدة البيانات نفسها.
  • يمكن إضافة المسؤولين لجميع قواعد البيانات لقواعد بيانات محددة فقط. ويتم تحقيق ذلك عن طريق إعطاء دور userAdmin أو userAdminAnyDatabase.
  • قم دائمًا بعمل نسخة احتياطية لجهازك MongoDB البيئة بحيث يمكن استعادة البيانات بسهولة في حالة وقوع أي كارثة.
  • دائما مراقبة الخاص بك MongoDB البيئة لتكون أكثر استباقية ورؤية المشكلات قبل حدوثها.
  • هناك آليات مصادقة مختلفة لتوفير أمان أفضل في قواعد البيانات. أحد الأمثلة على ذلك هو استخدام الشهادات لمصادقة المستخدمين بدلاً من استخدام أسماء المستخدمين وكلمات المرور.