Apigee mTLS के बारे में जानकारी

Apigee mTLS सुविधा, प्राइवेट क्लाउड क्लस्टर में, आपके Edge में कॉम्पोनेंट के बीच कम्यूनिकेशन को सुरक्षा बढ़ाती है.

वास्तुकला से जुड़ी खास जानकारी

कॉम्पोनेंट के बीच सुरक्षित कम्यूनिकेशन करने के लिए, Apigee mTLS, एक सर्विस मेश का इस्तेमाल करता है. यह कॉम्पोनेंट के बीच, सुरक्षित और आपसी रूप से पुष्टि किए गए TLS कनेक्शन सेट करता है.

नीचे दी गई इमेज, Apigee कॉम्पोनेंट के बीच कनेक्शन दिखाती है, जिन्हें Apigee mTLS सुरक्षित करता है (in red). इमेज में दिखाए गए पोर्ट उदाहरण हैं; हर कॉम्पोनेंट इस्तेमाल की जा सकने वाली रेंज की सूची के लिए, पोर्ट का इस्तेमाल देखें.

(ध्यान दें कि "M" के साथ दिखाए गए पोर्ट का इस्तेमाल कॉम्पोनेंट को मैनेज करने के लिए किया जाता है. साथ ही, उनका ऐक्सेस कॉम्पोनेंट पर होना चाहिए, ताकि मैनेजमेंट सर्वर इन्हें ऐक्सेस कर सके.)

जैसा कि ऊपर दिए गए डायग्राम में देखा जा सकता है, Apigee mTLS, क्लस्टर के ज़्यादातर कॉम्पोनेंट के बीच कनेक्शन में सुरक्षा जोड़ता है. इनमें ये शामिल हैं:

सोर्स डेस्टिनेशन
मैनेजमेंट सर्वर राऊटर, एमपी, QPid, LDAP, पोस्टग्रेस, ज़ूकीपर, और कैसेंड्रा नोड
राऊटर लूपबैक; क्यूपिड, ज़ूकीपर, और कसांद्रा नोड
मैसेज प्रोसेसर लूपबैक; क्यूपिड, ज़ूकीपर, और कसांद्रा नोड
ज़ूकीपर और कसांद्रा अन्य ज़ूकीपर और कसांद्रा नोड
Edge यूज़र इंटरफ़ेस (यूआई) एसएमटीपी (सिर्फ़ बाहरी आईडीपी (IdP) के लिए)
पोस्टग्रेस अन्य पोस्टग्रे, ज़ूकीपर, और कसांद्रा नोड

मैसेज को एन्क्रिप्ट (सुरक्षित) करना/डिक्रिप्ट करना

Apigee mTLS सेवा मेश में, Consul सर्वर होते हैं, जो आपके क्लस्टर के हर ZKeeper नोड पर काम करते हैं. साथ ही, क्लस्टर के हर नोड पर नीचे दी गई Consul सेवाएं भी शामिल होती हैं:

  • ऐसा एक्सग्रेस प्रॉक्सी जो होस्ट नोड पर भेजे जाने वाले मैसेज को रोकता है. यह सेवा, भेजे जाने वाले मैसेज को डेस्टिनेशन पर भेजने से पहले, उन्हें एन्क्रिप्ट (सुरक्षित) करती है.
  • ऐसा इनग्रेस प्रॉक्सी जो होस्ट नोड पर आने वाले मैसेज को रोकता है. यह सेवा, आने वाले मैसेज को उपयोगकर्ता की आखिरी जगह पर भेजने से पहले डिक्रिप्ट करती है.

उदाहरण के लिए, जब मैनेजमेंट सर्वर राऊटर को मैसेज भेजता है, तो इग्रेस प्रॉक्सी सेवा की मदद से भेजे जाने वाले मैसेज को रोका जाता है, एन्क्रिप्ट (सुरक्षित) किया जाता है, और फिर उसे राऊटर को भेजा जाता है. जब रूटर के नोड को मैसेज मिलता है, तो इन्ग्रेस प्रॉक्सी सेवा मैसेज को डिक्रिप्ट कर देती है, और उसे प्रोसेसिंग के लिए राऊटर कॉम्पोनेंट के पास भेज देती है.

यह सब एज कॉम्पोनेंट के साथ पारदर्शी तरीके से होता है: उन्हें Consul प्रॉक्सी सेवाओं की एन्क्रिप्ट (सुरक्षित) और डिक्रिप्शन प्रोसेस की जानकारी नहीं है.

इसके अलावा, Apigee mTLS, iptables यूटिलिटी का इस्तेमाल करता है. यह Linux फ़ायरवॉल सेवा है, जो ट्रैफ़िक रीडायरेक्ट को मैनेज करती है.

ज़रूरी शर्तें

Apigee mTLS, सर्विस मेश को कॉन्फ़िगर और इंस्टॉल करने का इंडस्ट्री स्टैंडर्ड वाला तरीका है. यह पैकेज मैनेजमेंट और कॉन्फ़िगरेशन ऑटोमेशन का इस्तेमाल करता है.

क्योंकि Consul प्रॉक्सी सेवाओं को अलग-अलग प्रक्रियाओं के लिए पोर्ट असाइनमेंट के रूप में सख्ती से जोड़ा जाता है, तो एक नोड में बदलाव हर दूसरे नोड को प्रभावित करता है. इस वजह से, अगर आपकी टोपोलॉजी में बदलाव होता है, तो आपको क्लस्टर के हर नोड पर सेवाओं को फिर से कॉन्फ़िगर और फिर से शुरू करना होगा.

Apigee mTLS इंस्टॉल करने से पहले, आपके एनवायरमेंट को इस सेक्शन में बताई गई इन ज़रूरी शर्तों को पूरा करना होगा.

इन शर्तों में शामिल हैं:

  • प्राइवेट क्लाउड वर्शन के लिए एज
  • उन सुविधाओं का सेट जिन्हें इंस्टॉल और चालू किया गया है
  • अनुमतियों के सही स्तर वाला उपयोगकर्ता खाता
  • एडमिन मशीन (सुझाया गया)

Private Cloud के लिए ज़रूरी शर्तें

Apigee mTLS, प्राइवेट क्लाउड के लिए Edge के इन वर्शन पर काम करता है. हालांकि, यह ओएस की ज़रूरी शर्तों के मुताबिक, इस्तेमाल किए जा सकने वाले सभी प्लैटफ़ॉर्म पर काम नहीं करता:

  • 4.19.06
  • 4.19.01

Apigee mTLS के लिए यह ज़रूरी है कि आपके निजी क्लाउड क्लस्टर में कम से कम तीन ज़ूकीपर नोड शामिल हों. इस वजह से, सिर्फ़ उन टोपोलॉजी पर Apigee mTLS इंस्टॉल किया जा सकता है जो 5, 9, 12 (मल्टी-डेटा सेंटर) या 13 नोड का इस्तेमाल करते हैं. ज़्यादा जानकारी के लिए, इंस्टॉलेशन टोपोलॉजी देखें.

ओएस से जुड़ी ज़रूरी शर्तें

Apigee mTLS, आपके Private Cloud क्लस्टर के लिए, इन प्लैटफ़ॉर्म पर काम करता है. mTLS के साथ काम करने वाला ओएस, Private Cloud के वर्शन पर निर्भर करता है:

ऑपरेटिंग सिस्टम काम करने वाला प्राइवेट क्लाउड वर्शन
v4.19.06 v4.50.00 v4.51.00
CentOS
RedHat Enterprise Linux (RHEL)
Oracle Linux
7.5, 7.6, 7.7 7.5, 7.6, 7.7, 7.8, 7.9 7.5, 7.6, 7.7, 7.8, 7.9, 8.0

सुविधाएं/पैकेज

Apigee mTLS के लिए ज़रूरी है कि इंस्टॉल करने की प्रोसेस शुरू करने से पहले, आपके पास अपने क्लस्टर में मौजूद हर मशीन पर इन पैकेज को इंस्टॉल और चालू हो. इनमें एडमिन मशीन भी शामिल है.

बिजली, पानी जैसी सुविधाओं का पैकेज ब्यौरा क्या इंस्टॉल करने के बाद, इसे हटाना है?
base64 इंस्टॉलेशन स्क्रिप्ट में मौजूद डेटा की पुष्टि करता है.
gnu-bash
gnu-sed
gnu-grep
इसे इंस्टॉलेशन स्क्रिप्ट और दूसरे सामान्य टूल में इस्तेमाल किया जाता है.
iptables डिफ़ॉल्ट फ़ायरवॉल, firewalld को बदलता है.
iptables-services iptables यूटिलिटी को फ़ंक्शन मुहैया कराता है.
lsof इसका इस्तेमाल इंस्टॉलेशन स्क्रिप्ट करती है.
nc iptables रास्तों की पुष्टि करता है.
openssl बूटस्ट्रैपिंग की शुरुआती प्रोसेस के दौरान, सर्टिफ़िकेट पर स्थानीय तौर पर हस्ताक्षर किया जाता है.

इंस्टॉल करने के दौरान, एडमिन मशीन पर Consul पैकेज भी इंस्टॉल किया जाता है, ताकि क्रेडेंशियल और एन्क्रिप्शन कुंजी जनरेट की जा सके.

apigee-mtls पैकेज, Console के सर्वर को इंस्टॉल और कॉन्फ़िगर करता है. इनमें, क्लस्टर में मौजूद छोटा-सा ज़ू-Keeper नोड भी होगा, जिसमें इनग्रेस और इग्रेस डेटा ट्रैफ़िक से जुड़ी प्रॉक्सी शामिल होंगी.

उपयोगकर्ता खाते की अनुमतियां

क्लस्टर के हर नोड पर Apigee mTLS इंस्टॉल करने वाले खाते के लिए ज़रूरी है कि वे नीचे दिए गए काम कर सकें:

  • Apigee के कॉम्पोनेंट शुरू करना, बंद करना, रीस्टार्ट करना, और शुरू करना
  • फ़ायरवॉल के नियम सेट करना
  • नया ओएस/सिस्टम उपयोगकर्ता खाता बनाना
  • systemctl की मदद से, सेवाएं चालू, बंद, शुरू, बंद, और मास्क करें

एडमिन मशीन (सुझाया गया)

Apigee का सुझाव है कि आपके पास इस क्लस्टर में एक नोड होना चाहिए, जिसका इस्तेमाल आप इस दस्तावेज़ में बताए गए अलग-अलग काम करने के लिए कर सकें. इनमें ये शामिल हैं:

  1. HahiCorp Consul 1.6.2 इंस्टॉल करें.
  2. सर्टिफ़िकेट/की पेयर और गॉसिप एन्क्रिप्शन की जनरेट करें और डिस्ट्रिब्यूट करें.
  3. कॉन्फ़िगरेशन फ़ाइल को अपडेट और डिस्ट्रिब्यूट करें.

एडमिन मशीन के लिए यह ज़रूरी है:

  • आपने इस पर apigee-service और apigee-setup यूटिलिटी को डाउनलोड और इंस्टॉल कर लिया है, जैसा कि Install Edge apigee-setup यूटिलिटी में बताया गया है.
  • क्लस्टर के सभी नोड को scp/ssh का ऐक्सेस मिलता है. कॉन्फ़िगरेशन फ़ाइल और क्रेडेंशियल डिस्ट्रिब्यूट करने के लिए, आपके पास क्लस्टर में मौजूद सभी होस्ट के लिए, scp/ssh का ऐक्सेस होना चाहिए.
  • आपके पास एडमिन मशीन का रूट ऐक्सेस है.

पोर्ट का इस्तेमाल और असाइन करने की सेटिंग

इस सेक्शन में, पोर्ट के इस्तेमाल और पोर्ट असाइनमेंट के बारे में बताया गया है, ताकि Apigee mTLS से Consul में बातचीत की जा सके.

पोर्ट का इस्तेमाल: apigee-mtls चलाने वाले सभी नोड

क्लस्टर के apigee-mtls सेवा का इस्तेमाल करने वाले सभी नोड को localhost (127.0.0.1) पर मौजूद सेवाओं से कनेक्शन की अनुमति देनी होगी. इससे Consul के प्रॉक्सी को दूसरी सेवाओं से संपर्क करने की अनुमति मिलती है, ताकि वे इनकमिंग और आउटगोइंग मैसेज प्रोसेस कर सकें.

पोर्ट का इस्तेमाल: Consul सर्वर नोड (ज़ूKeeper चलाने वाले नोड)

क्लस्टर में सभी नोड से अनुरोध स्वीकार करने के लिए, आपको इनमें से ज़्यादातर पोर्ट को Consul सर्वर नोड (ZooKeeper चलाने वाले नोड) पर खोलना होगा:

नोड Consul सर्वर पोर्ट ब्यौरा प्रोटोकॉल बाहरी mtls-एजेंट को अनुमति दें
*
Consul Server (ZooKeeper नोड) 8300 क्लस्टर में सभी Consul सर्वर कनेक्ट करता है. RPC
8301 क्लस्टर में सदस्यता और ब्रॉडकास्ट मैसेज को हैंडल करता है. यूडीपी/टीसीपी
8302 WAN पोर्ट, जो एक से ज़्यादा डेटासेंटर के कॉन्फ़िगरेशन में सदस्यता और ब्रॉडकास्ट मैसेज को मैनेज करता है. यूडीपी/टीसीपी
8500 एक ही नोड पर मौजूद प्रोसेस से, Consul Server API (एपीआई) को एचटीटीपी कनेक्शन मैनेज करता है.

इस पोर्ट का इस्तेमाल रिमोट कम्यूनिकेशन या कोऑर्डिनेशन के लिए नहीं किया जाता. यह सिर्फ़ localhost पर सुनता है.

HTTP
8502 क्लस्टर में मौजूद अन्य नोड से, gRPC+एचटीटीपीएस कनेक्शन को Consul Server एपीआई से हैंडल करता है. gRPC+एचटीटीपीएस
8503 क्लस्टर में मौजूद अन्य नोड से, Consul Server API (एपीआई) से एचटीटीपीएस कनेक्शन मैनेज करता है. एचटीटीपीएस
8600 Consul सर्वर के डीएनएस को मैनेज करता है. यूडीपी/टीसीपी
* Apigee का सुझाव है कि आप इनबाउंड अनुरोधों को सिर्फ़ क्लस्टर सदस्यों के लिए सीमित करें (इसमें क्रॉस-डेटास्टोर भी शामिल हैं). ऐसा करने के लिए, iptables का इस्तेमाल करें.

जैसा कि इस टेबल में दिखाया गया है, consul-server कॉम्पोनेंट (ZooKeeper नोड) को चलाने वाले नोड को, क्लस्टर के उन सभी सदस्यों के लिए पोर्ट 8301, 8302, 8502, 8503, और 8503 खोलने होंगे जो apigee-mtls सेवा का इस्तेमाल कर रहे हैं यहां तक कि डेटा सेंटर के लिए भी. जो नोड ZKeeper पर नहीं चल रहे हैं उन्हें इन पोर्ट को खोलने की ज़रूरत नहीं है.

सभी Consul नोड (इसमेंज़ूकीपर चलाने वाले नोड शामिल हैं) के लिए असाइनमेंट पोर्ट करना

Consul कम्यूनिकेशन के लिए, इन Apigee कॉम्पोनेंट को चलाने वाले नोड को, नीचे दी गई रेंज में पोर्ट से बाहरी कनेक्शन को अनुमति देनी होगी:

Apigee कॉम्पोनेंट रेंज हर नोड के लिए ज़रूरी पोर्ट की संख्या
Apigee mTLS 10,700 से 10,799 1
कसांद्रा 10,100 से 10199 2
मैसेज प्रोसेसर 10,500 से 10,599 2
OpenLDAP 10,200 से 10,299 1
पोस्टग्रेस 10,300 से 10,399 3
क्यूपीआईडी 10,400 से 10,499 2
राऊटर 10,600 से 10,699 2
ZooKeeper 10,001 से 10099 3

कॉन्सल सामान्य तरीके से लीनियर स्टाइल में पोर्ट असाइन करता है. उदाहरण के लिए, अगर आपके क्लस्टर में दो Postgres नोड हैं, तो पहला नोड दो पोर्ट का इस्तेमाल करता है. इसलिए, Consul इसके लिए पोर्ट 10300 और 10301 असाइन करता है. दूसरे नोड में भी दो पोर्ट इस्तेमाल होते हैं, इसलिए कंसोल उस नोड को 10302 और 10303 असाइन करता है. यह बात सभी तरह के कॉम्पोनेंट पर लागू होती है.

जैसा कि देखा जा सकता है, पोर्ट की असल संख्या टोपोलॉजी पर निर्भर करती है: अगर आपके क्लस्टर में दो पोस्टग्रीस नोड हैं, तो आपको चार पोर्ट (दो नोड गुणा दो पोर्ट) खोलने होंगे.

निम्न पर ध्यान दें:

  • कंसोल प्रॉक्सी, उन पोर्ट पर आवाज़ नहीं सुन सकते जिन पर Apigee सेवाएं मौजूद हैं.
  • Consul में सिर्फ़ एक पोर्ट पता स्पेस है. पूरे क्लस्टर में, Consul प्रॉक्सी पोर्ट असाइनमेंट अलग-अलग होने चाहिए. इनमें डेटा सेंटर भी शामिल हैं. इसका मतलब है कि अगर होस्ट A पर प्रॉक्सी A, पोर्ट 15,000 पर सुनती है, तो होस्ट B पर प्रॉक्सी B, पोर्ट 15,000 पर नहीं सुन सकता.
  • इस्तेमाल किए गए पोर्ट की संख्या, टोपोलॉजी के हिसाब से अलग-अलग होती है, जैसा कि पहले बताया गया है.

मल्टी-डेटा सेंटर कॉन्फ़िगरेशन में, mTLS चलाने वाले सभी होस्ट को पोर्ट 8302 भी खोलना होगा.

आपके पास उन डिफ़ॉल्ट पोर्ट को पसंद के मुताबिक बनाने का विकल्प होता है जिनका इस्तेमाल Apigee mTLS किया जाता है. ऐसा करने के तरीके के बारे में जानकारी के लिए, प्रॉक्सी पोर्ट रेंज को पसंद के मुताबिक बनाना देखें.

सीमाएं

Apigee mTLS की ये सीमाएं हैं:

  • इंटर-नोड कैसेंड्रा कम्यूनिकेशन को एन्क्रिप्ट (सुरक्षित) नहीं किया जाता (पोर्ट 7000)
  • कॉन्फ़िगरेशन और सेटअप की पहचान नहीं है. इसका मतलब है कि अगर एक नोड में एक बदलाव किया जाता है, तो आपको सभी नोड में एक जैसा ही बदलाव करना होगा. सिस्टम इस बदलाव को नहीं चुनता है और इसे आपके लिए दूसरे नोड पर लागू नहीं करता है. ज़्यादा जानकारी के लिए, मौजूदा apigee-mtls कॉन्फ़िगरेशन बदलना देखें.

शब्दावली

इस सेक्शन में इन शब्दों का इस्तेमाल किया जाता है:

शब्द परिभाषा
क्लस्टर ऐसी मशीनों का ग्रुप जो निजी क्लाउड को इंस्टॉल करने के लिए आपका Edge बनाती है.
सलाह Apigee mTLS के लिए इस्तेमाल किया जाने वाला सेवा मेश. Consul किस तरह आपके निजी क्लाउड कम्यूनिकेशन को सुरक्षित रखता है, यह जानने के लिए Consul का सुरक्षा मॉडल देखें.
mTLS म्यूचुअल रूप से पुष्टि किया गया TLS.
सर्विस मेश ओवरले नेटवर्क (या किसी नेटवर्क में मौजूद नेटवर्क).
टीएलएस ट्रांज़ैक्शन लेयर सुरक्षा. सुरक्षित कम्यूनिकेशन के लिए, पुष्टि करने का इंडस्ट्री स्टैंडर्ड वाला प्रोटोकॉल.