bg-tutorials

Google Cloud Platform पर SSL सर्टिफिकेट इंस्टॉल करने का तरीका

यह ट्यूटोरियल बताता है कि Certificate Manager का उपयोग करके Google Cloud Platform पर SSL सर्टिफिकेट कैसे इंस्टॉल करें। आप यह भी सीखेंगे कि Google Cloud के लिए CSR (Certificate Signing Request) कैसे जनरेट करें, और सर्टिफिकेट को HTTPS लोड बैलेंसर पर कैसे डिप्लॉय करें।

Google Cloud Platform पर CSR कोड जनरेट करें

CSR कोड के बिना आप SSL सर्टिफिकेट ऑर्डर नहीं कर सकते। CSR का अर्थ है Certificate Signing Request, एन्कोडेड टेक्स्ट का एक ब्लॉक जिसमें आवेदक का विवरण होता है। Certificate Authority सर्टिफिकेट जारी करने से पहले आपके डोमेन और संगठन को सत्यापित करने के लिए CSR का उपयोग करती है।

Google Cloud में कोई अंतर्निहित फॉर्म नहीं है जो आपके लिए CSR बनाए, इसलिए आप अपनी मशीन पर OpenSSL के साथ CSR और उसकी प्राइवेट की जनरेट करते हैं। आपके पास दो विकल्प हैं:

प्राइवेट की को सुरक्षित रखें। जब आप Certificate Manager पर सर्टिफिकेट अपलोड करेंगे तो आपको इसकी फिर से आवश्यकता होगी। अपने ऑर्डर के दौरान Certificate Authority को CSR सबमिट करें, और एक बार सर्टिफिकेट जारी हो जाने के बाद, नीचे दिए गए इंस्टॉलेशन के साथ जारी रखें।

Google Cloud Platform पर SSL सर्टिफिकेट इंस्टॉल करें

Google Cloud पर, थर्ड-पार्टी (सेल्फ-सप्लाइड) सर्टिफिकेट को सेल्फ-मैनेज्ड सर्टिफिकेट कहा जाता है। आप इसे Certificate Manager पर अपलोड करते हैं, फिर इसे HTTPS लोड बैलेंसर पर डिप्लॉय करते हैं। शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:

  • Certificate Authority से आपकी साइन की गई सर्टिफिकेट फाइलें।
  • वह प्राइवेट की जो आपने CSR के साथ जनरेट की थी।
  • Google Cloud Console और gcloud CLI तक पहुंच।
  • एक मौजूदा HTTPS लोड बैलेंसर (टारगेट HTTPS प्रॉक्सी वाला एक एक्सटर्नल Application Load Balancer) जो आपके डोमेन को सर्व करता है। सर्टिफिकेट इसी लोड बैलेंसर से जुड़ता है।

चरण 1: अपनी सर्टिफिकेट फाइलें तैयार करें

Certificate Authority आपके अनुरोध को सत्यापित करने के बाद, आपको एक ZIP आर्काइव ईमेल करती है। इसे एक्सट्रैक्ट करें और इन्हें ढूंढें:

  • yourdomain.crt, आपका सर्वर सर्टिफिकेट।
  • yourdomain.ca-bundle, इंटरमीडिएट सर्टिफिकेट।
  • yourdomain.key, वह प्राइवेट की जो आपने CSR के साथ बनाई थी।

चरण 2: सर्टिफिकेट और चेन को संयोजित करें

Certificate Manager को एक PEM फाइल की आवश्यकता होती है जिसमें पहले आपका सर्वर सर्टिफिकेट हो, फिर उस क्रम में इंटरमीडिएट सर्टिफिकेट हों। उस फोल्डर में एक टर्मिनल खोलें जहाँ आपकी फाइलें संग्रहीत हैं और चलाएं:

cat yourdomain.crt yourdomain.ca-bundle > fullchain.crt

यह सही क्रम में आपके सर्टिफिकेट और इंटरमीडिएट चेन के साथ एक PEM-फॉर्मेटेड फाइल बनाता है। सर्टिफिकेट फाइल —–BEGIN CERTIFICATE—– से शुरू होनी चाहिए और —–END CERTIFICATE—– पर समाप्त होनी चाहिए।

अब प्राइवेट की की जांच करें। Certificate Manager को इसकी आवश्यकता है कि यह हो:

  • PEM-फॉर्मेटेड और अनएन्क्रिप्टेड (कोई पासफ्रेज़ नहीं)।
  • PKCS#8 फॉर्म में, ताकि यह —–BEGIN PRIVATE KEY—– से शुरू हो, न कि —–BEGIN RSA PRIVATE KEY—– से।
  • RSA (2048, 3072, या 4096 बिट्स) या ECDSA (P-256 या P-384)।

यदि आपकी की —–BEGIN RSA PRIVATE KEY—– (PKCS#1) से शुरू होती है, तो इसे उस PKCS#8 फॉर्म में बदलें जिसे Certificate Manager स्वीकार करता है:

openssl pkcs8 -topk8 -nocrypt -in yourdomain.key -out yourdomain_pkcs8.key

नीचे दिए गए अपलोड चरणों में परिणामी yourdomain_pkcs8.key का उपयोग करें। यदि आपकी की पासफ्रेज़-प्रोटेक्टेड है, तो यह कमांड भी आपसे पासफ्रेज़ मांगता है और एक अनएन्क्रिप्टेड कॉपी लिखता है।

चरण 3: सर्टिफिकेट को Certificate Manager पर अपलोड करें

आप सेल्फ-मैनेज्ड सर्टिफिकेट को Console से या gcloud के साथ अपलोड कर सकते हैं। जो भी आपको पसंद हो उसका उपयोग करें; परिणाम एक ही Certificate Manager रिसोर्स होता है।

विकल्प A, Google Cloud Console:

  1. Google Cloud Console में साइन इन करें और अपना प्रोजेक्ट चुनें।
  2. Certificate Manager खोलें (Network Security क्षेत्र में Security के अंतर्गत), फिर Certificates टैब चुनें।
  3. Add Certificate चुनें।
  4. सर्टिफिकेट को एक नाम दें, फिर Certificate type के लिए Create self-managed certificate चुनें।
  5. Location के लिए, ग्लोबल लोड बैलेंसर के लिए Scope Default के साथ Global चुनें, या रीजनल लोड बैलेंसर के लिए Regional और अपना क्षेत्र चुनें।
  6. सर्टिफिकेट के रूप में fullchain.crt और प्राइवेट की के रूप में अपनी PKCS#8 प्राइवेट की अपलोड करें, फिर Create चुनें।

विकल्प B, gcloud CLI: एक ही कमांड में वही सर्टिफिकेट बनाएं। MY_CERT को अपनी पसंद के नाम से बदलें:

gcloud certificate-manager certificates create MY_CERT 
  --certificate-file=fullchain.crt 
  --private-key-file=yourdomain_pkcs8.key

दोनों में से किसी भी तरीके से, सर्टिफिकेट अब Certificate Manager में मौजूद है, लेकिन यह अभी किसी भी ट्रैफिक से जुड़ा नहीं है। अगला चरण इसे डिप्लॉय करता है।

चरण 4: सर्टिफिकेट को अपने लोड बैलेंसर पर डिप्लॉय करें

Certificate Manager एक certificate map के माध्यम से एक सर्टिफिकेट को डिप्लॉय करता है। आप एक मैप बनाते हैं, एक एंट्री जोड़ते हैं जो एक होस्टनेम को आपके सर्टिफिकेट पर इंगित करती है, फिर मैप को अपने लोड बैलेंसर के टारगेट HTTPS प्रॉक्सी से जोड़ते हैं। ये कमांड gcloud के साथ चलाएं।

एक certificate map बनाएं:

gcloud certificate-manager maps create MY_MAP

अपने होस्टनेम के लिए एक मैप एंट्री जोड़ें। MY_CERT को अपने अपलोड किए गए सर्टिफिकेट के नाम से और yourdomain.com को उस डोमेन से बदलें जिसे आप सुरक्षित करना चाहते हैं:

gcloud certificate-manager maps entries create my-entry 
  --map=MY_MAP 
  --certificates=MY_CERT 
  --hostname=yourdomain.com

मैप को अपने मौजूदा टारगेट HTTPS प्रॉक्सी से जोड़ें। MY_PROXY को उस प्रॉक्सी के नाम से बदलें जो आपके लोड बैलेंसर के आगे है:

gcloud compute target-https-proxies update MY_PROXY 
  --certificate-map=MY_MAP 
  --global

यदि आपका लोड बैलेंसर रीजनल है तो --global फ्लैग हटा दें और --region=YOUR_REGION जोड़ें। लोड बैलेंसर अब उस होस्टनेम के लिए आने वाले HTTPS ट्रैफिक हेतु आपका सर्टिफिकेट सर्व करता है। सर्टिफिकेट में बदलाव को लोड बैलेंसर में प्रसारित होने में कुछ मिनट लग सकते हैं।

अपनी SSL इंस्टॉलेशन का परीक्षण करें

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

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -subject -dates

यह अब उपयोग में आ रहे सर्टिफिकेट के इश्यूअर, सब्जेक्ट और वैधता तिथियों को प्रिंट करता है। सर्टिफिकेट और इसके कॉन्फ़िगरेशन पर एक पूरी रिपोर्ट के लिए, जिसमें चेन और प्रोटोकॉल जांच शामिल हैं, अपने डोमेन को हमारे SSL Checker के माध्यम से चलाएं, या ब्राउज़र में साइट खोलें और पैडलॉक जांचें।

अक्सर पूछे जाने वाले प्रश्न

क्या मैं सीधे Google Cloud में CSR जनरेट कर सकता हूँ?

नहीं। Google Cloud में कोई कंसोल फॉर्म नहीं है जो सेल्फ-मैनेज्ड सर्टिफिकेट के लिए CSR या प्राइवेट की जनरेट करता हो। आप अपनी मशीन पर OpenSSL के साथ (या हमारे CSR Generator के साथ) CSR और की बनाते हैं, सर्टिफिकेट ऑर्डर करते हैं, फिर जारी किए गए सर्टिफिकेट और प्राइवेट की को Certificate Manager पर अपलोड करते हैं।

सेल्फ-मैनेज्ड और Google-मैनेज्ड सर्टिफिकेट में क्या अंतर है?

एक सेल्फ-मैनेज्ड सर्टिफिकेट वह है जिसे आप Certificate Authority से प्राप्त करते हैं और स्वयं अपलोड करते हैं, और इसे नवीनीकृत करने की जिम्मेदारी आपकी होती है। एक Google-मैनेज्ड सर्टिफिकेट स्वचालित रूप से Google द्वारा प्रोविजन और नवीनीकृत किया जाता है। यह ट्यूटोरियल सेल्फ-मैनेज्ड सर्टिफिकेट को कवर करता है, जो SSL Dragon से खरीदे गए पेड सर्टिफिकेट के लिए उपयोग किया जाने वाला मार्ग है।

Certificate Manager मेरी प्राइवेट की को अस्वीकार क्यों करता है?

सबसे सामान्य कारण की का फॉर्मेट है। Certificate Manager को एक अनएन्क्रिप्टेड PKCS#8 की चाहिए जो —–BEGIN PRIVATE KEY—– से शुरू हो। यदि आपकी की —–BEGIN RSA PRIVATE KEY—– से शुरू होती है या पासफ्रेज़-प्रोटेक्टेड है, तो इसे openssl pkcs8 -topk8 -nocrypt -in yourdomain.key -out yourdomain_pkcs8.key के साथ बदलें और परिवर्तित फाइल अपलोड करें।

मैंने सर्टिफिकेट अपलोड कर दिया लेकिन साइट अभी भी “not secure” दिखा रही है। क्यों?

Certificate Manager पर सर्टिफिकेट अपलोड करना केवल इसे संग्रहीत करता है। जब तक आप इसे डिप्लॉय नहीं करते, यह ट्रैफिक सर्व नहीं करता। एक certificate map बनाएं, अपने होस्टनेम के लिए एक मैप एंट्री जोड़ें, और मैप को अपने लोड बैलेंसर के टारगेट HTTPS प्रॉक्सी (चरण 4) से जोड़ें। जब तक मैप संलग्न नहीं होता, लोड बैलेंसर आपका सर्टिफिकेट प्रस्तुत नहीं करता।

सर्टिफिकेट फाइल किस क्रम में होनी चाहिए?

आपका सर्वर (लीफ) सर्टिफिकेट पहले आता है, उसके बाद इंटरमीडिएट सर्टिफिकेट, एक ही PEM फाइल में। कमांड cat yourdomain.crt yourdomain.ca-bundle > fullchain.crt इसी क्रम को उत्पन्न करता है। एक गायब या गलत क्रम वाली चेन इसका एक सामान्य कारण है कि ब्राउज़र और SSL चेकर एक अपूर्ण सर्टिफिकेट पथ की रिपोर्ट करते हैं।

आज ऑर्डर करते समय एसएसएल प्रमाणपत्रों पर 10% की बचत करें!

तेजी से जारी करना, मजबूत एन्क्रिप्शन, 99.99% ब्राउज़र ट्रस्ट, समर्पित समर्थन और 25 दिन की मनी-बैक गारंटी। कूपन कोड: SAVE10

उड़ान में एक ड्रैगन की एक विस्तृत छवि
द्वारा लिखित

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