كيفية تثبيت وتأمين MongoDB على أوبونتو 18.04
MongoDB هو نظام إدارة قواعد بيانات NoSQL مفتوح المصدر، يعتمد على التخزين غير العلائقي للبيانات، ويتيح تخزين البيانات في شكل مستندات (Documents) باستخدام JSON. يُستخدم MongoDB في العديد من التطبيقات الحديثة التي تتطلب قدرة على معالجة كميات كبيرة من البيانات غير المهيكلة أو شبه المهيكلة. تتسم MongoDB بالمرونة في التعامل مع البيانات وتوسعيتها، مما يجعلها واحدة من أكثر قواعد البيانات شيوعاً في العديد من التطبيقات.
في هذه المقالة، سنغطي خطوات تثبيت MongoDB على نظام أوبونتو 18.04، بالإضافة إلى كيفية تأمين الخادم لحمايته من الهجمات الخارجية وضمان سلامة البيانات.
1. التحضير لتثبيت MongoDB على أوبونتو 18.04
قبل أن نبدأ بتثبيت MongoDB، يجب التأكد من أن النظام محدث ويحتوي على جميع الحزم اللازمة. من المهم تحديث جميع الحزم لضمان عمل النظام بشكل جيد عند تثبيت البرامج الجديدة.
-
تحديث الحزم:
أولاً، قم بتحديث قائمة الحزم على النظام باستخدام الأمر التالي:bashsudo apt update -
ترقية النظام:
بعد تحديث قائمة الحزم، يُنصح بترقية الحزم الموجودة إلى أحدث إصدار:bashsudo apt upgrade
2. إضافة مستودع MongoDB
من أجل تثبيت MongoDB باستخدام مدير الحزم في أوبونتو، يجب إضافة المستودع الرسمي لمونغو دي بي. يتم ذلك من خلال تنزيل مفاتيح التوقيع الخاصة بالمستودع، ثم إضافة المستودع نفسه.
-
استيراد المفتاح العام للمستودع:
يجب استيراد المفتاح العام للمستودع باستخدام الأمر التالي:bashwget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - -
إضافة مستودع MongoDB:
بعد إضافة المفتاح، نحتاج إلى إضافة مستودع MongoDB إلى مصادر الحزم في أوبونتو:bashecho "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list -
تحديث الحزم:
بعد إضافة المستودع، يجب تحديث الحزم مرة أخرى لتتمكن من تحميل MongoDB من المستودع الجديد:bashsudo apt update
3. تثبيت MongoDB
الآن بعد أن أضفنا المستودع، يمكننا تثبيت MongoDB بسهولة باستخدام الأمر التالي:
bashsudo apt install -y mongodb-org
يقوم هذا الأمر بتثبيت MongoDB مع جميع الحزم الضرورية مثل mongodb-org-server و mongodb-org-mongos و mongodb-org-shell وغيرها.
4. تشغيل MongoDB
بعد اكتمال عملية التثبيت، يتم تثبيت MongoDB بنجاح على النظام. يمكننا الآن بدء خدمة MongoDB والتأكد من أنها تعمل بشكل صحيح.
-
تشغيل MongoDB:
لتشغيل MongoDB، استخدم الأمر التالي:bashsudo systemctl start mongod -
تمكين MongoDB للعمل عند بدء التشغيل:
إذا أردت أن يعمل MongoDB تلقائيًا عند بدء تشغيل النظام، قم بتشغيل الأمر التالي:bashsudo systemctl enable mongod -
التحقق من حالة الخدمة:
للتحقق من حالة MongoDB وتأكد من أنه يعمل بشكل صحيح، استخدم الأمر:bashsudo systemctl status mongod
5. تأمين MongoDB
من المهم تأمين MongoDB بعد التثبيت لضمان حماية البيانات من الوصول غير المصرح به. في هذه الخطوة، سنغطي كيفية تمكين المصادقة (Authentication) وإعداد جدار الحماية لتحديد من يمكنه الوصول إلى الخادم.
5.1 تمكين المصادقة (Authentication)
بشكل افتراضي، يتم تشغيل MongoDB بدون تمكين المصادقة، مما يعني أنه يمكن لأي شخص الوصول إلى الخادم وتنفيذ الاستعلامات. لحماية الخادم، يجب تمكين المصادقة.
-
تحرير ملف التكوين:
قم بفتح ملف التكوين الخاص بـ MongoDB باستخدام محرر نصوص مثلnano:bashsudo nano /etc/mongod.conf -
تمكين المصادقة:
في ملف التكوين، ابحث عن السطر الذي يحتوي علىsecurityوأضف السطر التالي:yamlsecurity: authorization: "enabled" -
إعادة تشغيل خدمة MongoDB:
بعد حفظ التغييرات، يجب إعادة تشغيل خدمة MongoDB لتطبيق التغييرات:bashsudo systemctl restart mongod
5.2 إنشاء مستخدم مشرف (Admin User)
بعد تمكين المصادقة، يجب إنشاء مستخدم مشرف حتى تتمكن من تنفيذ عمليات الإدارة مثل إنشاء قواعد البيانات والمجموعات.
-
الاتصال بـ MongoDB باستخدام عميل shell:
للاتصال بـ MongoDB، استخدم الأمر التالي:bashmongo -
إنشاء قاعدة بيانات الإدارة:
بعد الاتصال بـ MongoDB، قم بإنشاء قاعدة بيانات جديدة للمستخدمين والمجموعات:bashuse admin -
إنشاء مستخدم مشرف:
قم بإنشاء مستخدم مشرف باستخدام الأمر التالي:javascriptdb.createUser({ user: "admin", pwd: "your_password", // قم بتغيير كلمة المرور إلى كلمة آمنة roles: [ { role: "root", db: "admin" } ] }) -
التحقق من المستخدم:
تأكد من أن المستخدم قد تم إنشاؤه بشكل صحيح باستخدام الأمر:javascriptdb.auth("admin", "your_password")
5.3 إعداد جدار الحماية (Firewall)
من الأمور المهمة الأخرى تأمين الخادم باستخدام جدار حماية لتحديد من يمكنه الوصول إلى MongoDB.
-
تمكين جدار الحماية (ufw):
إذا لم يكن جدار الحماية مفعلًا على الخادم، يمكنك تمكينه باستخدام الأمر التالي:bashsudo ufw enable -
فتح المنفذ الخاص بـ MongoDB:
افتراضيًا، يعمل MongoDB على المنفذ 27017. لتمكين الوصول إلى MongoDB فقط من بعض العناوين، استخدم الأمر:bashsudo ufw allow from your_ip_address to any port 27017 -
التحقق من حالة جدار الحماية:
للتحقق من إعدادات جدار الحماية الحالية، استخدم الأمر:bashsudo ufw status
6. التأكد من الأمان الإضافي
إضافة إلى تمكين المصادقة وتفعيل جدار الحماية، هناك بعض الممارسات الإضافية التي يجب اتباعها لضمان الأمان الكامل لقاعدة البيانات:
-
استخدام الشبكة الخاصة (VPN): عند الوصول إلى الخادم، يفضل استخدام VPN لتأمين الاتصال.
-
تشغيل MongoDB على جهاز غير متصل بالإنترنت (Offline): من الأفضل أن يتم تشغيل MongoDB على خادم مخصص وغير متصل بالإنترنت بشكل دائم.
-
تشفير البيانات: لضمان أمان البيانات أثناء النقل، يمكن تمكين التشفير باستخدام SSL/TLS.
7. خلاصة
في هذه المقالة، قمنا بتغطية خطوات تثبيت MongoDB على أوبونتو 18.04 وكذلك كيفية تأمين الخادم بعد التثبيت. يعتبر تأمين MongoDB من أولويات أي مسؤول نظام لضمان عدم تعرض البيانات للخطر. يجب تمكين المصادقة، إضافة مستخدمين، وضبط جدار الحماية لضمان أن الخادم آمن وقابل للاستخدام في بيئة الإنتاج.

