कोविड -19 महामारी के कारण दूर से काम करने का मतलब अलग-थलग बुनियादी ढांचे के महत्व में वृद्धि है; अधिक विशेष रूप से जिन्हें केवल एक आंतरिक नेटवर्क के माध्यम से एक्सेस किया जा सकता है, लेकिन इस तरह से कि बाहरी दुनिया के अधिकृत लोग सिस्टम को कभी भी या कहीं भी एक्सेस कर सकते हैं।
इस लेख में, हम कुछ बुनियादी कदम साझा करेंगे जिन्हें आपको MongoDB के साथ लागू करना होगा ताकि डेटाबेस को व्यवस्थित करते समय सुरक्षित पहुंच सुनिश्चित हो सके।
MongoDB को सुरक्षित करना
MongoDB डेटाबेस को दूरस्थ रूप से एक्सेस करने से पहले, आपको पर्यावरण का "सख्त" करना होगा। बुनियादी ढांचे के पक्ष में निम्नलिखित सेट करें:
MongoDB प्रमाणीकरण सक्षम करें
यह सुविधा सक्षम करने के लिए अनिवार्य है, भले ही हम MongoDB डेटाबेस को आंतरिक नेटवर्क या बाहरी नेटवर्क से एक्सेस करना चाहते हों। प्राधिकरण को सक्षम करने से पहले, आपको पहले MongoDB में एक व्यवस्थापक उपयोगकर्ता बनाना होगा। आप अपने एक mongoDB सर्वर में व्यवस्थापक उपयोगकर्ता बनाने के लिए निम्न कमांड चला सकते हैं:
$ mongo
> use admin
> db.createUser(
{
user: "admin",
pwd: "youdontknowmyp4ssw0rd",
roles: [ "root" ]
}
);
उपरोक्त आदेश रूट विशेषाधिकारों के साथ व्यवस्थापक नामक एक नया उपयोगकर्ता बनाएगा। आप /etc/mongod.conf फ़ाइल खोलकर और फिर निम्न पंक्ति जोड़कर MongoDB प्रामाणिक सुविधा को सक्षम कर सकते हैं:
security:
authorization: 'enabled'
परिवर्तनों को लागू करने के लिए अपनी mongoDB सेवा को पुनरारंभ करना न भूलें। उपरोक्त आदेश डेटाबेस तक पहुंच को प्रतिबंधित करेगा, केवल वही जिसके पास एक्सेस क्रेडेंशियल हैं जो लॉग इन करने के योग्य हैं।
भूमिकाएं और विशेषाधिकार सेट करें
MongoDB तक पहुंच के दुरुपयोग को रोकने के लिए, हम कई भूमिकाएं और इसके विशेषाधिकार बनाकर भूमिका-आधारित पहुंच को लागू कर सकते हैं।
सुनिश्चित करें कि आपके पास उन उपयोगकर्ताओं की सूची है जिन्हें डेटाबेस तक पहुंचने और प्रत्येक व्यक्ति की जरूरतों और जिम्मेदारियों को समझने की आवश्यकता है। भूमिकाएँ बनाएँ और इन सृजित भूमिकाओं को विशेषाधिकार प्रदान करें। उसके बाद, आप अपने उपयोगकर्ता को जिम्मेदारियों के आधार पर एक भूमिका सौंप सकते हैं।
यह दृष्टिकोण हमें अधिकार के दुरुपयोग को कम करने और कुछ अवांछित होने पर तुरंत भूमिका और उपयोगकर्ता की पहचान करने में मदद करता है।
एक एसएसएल / टीएलएस कनेक्शन कॉन्फ़िगर करें
मोंगोडीबी पारगमन में डेटा सुरक्षित करने के लिए एसएसएल / टीएलएस कनेक्शन का समर्थन करता है। इसे लागू करने के लिए, आपको अपनी स्वयं की एसएसएल कुंजी उत्पन्न करनी होगी, आप इसे ओपनएसएल का उपयोग करके उत्पन्न कर सकते हैं। एसएसएल / टीएलएस समर्थन को सक्षम करने के लिए, आप /etc/mongod.conf फ़ाइल को संपादित कर सकते हैं और निम्नलिखित पैरामीटर जोड़ सकते हैं:
net:
tls:
mode: requireTLS
certificateKeyFile: /etc/mongo/ssl/mongodb.pem
इन मापदंडों को जोड़ने के बाद, आपको MongoDB सेवा को पुनरारंभ करना होगा। यदि आपके पास MongoDB प्रतिकृति संरचना है, तो आपको उन्हें प्रत्येक नोड पर लागू करने की आवश्यकता है। एसएसएल की भी जरूरत तब पड़ती है जब क्लाइंट MongoDB को एक्सेस करेगा, चाहे वह एप्लिकेशन की तरफ से हो या क्लाइंट से सीधे।
उत्पादन उपयोग के लिए, आपको एकल प्रमाणपत्र प्राधिकारी द्वारा जेनरेट और हस्ताक्षरित मान्य प्रमाणपत्रों का उपयोग करना चाहिए। आप या आपका संगठन एक स्वतंत्र प्रमाणपत्र प्राधिकरण के रूप में प्रमाण पत्र बना और बनाए रख सकते हैं, या तृतीय-पक्ष TLS/SSL विक्रेताओं द्वारा बनाए गए प्रमाणपत्रों का उपयोग कर सकते हैं। स्व-हस्ताक्षरित प्रमाणपत्र का उपयोग रोकें, जब तक कि यह एक विश्वसनीय नेटवर्क न हो।
डेटाबेस पोर्ट को प्रतिबंधित करें
आपको यह सुनिश्चित करना होगा कि फ़ायरवॉल सर्वर या फ़ायरवॉल उपकरण पर केवल MongoDB पोर्ट खुला है, सुनिश्चित करें कि कोई अन्य पोर्ट खुला नहीं है।
MongoDB कनेक्शन सुरक्षित करना
सार्वजनिक इंटरनेट के माध्यम से दूरस्थ कनेक्शन स्थानीय उपयोगकर्ताओं से डेटाबेस सर्वर और इसके विपरीत डेटा प्रसारित होने का जोखिम प्रस्तुत करता है। हमलावर इंटरकनेक्शन को बाधित कर सकते हैं, जिसे इस मामले में एमआईटीएम (मिन-इन-द-मिडिल) हमले के रूप में जाना जाता है। जब हम दूरस्थ रूप से डेटाबेस का प्रबंधन/व्यवस्थापन करते हैं, तो कनेक्शन सुरक्षित करना बहुत आवश्यक होता है, डेटाबेस तक अपनी पहुंच को सुरक्षित रखने के लिए हम कुछ चीजें इस प्रकार लागू कर सकते हैं:
निजी नेटवर्क एक्सेस
वीपीएन (वर्चुअल प्राइवेट नेटवर्क) मूलभूत चीजों में से एक है जब हम अपने बुनियादी ढांचे को सुरक्षित रूप से बाहर से एक्सेस करना चाहते हैं। वीपीएन एक निजी नेटवर्क है जो दूरस्थ साइटों तक पहुंचने के लिए सार्वजनिक नेटवर्क का उपयोग करता है। वीपीएन सेटअप के लिए हार्डवेयर की आवश्यकता होती है जिसे निजी नेटवर्क पक्ष पर तैयार किया जाना चाहिए, इसके अलावा क्लाइंट को वीपीएन सॉफ्टवेयर की भी आवश्यकता होती है जो निजी नेटवर्क तक पहुंच का समर्थन करता है।
वीपीएन का उपयोग करने के अलावा, MongoDB सर्वर तक पहुंचने का दूसरा तरीका SSH के माध्यम से पोर्ट फ़ॉरवर्डिंग डेटाबेस पोर्ट, या SSH टनलिंग के रूप में जाना जाता है।
क्लाइंट से डेटाबेस सर्वर में SSL / TLS का उपयोग करें
वीपीएन या एसएसएच टनलिंग का उपयोग करके सुरक्षित पहुंच को लागू करने के अलावा, हम एसएसएल / टीएलएस का उपयोग कर सकते हैं जो पहले मोंगोडीबी पक्ष पर कॉन्फ़िगर किया गया था। आपको बस आपके पास मौजूद SSL कुंजी की आवश्यकता है और SSL कुंजी का उपयोग करके डेटाबेस से कनेक्ट करने का प्रयास करें।
डेटाबेस निगरानी सक्षम करें
डेटाबेस की वर्तमान स्थिति को समझने के लिए निगरानी सेवा को सक्षम करना आवश्यक है। निगरानी सर्वर को सार्वजनिक डोमेन के तहत स्थापित किया जा सकता है जिसमें एसएसएल / टीएलएस सक्षम है, इसलिए स्वचालित रूप से ब्राउज़र तक पहुंच HTTP का उपयोग कर सकती है।
निष्कर्ष
घर से काम करना वाकई मजेदार है, आप अपने बच्चों के साथ बातचीत कर सकते हैं और साथ ही अपने डेटाबेस की निगरानी भी कर सकते हैं। आपको यह सुनिश्चित करने के लिए उपरोक्त दिशानिर्देशों का पालन करना चाहिए कि आपके डेटाबेस को दूरस्थ रूप से एक्सेस करते समय आप पर हमला न हो या डेटा चोरी न हो।