Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> डेटाबेस

MongoDB सुरक्षा युक्तियाँ

MongoDB® के साथ शुरुआत करना आसान है। हालाँकि, आप इसकी नई विशेषताओं के साथ कई बाधाओं में भाग सकते हैं जो निरंतर आधार पर सामने आती हैं। ऐसा ही एक चिंता का क्षेत्र सुरक्षा है, जिस पर इस ब्लॉग का फोकस है।

परिचय

डेटाबेस अनुप्रयोगों के लिए MongoDB अनुप्रयोगों के साथ सुरक्षा बनाए रखना महत्वपूर्ण है। डेटाबेस को खतरों से बचाने के लिए आपको लूप होल की पहचान करने और डेटाबेस या एप्लिकेशन सुरक्षा के प्रकार और विधियों को जानने में सक्षम होना चाहिए। सुरक्षा तकनीकी कार्यान्वयन मार्गदर्शिका का कड़ाई से पालन करना (STIG) MongoDB को काफी हद तक सुरक्षित करने में मदद करता है। समय-समय पर ऑडिट करने से सिस्टम या डेटाबेस में महत्वपूर्ण खामियों की पहचान करने में भी मदद मिलती है ताकि आप सिस्टम या डेटाबेस को विभिन्न खतरों से बचा सकें।

इस ब्लॉग में MongoDB को सुरक्षित और सुरक्षित रखने के लिए दस युक्तियों को शामिल किया गया है।

युक्ति 1:हमेशा प्रमाणीकरण सक्षम करें

प्रमाणीकरण को सक्षम करना एक अच्छा अभ्यास है और MongoDB को सुरक्षित करने का सबसे आसान तरीका है। याद रखें, कभी-कभी सक्षम की गई सबसे सरल सुरक्षा सुविधा सिस्टम को उसकी अधिकतम सीमा तक सुरक्षित कर सकती है और इस प्रकार संगठन को एक डेटा उल्लंघन से बचा सकती है जिसकी कीमत लाखों डॉलर हो सकती है।

निम्न पंक्तियों को mongod.conf . में जोड़ें MongoDB में प्रमाणीकरण सक्षम करने के लिए कॉन्फ़िगरेशन फ़ाइल:

Security:
        Authentication: on

निम्न छवि DB-स्तर की सुरक्षा को दर्शाती है:

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:एक प्रतिकृति कीफ़ाइल जोड़ें

प्रतिकृति कीफ़ाइल को सक्षम करने से MongoDB में प्रमाणीकरण स्वचालित रूप से सक्षम हो जाता है। इस सुविधा को सक्षम करने के साथ, केवल इस फ़ाइल को स्थापित करने वाले होस्ट ही प्रतिकृति सेट में शामिल हो सकते हैं।

एक सक्षम प्रतिकृति कीफाइल भी MongoDB में डेटा एन्क्रिप्शन सुनिश्चित करता है, जो सुरक्षा की एक अतिरिक्त परत प्रदान करता है। आप अपने द्वारा चुनी गई किसी भी विधि का उपयोग करके एक कीफाइल उत्पन्न कर सकते हैं, कीफाइल को प्रतिकृति सेट सदस्यों को कॉपी कर सकते हैं, और फिर एक्सेस कंट्रोल सक्षम के साथ प्रतिकृति सेट को प्रारंभ कर सकते हैं।

निम्न पंक्तियों को 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 में होस्ट इंटरनेट प्रोटोकॉल (आईपी) पतों को बाइंड करके सार्वजनिक पहुंच को अक्षम भी कर सकते हैं ।

युक्ति 8:ऑपरेटिंग सिस्टम स्तर पर फ़ायरवॉल नियम सक्षम करें और VPN का उपयोग करें

फायरवॉल नेटवर्क पर सिस्टम तक पहुंच को फ़िल्टर और नियंत्रित करने के लिए सुरक्षा की एक अतिरिक्त परत प्रदान करते हैं। MongoDB सर्वर पर, क्लाउड होस्टिंग में होस्ट या सुरक्षा समूहों पर फ़ायरवॉल नियम सक्षम करें।

हमेशा सुनिश्चित करें कि आप केवल विश्वसनीय स्रोतों को ही मोंगॉड इंस्टेंस तक पहुंच प्रदान करते हैं। क्लाउड होस्टिंग को अधिक सुरक्षित बनाने के लिए सर्वर के लिए आईपी पते या पोर्ट रेंज को बाधित करें।

सभी क्लाइंट के लिए एन्क्रिप्शन के विभिन्न स्तरों, प्रमाणीकरण के कई स्तरों और प्राधिकरण के लिए अपने डेटाबेस सिस्टम को प्रमाणित एक्सेस प्रदान करने के लिए वीपीएन का उपयोग करें।

टिप 9:सुरक्षा मुद्दों के लिए नियमित रूप से डेटाबेस सिस्टम का ऑडिट करें

यह देखने के लिए डेटाबेस या होस्ट सिस्टम का नियमित रूप से ऑडिट करें कि क्या कोई उल्लंघन हुआ है या यदि किसी उपयोगकर्ता खाते ने अपनी भूमिकाओं और विशेषाधिकारों के आधार पर आवश्यक के अलावा अन्य उन्नत विशेषाधिकार प्रदान किए हैं।

यदि परीक्षण उद्देश्यों के लिए उन्नत विशेषाधिकार दिए गए थे, तो सिस्टम को फिर से सुरक्षित करने के लिए उन्हें रद्द करना सुनिश्चित करें।

टिप 10:बाहर से डेटाबेस एक्सेस की पुष्टि और परीक्षण करें

आपको या आपकी टीम को यह देखने के लिए कि क्या वे सिस्टम का शोषण करते हैं, पेनेट्रेशन टेस्टिंग या SQL इंजेक्शन का उपयोग करके सुरक्षा समस्याओं के लिए डेटाबेस सिस्टम का परीक्षण करना चाहिए। सुनिश्चित करें कि बाहरी दुनिया से आपके डेटाबेस में कुछ भी उजागर नहीं होता है।

आप उस परीक्षण के लिए कई टूल का उपयोग कर सकते हैं, जैसे nmap, टेलनेट, इत्यादि।

निष्कर्ष

यह ब्लॉग आपको दैनिकMongoDB व्यवस्थापन के लिए कुछ बुनियादी सुरक्षा प्रथाओं को कॉन्फ़िगर करने में मदद करता है। अपने MongoDB डेटाबेस एप्लिकेशन को सुरक्षित करने के लिए इन युक्तियों और वर्णित टूल का उपयोग करें।

आप मोंगो शेल का उपयोग करने के बजाय अधिकांश सुरक्षा-संबंधित सुविधाओं की निगरानी और कॉन्फ़िगर करने के लिए मोंगोडीबी मॉनिटरिंग सर्विस (एमएमएस) का भी उपयोग कर सकते हैं।

कोई टिप्पणी करने या प्रश्न पूछने के लिए प्रतिक्रिया टैब का उपयोग करें।

हमारे प्रमाणित डेटाबेस व्यवस्थापकों और डेटाबेस सेवाओं के बारे में अधिक जानें।


  1. MongoDB युक्तियाँ:भाग 1

    मूल रूप से Tricore द्वारा प्रकाशित:2 अगस्त, 2017 हालांकि MongoDB के साथ शुरुआत करना आसान है, जब आप एप्लिकेशन बना रहे होते हैं तो अधिक जटिल मुद्दे सामने आते हैं। हो सकता है कि आप खुद को कुछ इस तरह से हैरान कर दें: मैं किसी रेप्लिका सदस्य को रेप्लिका सेट में फिर से कैसे सिंक करूं? दुर्घटना के बाद मै

  1. MongoDB युक्तियाँ:भाग 2

    मूल रूप से Tricore द्वारा प्रकाशित:24 अगस्त, 2017 इस श्रृंखला के भाग 1 में, हमने MongoDB का उपयोग करने के लिए कुछ सुझाव साझा किए हैं। भाग 2 में, हम अनुकूलन, प्रदर्शन, गति, अनुक्रमण, स्कीमा डिज़ाइन और डेटा सुरक्षा सहित कई और MongoDB विषयों को शामिल करते हैं। युक्ति 1:--notablescan विकास में विकल्प (

  1. सुरक्षा भेद्यता, ऑब्जेक्ट रॉकेट पैच

    SCRT में लोगों द्वारा एक शून्य दिन MongoDB सुरक्षा भेद्यता (CVE-2013-1892) की खोज की गई। 10gen ने इस समस्या को ठीक करने के लिए Mongodb को पैच किया है। ObjectRocket इस पैच को MongoDB के हमारे संस्करण में एकीकृत कर रहा है और हम इसे ग्राहकों के लिए रोल आउट करना शुरू करेंगे। सभी नए इंस्टेंस और शार्क मे