مقدمه
MongoDB که با نام Mongo نیز شناخته میشود، یک پایگاه داده سندگرا و متنباز است که در بسیاری از برنامههای وب مدرن استفاده میشود. بهصورت پیشفرض، این دیتابیس فقط اتصالهایی را میپذیرد که از همان سروری که روی آن نصب شدهاند برقرار شوند.
اگر بخواهید MongoDB را از راه دور مدیریت کنید یا آن را به یک سرور برنامه جداگانه متصل کنید، باید چند تغییر در تنظیمات پیشفرض آن اعمال کنید.
در این آموزش یاد میگیرید چگونه نصب MongoDB را بهگونهای تنظیم کنید که بهصورت امن، امکان دسترسی از یک سیستم راه دور مورد اعتماد فراهم شود. برای این کار:
- قوانین فایروال را تغییر میدهید تا سیستم راه دور به پورتی که MongoDB روی آن گوش میدهد دسترسی داشته باشد.
- فایل پیکربندی MongoDB را ویرایش میکنید تا روی IP عمومی سرور نیز گوش دهد.
- در پایان، اتصال از سیستم راه دور را تست میکنید.
پیشنیازها
برای انجام این آموزش به موارد زیر نیاز دارید:
- یک سرور CentOS 8 با کاربر غیر root دارای دسترسی sudo و فایروال firewalld
- نصب بودن MongoDB 4.4 یا جدیدتر
- یک سیستم دوم که قرار است از طریق آن به MongoDB متصل شوید
همچنین توصیه میشود پیش از فعال کردن دسترسی راه دور، نصب MongoDB خود را ایمن کرده باشید؛ یعنی یک کاربر مدیریتی بسازید و احراز هویت را فعال کنید.
مرحله اول — تنظیم فایروال
اگر فایروال firewalld فعال باشد، MongoDB بهصورت پیشفرض از اینترنت در دسترس نخواهد بود.
ابتدا بررسی کنید MongoDB روی چه پورتی گوش میدهد:
خروجی مشابه زیر خواهد بود:
یعنی MongoDB روی پورت پیشفرض 27017 و فقط روی localhost فعال است.
برای اینکه یک سرور مشخص اجازه اتصال داشته باشد، دستور زیر را اجرا کنید:
بهجای trusted_server_ip آیپی سرور مجاز را قرار دهید.
اگر دستور موفق باشد:
سپس فایروال را بارگذاری مجدد کنید:
برای بررسی:
باید قانونی مشابه زیر ببینید:
مرحله دوم — تنظیم bindIp عمومی
در این مرحله، با وجود باز بودن پورت، MongoDB هنوز فقط روی localhost در دسترس است.
فایل تنظیمات MongoDB را باز کنید:
بخش زیر را پیدا کنید:
port: 27017
bindIp: 127.0.0.1
IP عمومی سرور را اضافه کنید:
port: 27017
bindIp: 127.0.0.1,mongodb_server_ip
بهجای mongodb_server_ip آیپی عمومی سرور را وارد کنید.
فایل را ذخیره کرده و سرویس MongoDB را ریستارت کنید:
اکنون MongoDB میتواند از سرورهای مجاز اتصال بپذیرد.
مرحله سوم — تست اتصال از راه دور
به سرور مجاز SSH بزنید:
ابزار nc را نصب کنید:
سپس اتصال به MongoDB را تست کنید:
اگر اتصال برقرار باشد:
اتصال مستقیم به MongoDB
اگر ابزار mongo shell نصب باشد:
اگر احراز هویت فعال باشد:
در این صورت از شما رمز عبور خواسته میشود.
نتیجهگیری
اکنون MongoDB شما از یک سرور راه دور قابل دسترسی است. میتوانید:
- دیتابیس را از راه دور مدیریت کنید
- اپلیکیشنهای جداگانه را به دیتابیس متصل کنید
اما اگر احراز هویت را فعال نکرده باشید، هر کسی که به سرور راه دور دسترسی داشته باشد میتواند به MongoDB نیز متصل شود. بنابراین حتماً احراز هویت MongoDB را فعال کنید تا امنیت سیستم حفظ شود.
از همراهی شما با پارمین کلود سپساگزاریم.
نظرات کاربران