কম্পিউটার

MongoDB নিরাপত্তা টিপস

MongoDB® দিয়ে শুরু করা সহজ। যাইহোক, আপনি চলমান ভিত্তিতে উদ্ভূত নতুন বৈশিষ্ট্যগুলির সাথে বেশ কয়েকটি সমস্যায় পড়তে পারেন। এমন একটি উদ্বেগের ক্ষেত্র হল নিরাপত্তা, যা এই ব্লগের ফোকাস।

পরিচয়

MongoDB অ্যাপ্লিকেশনগুলির সাথে নিরাপত্তা বজায় রাখা ডাটাবেস অ্যাপ্লিকেশনগুলির জন্য অত্যন্ত গুরুত্বপূর্ণ৷ আপনাকে লুপ হোল শনাক্ত করতে সক্ষম হতে হবে এবং ডাটাবেস বা অ্যাপ্লিকেশন নিরাপত্তার ধরন এবং পদ্ধতি জানতে হবে হুমকি থেকে ডাটাবেসকে রক্ষা করতে। নিরাপত্তা প্রযুক্তিগত বাস্তবায়ন নির্দেশিকাকে কঠোরভাবে মেনে চলা (STIG) অনেকাংশে MongoDB সুরক্ষিত করতে সাহায্য করে। সময়ে সময়ে অডিট করা সিস্টেম বা ডাটাবেসের মূল ত্রুটিগুলি সনাক্ত করতেও সাহায্য করে যাতে আপনি সিস্টেম বা ডাটাবেসকে বিভিন্ন হুমকি থেকে রক্ষা করতে পারেন।

এই ব্লগটি মঙ্গোডিবিকে সুরক্ষিত এবং সুরক্ষিত রাখতে দশটি টিপস কভার করে৷

টিপ 1:সর্বদা প্রমাণীকরণ সক্ষম করুন

প্রমাণীকরণ সক্ষম করা একটি ভাল অনুশীলন এবং MongoDB সুরক্ষিত করার সবচেয়ে সহজ উপায়৷ মনে রাখবেন, কখনও কখনও সক্রিয় করা সহজ নিরাপত্তা বৈশিষ্ট্যটি সিস্টেমটিকে তার সর্বাধিক পরিমাণে সুরক্ষিত করতে পারে এবং এইভাবে সংস্থাটিকে একটি ডেটা লঙ্ঘন থেকে বাঁচাতে পারে যার জন্য মিলিয়ন ডলার খরচ হতে পারে৷

mongod.conf-এ নিম্নলিখিত লাইন যোগ করুন MongoDB-এ প্রমাণীকরণ সক্ষম করতে কনফিগারেশন ফাইল:

Security:
        Authentication: on

নিম্নলিখিত চিত্রটি ডিবি-স্তরের নিরাপত্তার চিত্র তুলে ধরে:

MongoDB নিরাপত্তা টিপস

ছবির উৎস:https://www.slideshare.net

টিপ 2:জটিল পাসওয়ার্ড ব্যবহার করুন

এই টিপ শুধু সাধারণ জ্ঞান. বেশিরভাগ ক্ষেত্রে, যেকোনো অ্যাপ্লিকেশন বা ডাটাবেসের জন্য ব্যবহৃত সবচেয়ে মৌলিক, সহজ পাসওয়ার্ড হল 12345 অথবা ABC123 . যাইহোক, এই সহজ পাসওয়ার্ডগুলি হল সিস্টেম ক্র্যাক করার এবং মূল্যবান ডেটা চুরি করার পছন্দের অস্ত্র৷

যেহেতু MongoDB পাসওয়ার্ডের জন্য কোনো লকআউট বিকল্প অফার করে না, তাই হ্যাকারদের জন্য সহজতম পাসওয়ার্ড ব্যবহার করে ডাটাবেস ক্র্যাক করার জন্য বা অ্যাপলিকেশনের কিছুক্ষণের মধ্যে এটিতে প্রবেশ করা সহজ।

টিপ 3:ভূমিকা দ্বারা ব্যবহারকারীদের অনুমোদন করুন

MongoDB ডিফল্টরূপে অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করে না। আপনি --auth কীওয়ার্ড ব্যবহার করে অনুমোদন সক্ষম করতে পারেন যখন আপনি MongoDB শেল আরম্ভ করবেন।

প্রত্যেকেরই ডাটাবেস পরিচালনা করা উচিত নয়। ডাটাবেসের প্রমাণীকরণ সক্ষম থাকলেও, প্রত্যেককে প্রশাসনিক অধিকার দেবেন না। পরিবর্তে, সর্বোত্তম অনুশীলন হিসাবে, ব্যবহারকারীদের অনুমোদন করার জন্য সর্বদা কিছু ভূমিকা তৈরি করুন।

নির্দিষ্ট ব্যবহারকারীর ভূমিকা সেট আপ করা প্রতিটি ব্যবহারকারীর জন্য জটিলতা হ্রাস করে এবং একটি অ্যাকাউন্ট লঙ্ঘনের ঝুঁকিকে ব্যাপকভাবে হ্রাস করে যা পরবর্তীতে বিপর্যয় সৃষ্টি করে।

একটি ভূমিকা সহ একটি ব্যবহারকারী তৈরি করতে, নিম্নলিখিত কমান্ডটি চালান:

db.createUser({user:"admin", pwd:"X1eL#pM0C12", roles:[{role:"userAdminAnyDatabase", db:"admin"]})

টিপ 4:একটি প্রতিলিপি কীফাইল যোগ করুন

একটি প্রতিলিপি কীফাইল সক্ষম করা স্বয়ংক্রিয়ভাবে মঙ্গোডিবি-তে প্রমাণীকরণ সক্ষম করে৷ এই বৈশিষ্ট্যটি সক্ষম করার সাথে, শুধুমাত্র এই ফাইলটি ইনস্টল থাকা হোস্টগুলি প্রতিলিপি সেটের সাথে সংযুক্ত করতে সক্ষম৷

একটি সক্ষম প্রতিলিপিকরণ কীফাইল মঙ্গোডিবি-তে ডেটা এনক্রিপশন নিশ্চিত করে, যা সুরক্ষার একটি অতিরিক্ত স্তর সরবরাহ করে। আপনি আপনার চয়ন করা যে কোনও পদ্ধতি ব্যবহার করে একটি কীফাইল তৈরি করতে পারেন, প্রতিলিপি সেট সদস্যদের কাছে কী ফাইলটি অনুলিপি করুন এবং তারপর অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করে প্রতিরূপ সেটটি চালু করুন৷

mongod.conf-এ নিম্নলিখিত লাইন যোগ করুন প্রতিলিপিকরণ কীফাইল সক্রিয় করতে:

Security:
    KeyFile: <Path to KeyFile>

নিম্নলিখিত চিত্রটি কীফাইল প্রমাণীকরণকে চিত্রিত করে:

MongoDB নিরাপত্তা টিপস

ছবির উৎস:https://www.slideshare.net

টিপ 5:ডিফল্ট পোর্ট ব্যবহার করবেন না

আপনার MongoDB দৃষ্টান্তগুলির সাথে সংযোগ করতে কোনও ডিফল্ট পোর্ট ব্যবহার করবেন না। বেশিরভাগ সময়, হ্যাকাররা আক্রমণ করার আগে শুধুমাত্র ডিফল্ট বা স্ট্যান্ডার্ড পোর্ট নম্বর স্ক্যান করে। MongoDB ব্যবহার করে এমন কিছু ডিফল্ট পোর্ট হল 27017 , 27018 , 27019 ,2700X , এবং তাই।

mongod.conf-এ ডিফল্ট পোর্ট নম্বর পরিবর্তন করা সহজ .

টিপ 6:একটি ভাল ব্যাকআপ পদ্ধতি আছে

আক্রমণ হওয়ার মুহুর্ত থেকে আপনার অপারেশনলগ (অপলগ) একটি পয়েন্ট-ইন-টাইম (পিআইটি) পুনরুদ্ধারের জন্য প্রস্তুত কিনা তা নিশ্চিত করতে সর্বদা আপনার কাছে ডেটার সর্বশেষ অনুলিপি রয়েছে তা নিশ্চিত করুন৷

যে কোনো ধরনের আক্রমণের জন্য একটি নির্বোধ-প্রমাণ দুর্যোগ পুনরুদ্ধারের সাথে প্রস্তুত থাকুন৷

টিপ 7:আপনার ডাটাবেসে সর্বজনীন অ্যাক্সেস অক্ষম করুন

ডাটাবেসে কোনো বাহ্যিক অ্যাকাউন্ট অ্যাক্সেসের প্রয়োজন আছে কিনা তা দেখতে আপনার আবেদন পর্যালোচনা করুন। যদি এই ধরনের কোনো অ্যাকাউন্ট থাকে, তাহলে সেগুলিকে প্রমাণীকরণ এবং এনক্রিপশন ব্যবহার করতে সেট করুন।

এমনকি আপনি mongod.conf-এ হোস্ট ইন্টারনেট প্রোটোকল(IP) ঠিকানাগুলিকে আবদ্ধ করে সর্বজনীন অ্যাক্সেস অক্ষম করতে পারেন .

টিপ 8:অপারেটিং সিস্টেম স্তরে ফায়ারওয়াল নিয়মগুলি সক্ষম করুন এবং VPN ব্যবহার করুন

ফায়ারওয়ালগুলি নেটওয়ার্কের মাধ্যমে একটি সিস্টেমে অ্যাক্সেস ফিল্টার এবং নিয়ন্ত্রণ করতে নিরাপত্তার একটি অতিরিক্ত স্তর প্রদান করে। MongoDB সার্ভারে, ক্লাউড হোস্টিং-এ হোস্টর নিরাপত্তা গোষ্ঠীতে ফায়ারওয়াল নিয়ম চালু করুন।

সর্বদা নিশ্চিত করুন যে আপনি শুধুমাত্র বিশ্বস্ত উত্সগুলিতে মঙ্গোড ইনস্ট্যান্সগুলিতে অ্যাক্সেস দেন৷ ক্লাউড হোস্টিংকে আরও সুরক্ষিত করতে সার্ভারের জন্য আইপি ঠিকানা বা পোর্ট রেঞ্জগুলিকে বাধা দিন৷

সমস্ত ক্লায়েন্টদের জন্য বিভিন্ন স্তরের এনক্রিপশন, একাধিক স্তরের প্রমাণীকরণ এবং অনুমোদনের জন্য আপনার ডাটাবেস সিস্টেমে প্রত্যয়িত অ্যাক্সেস প্রদান করতে VPN ব্যবহার করুন৷

টিপ 9:নিরাপত্তা সংক্রান্ত সমস্যার জন্য নিয়মিত ডাটাবেস সিস্টেম অডিট করুন

নিয়মিতভাবে ডাটাবেস বা হোস্ট সিস্টেমের অডিট করুন যে কোনও লঙ্ঘন হয়েছে কিনা বা কোনও ব্যবহারকারীর অ্যাকাউন্ট তাদের ভূমিকা এবং সুযোগ-সুবিধাগুলির উপর ভিত্তি করে প্রয়োজনীয়গুলি ব্যতীত উন্নত সুযোগ-সুবিধা মঞ্জুর করেছে কিনা৷

যদি উচ্চতর সুবিধাগুলি পরীক্ষার উদ্দেশ্যে দেওয়া হয়, তবে সিস্টেমটিকে পুনরুদ্ধার করতে সেগুলি প্রত্যাহার করা নিশ্চিত করুন৷

টিপ 10:বাইরে থেকে ডাটাবেস অ্যাক্সেস যাচাই করুন এবং পরীক্ষা করুন

আপনার বা আপনার দলকে নিরাপত্তা সংক্রান্ত সমস্যাগুলির জন্য ডাটাবেস সিস্টেম পরীক্ষা করা উচিত যাতে তারা সিস্টেমটি শোষণ করে কিনা তা দেখতে অনুপ্রবেশ পরীক্ষা বা SQL ইনজেকশন ব্যবহার করে। নিশ্চিত করুন যে আপনার ডাটাবেসে বহির্বিশ্ব থেকে কোনো কিছুই প্রকাশ করা না হয়।

আপনি সেই পরীক্ষার জন্য অনেক টুল ব্যবহার করতে পারেন, যেমন nmap, টেলনেট ইত্যাদি।

উপসংহার

এই ব্লগটি আপনাকে দৈনিক মঙ্গোডিবি প্রশাসনের জন্য কিছু মৌলিক নিরাপত্তা অনুশীলন কনফিগার করতে সাহায্য করে। আপনার মঙ্গোডিবি ডাটাবেস অ্যাপ্লিকেশনগুলিকে সুরক্ষিত করতে এই টিপস এবং বর্ণিত সরঞ্জামগুলি ব্যবহার করুন৷

আপনি মঙ্গো শেল ব্যবহার না করে সর্বাধিক নিরাপত্তা-সম্পর্কিত বৈশিষ্ট্যগুলি নিরীক্ষণ এবং কনফিগার করতে MongoDB মনিটরিং পরিষেবা (MMS) ব্যবহার করতে পারেন৷

কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাবটি ব্যবহার করুন৷

আমাদের প্রত্যয়িত ডাটাবেস অ্যাডমিনিস্ট্রেটর এবং ডাটাবেস পরিষেবা সম্পর্কে আরও জানুন।


  1. আপনার ব্রাউজারের নিরাপত্তা কঠোর করার জন্য 5 টি টিপস

  2. MongoDB টিপস:পার্ট 1

  3. MongoDB টিপস:পার্ট 2

  4. নিরাপত্তা দুর্বলতা, অবজেক্ট রকেট প্যাচ