MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

हाइब्रिड क्लाउड एनवायरनमेंट पर मारियाडीबी परिनियोजन के लिए सुरक्षा संबंधी विचार

हाइब्रिड क्लाउड आपके मौजूदा ऑन-प्रिमाइसेस परिनियोजन में लचीलापन जोड़ने का एक शानदार तरीका हो सकता है। जैसा कि हमने कई ब्लॉगों में चर्चा की है, सार्वजनिक क्लाउड आपके अपने डेटासेंटर के लिए एक बढ़िया अतिरिक्त हो सकता है, यह सुनिश्चित करता है कि आप लोड को संभालने के लिए आसानी से स्केल कर सकते हैं, अपने कैपेक्स को कम कर सकते हैं और आपदा वसूली प्रक्रियाओं को लागू करने के लिए उपयोग किया जा सकता है। सुरक्षा एक अन्य पहलू है जिस पर आपको विचार करना होगा जब आप ऐसी प्रणालियों के निर्माण की योजना बना रहे हों। इस ब्लॉग पोस्ट में, हम हाइब्रिड क्लाउड मारियाडीबी परिनियोजन के लिए कुछ सुरक्षा कारणों के बारे में बात करेंगे।

कनेक्टिविटी

वीपीएन

हर हाइब्रिड इंफ्रास्ट्रक्चर का प्रमुख हिस्सा नेटवर्क है। आखिरकार, हम दो परिवेशों, स्थानीय, ऑन-प्रिमाइसेस और एक सार्वजनिक क्लाउड के बारे में बात कर रहे हैं, जिन्हें कनेक्ट करके एक इकाई बनाना है। कनेक्शन को एन्क्रिप्ट किया जाना है। इसे कैसे प्राप्त करें, ऐसा करने के कई तरीके हैं।

उनमें से एक समाधान का उपयोग करना होगा जो क्लाउड प्रदाता द्वारा उपलब्ध कराया गया है - उनमें से अधिकांश में किसी न किसी प्रकार का कनेक्टिविटी विकल्प उपलब्ध है। यदि आप अमेज़ॅन वेब सेवाओं के साथ एकीकृत होते हैं तो यह एडब्ल्यूएस डायरेक्ट कनेक्ट हो सकता है। यदि आप Google क्लाउड का उपयोग करने की योजना बना रहे हैं, तो निम्नलिखित वेब साइट पर समाधानों पर चर्चा की जाती है:https://cloud.google.com/hybrid-connectivity। संक्षेप में, बड़ी संख्या में विभिन्न विकल्प हैं जो हार्डवेयर VPN एकीकरण से लेकर BGP पीयरिंग सेट अप करने तक भिन्न होते हैं।

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

फ़ायरवॉल

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

एप्लिकेशन सर्वर की डेटाबेस तक सीधी पहुंच नहीं होनी चाहिए - उन्हें इसकी आवश्यकता नहीं है। लोड बैलेंसर से कनेक्ट करने के लिए सभी एप्लिकेशन की आवश्यकता होनी चाहिए। लोड बैलेंसर्स को डेटाबेस से कनेक्ट करने में सक्षम होना चाहिए। ProxySQL जैसा लोड बैलेंसर रीड/राइट स्प्लिट करने और रीड्स और राइट्स को सही डेटाबेस नोड्स में भेजने में पूरी तरह सक्षम है। एप्लिकेशन को ProxySQL से कनेक्ट करने में सक्षम होना चाहिए और बाकी को प्रॉक्सी द्वारा नियंत्रित किया जाएगा - डेटाबेस प्रमाणीकरण, ट्रैफ़िक को आकार देना, आपके पास मौजूद कई प्रतिकृतियों में ट्रैफ़िक वितरित करना। सभी अनावश्यक पहुंच प्रतिबंधित होनी चाहिए। सुरक्षा समूह, फायरवॉल - ये वे उपकरण हैं जिनका उपयोग आप अपने पर्यावरण को सुरक्षित रखने के लिए करना चाहते हैं।

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

पोर्ट के लिए, सर्वोत्तम अभ्यास उन्हें डिफ़ॉल्ट सेटिंग्स से किसी और चीज़ में बदलना होगा। आदर्श रूप से, कुछ यादृच्छिक। एसएसएच पोर्ट को 22 से 2222 या मारियाडीबी पोर्ट को 3306 से 33306 में बदलने से कुछ स्वचालित हमलों से बचने में मदद मिल सकती है लेकिन यह अभी भी पता लगाया जा सकता है कि क्या कोई सक्रिय रूप से आपके नेटवर्क में आना चाहता है। यदि आप बेहतर सुरक्षा चाहते हैं, तो आप कुछ यादृच्छिक मूल्यों के साथ आगे बढ़ सकते हैं। SSH को 5762 पर और MariaDB को 24359 पर सेट करें। यह काफी संभावना है कि कोई भी उनका अनुमान नहीं लगा पाएगा। अपना टीसीपी टाइमआउट सेट करें ताकि पोर्ट स्कैन बहुत लंबा और महंगा हो और इससे निश्चित रूप से आपके मौके बढ़ेंगे।

एसएसएल

वीपीएन और फ़ायरवॉल के अलावा, आपको यह सुनिश्चित करना चाहिए कि आपका डेटाबेस ट्रैफ़िक एसएसएल का उपयोग करके एन्क्रिप्ट किया गया है।

आदर्श रूप से, आप दोनों फ्रंटएंड कनेक्शन (लोड बैलेंसर्स से) की रक्षा करेंगे और आपके डेटाबेस नोड्स के बीच संचार (चाहे वह प्रतिकृति हो या गैलेरा क्लस्टर में इंट्रा-क्लस्टर ट्रांसफर)। ClusterControl कुछ ही क्लिक में उन विकल्पों को सक्षम करने में आपकी सहायता कर सकता है।

आपको बस इतना करना है कि ClusterControl को नए प्रमाणपत्र बनाने दें या मौजूदा प्रमाणपत्रों में से किसी एक का उपयोग करने दें - यदि आप चाहें तो आप अपना स्वयं का प्रमाणपत्र आयात कर सकते हैं। एसएसएल सक्षम होने से यह सुनिश्चित होता है कि डेटाबेस ट्रैफ़िक किसी ऐसे व्यक्ति द्वारा भी पढ़ने योग्य नहीं होगा, जिसने आपके नेटवर्क तक पहुँच प्राप्त की हो।

डेटाबेस सुरक्षा

बेशक, नेटवर्क सुरक्षा का एकमात्र महत्वपूर्ण पहलू नहीं है। हां, यह महत्वपूर्ण है, विशेष रूप से हाइब्रिड क्लाउड वातावरण में, लेकिन अन्य बहुत महत्वपूर्ण पहलू भी हैं। उनमें से एक मारियाडीबी में एम्बेडेड एक्सेस कंट्रोल है।

MariaDB के लिए भूमिका-आधारित अभिगम नियंत्रण

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

MariaDB में प्रत्येक उपयोगकर्ता को कई विशेषाधिकार सौंपे जा सकते हैं। विशेषाधिकार कई स्तरों पर दिए जा सकते हैं - वैश्विक स्तर, डेटाबेस स्तर, तालिका स्तर या यहां तक ​​कि स्तंभ स्तर। सबसे अच्छा अभ्यास उपयोगकर्ताओं को यथासंभव सीमित विशेषाधिकार प्रदान करना है। यदि उपयोगकर्ता को केवल किसी विशेष तालिका तक पहुंच की आवश्यकता है, तो बस उसे वह प्रदान करें। अन्य स्कीमा का उल्लेख न करने के लिए उस उपयोगकर्ता को अन्य तालिकाओं तक पहुंचने की कोई आवश्यकता नहीं है। आप उपयोगकर्ताओं को दिए जा सकने वाले विशेषाधिकारों के एक बड़े सेट का उपयोग करके काफी विस्तृत पहुंच अधिकारों को परिभाषित कर सकते हैं। यह डेटाबेस प्रबंधन विशेषाधिकारों के माध्यम से "सुपर" विशेषाधिकार तक डेटा को पढ़ने, अपडेट करने या हटाने के अधिकारों से लेकर है जो उपयोगकर्ता को प्रतिकृति थ्रेड्स को प्रबंधित करने और रीड_ओनली सेटिंग को बायपास करने जैसी क्रियाएं करने की अनुमति देता है।

उसके ऊपर, मारियाडीबी भूमिकाओं के साथ आता है - उपयोगकर्ता प्रबंधन को आसान बनाने के लिए दिए गए विशेषाधिकारों के सेट के साथ भूमिकाओं को परिभाषित करना संभव है और फिर उन भूमिकाओं को उपयोगकर्ताओं को सौंपना संभव है। ऐसे उपयोगकर्ता उस भूमिका से संबंधित अनुदान प्राप्त करेंगे, जिसे उसे सौंपा गया है, जिससे बड़े पैमाने पर अनुदानों का प्रबंधन करना आसान हो जाता है:कई उपयोगकर्ताओं के लिए अनुदान बदलने के बजाय आप उन्हें एक विशिष्ट भूमिका के लिए असाइन कर सकते हैं और फिर उनके द्वारा उनके सभी विशेषाधिकारों का प्रबंधन कर सकते हैं। उन्हें सौंपी गई भूमिका के लिए दिए गए विशेषाधिकारों को बदलना।

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

ऑडिट लॉग

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

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रॉकी लिनक्स और अल्मालिनक्स पर मारियाडीबी कैसे स्थापित करें

  2. मारियाडीबी में उपलब्ध कैरेक्टर सेट प्राप्त करने के 2 तरीके

  3. डॉकर पर मारियाडीबी मैक्सस्केल लोड बैलेंसिंग:परिनियोजन:भाग एक

  4. AWS पर MySQL या MariaDB के प्रबंधन के लिए RDS बनाम EC2 की तुलना करना

  5. मारियाडीबी के प्रमाणित सहयोगी कार्यक्रम के लाभों को अनलॉक करना