अपने सर्वर पर एचटीटीपीएस चालू करना

Chris Palmer
Chris Palmer

इस पेज पर, सर्वर पर एचटीटीपीएस को सेट अप करने का तरीका बताया गया है. इसमें, यह भी शामिल है इसके लिए, नीचे दिया गया तरीका अपनाएं:

  • 2048-बिट आरएसए सार्वजनिक/निजी पासकोड का जोड़ा बनाना.
  • सर्टिफ़िकेट पर हस्ताक्षर करने का अनुरोध (सीएसआर) जनरेट करना, जिसमें आपकी सार्वजनिक कुंजी एम्बेड हो.
  • फ़ाइनल चेक पाने के लिए, सर्टिफ़िकेट देने वाली संस्था (सीए) के साथ अपना सीएसआर शेयर करना या सर्टिफ़िकेट चेन.
  • अपने फ़ाइनल सर्टिफ़िकेट को किसी ऐसी जगह पर इंस्टॉल करना जहां वेब ऐक्सेस न किया जा सके, जैसे कि /etc/ssl (Linux और Unix) पर या जहां भी IIS की ज़रूरत है (Windows).

पासकोड और सर्टिफ़िकेट पर हस्ताक्षर के अनुरोध जनरेट करने की सुविधा

इस सेक्शन में, Openएसएसएल कमांड-लाइन प्रोग्राम का इस्तेमाल किया जाता है. इस प्रोग्राम में, सबसे ज़्यादा Linux, BSD, और Mac OS X सिस्टम.

सार्वजनिक/निजी पासकोड का जोड़ा जनरेट करना

शुरू करने के लिए, 2,048-बिट आरएसए कुंजी का जोड़ा जनरेट करें. छोटी कुंजी को इन कामों के ज़रिए तोड़ा जा सकता है तेज़ी से अनुमान लगाने वाले हमले, और बड़ी चाबियों से गैर-ज़रूरी संसाधनों का इस्तेमाल होता है.

आरएसए कुंजी का जोड़ा जनरेट करने के लिए, नीचे दिए गए निर्देश का इस्तेमाल करें:

openssl genrsa -out www.example.com.key 2048

इससे यह आउटपुट मिलता है:

Generating RSA private key, 2048 bit long modulus
.+++
.......................................................................................+++
e is 65537 (0x10001)

सर्टिफ़िकेट पर हस्ताक्षर करने का अनुरोध जनरेट करना

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

इस निर्देश को चलाया जा रहा है:

openssl req -new -sha256 -key www.example.com.key -out www.example.com.csr

इस तरह की जानकारी देता है:

You are about to be asked to enter information that will be incorporated
into your certificate request

What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CA
State or Province Name (full name) [Some-State]:California
Locality Name (for example, city) []:Mountain View
Organization Name (for example, company) [Internet Widgits Pty Ltd]:Example, Inc.
Organizational Unit Name (for example, section) []:Webmaster Help Center Example
Team
Common Name (e.g. server FQDN or YOUR name) []:www.example.com
Email Address []:webmaster@example.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

सीएसआर की वैधता पक्का करने के लिए, इस निर्देश को चलाएं:

openssl req -text -in www.example.com.csr -noout

जवाब कुछ ऐसा दिखना चाहिए:

Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=CA, ST=California, L=Mountain View, O=Google, Inc.,
OU=Webmaster Help Center Example Team,
CN=www.example.com/emailAddress=webmaster@example.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:ad:fc:58:e0:da:f2:0b:73:51:93:29:a5:d3:9e:
                    f8:f1:14:13:64:cc:e0:bc:be:26:5d:04:e1:58:dc:
                    ...
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha256WithRSAEncryption
         5f:05:f3:71:d5:f7:b7:b6:dc:17:cc:88:03:b8:87:29:f6:87:
         2f:7f:00:49:08:0a:20:41:0b:70:03:04:7d:94:af:69:3d:f4:
         ...

अपना सीएसआर, सर्टिफ़िकेट देने वाली संस्था के पास सबमिट करें

सर्टिफ़िकेट देने वाली अलग-अलग अथॉरिटी (सीए) में आपको अपने सीएसआर सबमिट करने होते हैं अलग-अलग तरीकों से. इनमें, उनकी वेबसाइट पर मौजूद फ़ॉर्म का इस्तेमाल करना या ईमेल के माध्यम से CSR. कुछ CA या उनके रीसेलर, कुछ या सभी को ऑटोमेट भी कर सकते हैं जिसमें कुछ मामलों में, कुंजी का जोड़ा और सीएसआर बनाना शामिल है.

सीएसआर को सीए (सर्टिफ़िकेट देने वाली संस्था) को भेजें और फ़ाइनल फ़ॉर्म पाने के लिए, उनके निर्देशों का पालन करें सर्टिफ़िकेट या सर्टिफ़िकेट चेन.

अलग-अलग कैलिफ़ोर्निया में वाउचिंग की सेवा के लिए अलग-अलग रकम ली जाती है अपने सार्वजनिक पासकोड के लिए.

ऐसे भी विकल्प हैं जिनसे आप अपनी कुंजी को एक से ज़्यादा डीएनएस नाम से मैप कर सकते हैं. इनमें ये भी शामिल हैं कई अलग-अलग नाम (उदाहरण के लिए सभी example.com, www.example.com, example.net, और www.example.net) या "wildcard", *.example.com जैसे नाम.

अपने सभी फ़्रंट-एंड सर्वर पर सर्टिफ़िकेट कॉपी करें. हालांकि, इसके लिए वेब से ऐक्सेस नहीं किया जा सकता जैसे कि /etc/ssl (Linux और Unix) या जहां भी IIS (Windows) की आवश्यकता है उन्हें.

अपने सर्वर पर एचटीटीपीएस को चालू करना

आपके सर्वर को सुरक्षित रखने के लिए, अपने सर्वर पर एचटीटीपीएस को चालू करना ज़रूरी होता है आपके वेब पेज.

  • अपने सर्वर को एचटीटीपीएस के लिए सेट अप करने के लिए, Mozilla के सर्वर कॉन्फ़िगरेशन टूल का इस्तेमाल करें सहायता.
  • Qualys के साथ अपनी साइट की नियमित तौर पर जांच करें SSL सर्वर परीक्षण और पक्का करें तो आपको कम से कम A या A+ पॉइंट मिलेगा.

इस स्थिति में, आपको कार्रवाइयों से जुड़ा कोई अहम फ़ैसला लेना होगा. इनमें से कोई एक चुनें फ़ॉलो किया जा रहा है:

  • आपके वेब सर्वर पर कॉन्टेंट दिखाने वाले हर होस्टनेम के लिए, एक अलग आईपी पता बनाना होगा से.
  • नाम पर आधारित वर्चुअल होस्टिंग का इस्तेमाल करें.

अगर आपने हर होस्टनेम के लिए अलग-अलग आईपी पते इस्तेमाल किए हैं, तो एचटीटीपी और एचटीटीपीएस, दोनों का इस्तेमाल करें. हालांकि, ज़्यादातर साइट ऑपरेटर, नाम वाली आईपी पतों को बचाने के लिए वर्चुअल होस्टिंग की सेवा. यह इसलिए भी ज़रूरी है, क्योंकि यह सामान्य.

अगर आपके सर्वर पर पहले से ही एचटीटीपीएस सेवा उपलब्ध नहीं है, तो इसे अभी चालू करें (एचटीटीपी को एचटीटीपीएस पर रीडायरेक्ट किए बिना. एचटीटीपी से एचटीटीपीएस पर रीडायरेक्ट करना देखें देखें). अपना वेब सर्वर कॉन्फ़िगर करें, ताकि जिन सर्टिफ़िकेट का इस्तेमाल किया जा रहा है उनका इस्तेमाल किया जा सके खरीदा और इंस्टॉल किया गया. आपको Mozilla का कॉन्फ़िगरेशन मिल सकता है जनरेटर उपयोगी.

अगर आपके पास कई होस्टनेम या सबडोमेन हैं, तो हर एक को प्रमाणपत्र.

अब और अपनी साइट के शुरू होने के दौरान नियमित रूप से, अपना एचटीटीपीएस देखते रहें Qualys' के साथ कॉन्फ़िगरेशन करें एसएसएल सर्वर जांच. आपकी साइट को A या A+ का स्कोर मिलना चाहिए. खराब ग्रेड देने वाली किसी भी चीज़ को एल्गोरिदम और प्रोटोकॉल पर नए हमले होने की वजह से, उस गड़बड़ी को ठीक किया जा सकता है. हमेशा डेवलप होते रहते हैं.

इंट्रासाइट यूआरएल को एक-दूसरे से मिलता-जुलता बनाएं

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

पक्का करें कि इंट्रासाइट यूआरएल और बाहरी यूआरएल किसी खास प्रोटोकॉल पर निर्भर न हों. रिलेटिव पाथ का इस्तेमाल करें या प्रोटोकॉल को //example.com/something.js की तरह छोड़ दें.

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

आपकी साइट के अन्य पेजों पर ले जाने वाले एचटीटीपी-आधारित लिंक का इस्तेमाल करके भी, उपयोगकर्ता अनुभव को एचटीटीपीएस से एचटीटीपी तक पूरा करता है. इसे ठीक करने के लिए, अपने इंट्रासाइट यूआरएल को उन्हें प्रोटोकॉल-रिलेटिव बनाकर (जिसमें प्रोटोकॉल, //example.com से शुरू होता है) या होस्ट-रिलेटिव (बस पाथ, जैसे /jquery.js).

यह करें
<h1>Welcome To Example.com</h1>
<script src="/jquery.js"></script>
<link rel="stylesheet" href="/assets/style.css"/>
<img src="/images/logo.png"/>;
<p>A <a href="/2014/12/24">new post on cats!</a></p>
रिलेटिव इंट्रासाइट यूआरएल का इस्तेमाल करें.
यह करें
<h1>Welcome To Example.com</h1>
<script src="//example.com/jquery.js"></script>
<link rel="stylesheet" href="//assets.example.com/style.css"/>
<img src="//img.example.com/logo.png"/>;
<p>A <a href="//example.com/2014/12/24/">new post on cats!</a></p>
इसके अलावा, प्रोटोकॉल-रिलेटिव इंट्रासाइट यूआरएल का इस्तेमाल करें.
यह करें
<h1>Welcome To Example.com</h1>
<script src="/jquery.js"></script>
<link rel="stylesheet" href="/assets/style.css"/>
<img src="/images/logo.png"/>;
<p>A <a href="/2014/12/24">new post on cats!</a></p>
<p>Check out this <a href="https://foo.com/"><b>other cool site.</b></a></p>
जहां भी हो सके, दूसरी साइटों के लिंक के लिए एचटीटीपीएस यूआरएल का इस्तेमाल करें.

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

दूसरी साइटों से लिंक करते समय (उनके संसाधनों को शामिल करने के बजाय), प्रोटोकॉल न बदलें. उन साइटों के काम करने के तरीके पर आपका कंट्रोल नहीं होता.

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

अगर आपकी साइट किसी तीसरे पक्ष से आने वाली स्क्रिप्ट, इमेज या दूसरे संसाधनों पर निर्भर है जैसे कि CDN या jquery.com, तो आपके पास दो विकल्प हैं:

  • इन रिसॉर्स के लिए प्रोटोकॉल-रिलेटिव यूआरएल का इस्तेमाल करें. अगर तीसरा पक्ष ज़रूरी शर्तें पूरी नहीं करता एचटीटीपीएस का इस्तेमाल करने के लिए कहें, तो उन्हें ऐसा करने के लिए कहें. ज़्यादातर लोग पहले ही ऐसा कर चुके हैं. इनमें jquery.com भी शामिल है.
  • आपके कंट्रोल किए जाने वाले सर्वर से ऐसे संसाधन इस्तेमाल करें जो एचटीटीपी दोनों करता हो और एचटीटीपीएस से शुरू करें. आम तौर पर यह आइडिया अच्छा रहता है, क्योंकि ऐसा करने से के लुक, परफ़ॉर्मेंस, और सुरक्षा पर कंट्रोल नहीं कर पाएगा. साथ ही, आपको कि आपकी साइट को सुरक्षित रखने के लिए किसी तीसरे पक्ष पर भरोसा करें.

एचटीटीपी को एचटीटीपीएस पर रीडायरेक्ट करें

सर्च इंजन को आपकी साइट ऐक्सेस करने के लिए एचटीटीपीएस का इस्तेमाल करने के बारे में बताने के लिए, कैननिकल लिंक पर क्लिक करें <link rel="canonical" href="https://…"/> टैग का उपयोग करके प्रत्येक पेज के शीर्ष पर.

Strict ट्रांसपोर्ट सिक्योरिटी और सुरक्षित कुकी की सुविधा चालू करें

अब आप "लॉक इन" करने के लिए तैयार हैं एचटीटीपीएस का इस्तेमाल:

  • 301 की लागत से बचने के लिए एचटीटीपी स्ट्रिक्ट ट्रांसपोर्ट सिक्योरिटी (एचएसटीएस) का इस्तेमाल करें रीडायरेक्ट करने के लिए कहा जाता है.
  • कुकी पर सिक्योर फ़्लैग हमेशा सेट करें.

सबसे पहले, स्ट्रिक्ट ट्रांसपोर्ट सिक्योरिटी का इस्तेमाल करें. का इस्तेमाल करके क्लाइंट को यह बताएं कि उन्हें हमेशा एचटीटीपीएस का इस्तेमाल करके आपके सर्वर से कनेक्ट करना चाहिए, यहां तक कि http:// संदर्भ को फ़ॉलो करते समय यह इस तरह के हमलों को हराता है एसएसएल स्ट्रिपिंग, साथ ही, इसमें 301 redirect की दोतरफ़ा यात्रा का शुल्क शामिल नहीं है एचटीटीपी को एचटीटीपीएस पर रीडायरेक्ट करें.

एचएसटीएस चालू करने के लिए, Strict-Transport-Security हेडर सेट करें. OWASP का एचएसटीएस पेज इसमें निर्देशों के लिंक हैं सॉफ़्टवेयर डाउनलोड करने की शुरुआत कर सकते हैं.

ज़्यादातर वेब सर्वर में, कस्टम हेडर जोड़ने की सुविधा मिलती-जुलती है.

यह सुनिश्चित करना भी महत्वपूर्ण है कि क्लाइंट कभी भी कुकी न भेजें (जैसे प्रमाणीकरण या साइट प्राथमिकताएं) से मेल खाना चाहिए. उदाहरण के लिए, अगर किसी उपयोगकर्ता के पहचान की पुष्टि करने वाली कुकी सादे टेक्स्ट में ज़ाहिर की गई थीं. आपके लिए सुरक्षा की गारंटी उनके पूरे सत्र को नष्ट कर दिया जाता है, भले ही आपने बाकी सब कुछ कर लिया हो सही है!

इससे बचने के लिए, अपने वेब ऐप्लिकेशन को बदलें, ताकि कुकी पर 'सुरक्षित फ़्लैग' को हमेशा सेट किया जा सके सेट. इस OWASP पेज पर, सिक्योर फ़्लैग सेट करने का तरीका बताया गया है इस्तेमाल किया जा सकता है. हर appl फ़्रेमवर्क में फ़्लैग सेट करने का तरीका होता है.

ज़्यादातर वेब सर्वर, आसानी से रीडायरेक्ट करने की सुविधा देते हैं. 301 (Moved Permanently) का इस्तेमाल करें ताकि सर्च इंजन और ब्राउज़र को यह बताया जा सके कि एचटीटीपीएस वर्शन कैननिकल है. और अपने उपयोगकर्ताओं को एचटीटीपी से अपनी साइट के एचटीटीपीएस वर्शन पर रीडायरेक्ट करें.

खोज की रैंकिंग

Google, एचटीटीपीएस को खोज क्वालिटी को बेहतर बनाने के लिए इस्तेमाल करता है इंडिकेटर. Google एक गाइड भी पब्लिश करता है, ताकि आप साइट को सुरक्षित रखते हुए इसकी खोज रैंक. Bing के लिए दिशा-निर्देश भी पब्लिश करता है, वेबमास्टर.

परफ़ॉर्मेंस

जब सामग्री और अनुप्रयोग परतें ठीक से ट्यून की जाती हैं ( स्टीव साउडर्स' किताबें सेट करने के लिए कहा जाता है), बाकी TLS की वजह से विज्ञापनों की परफ़ॉर्मेंस से जुड़ी समस्याएं आम तौर पर, कुल कीमत की तुलना में कम होती हैं का इस्तेमाल करें. इन शुल्कों को कम और कम भी किया जा सकता है. TLS के बारे में सलाह के लिए ऑप्टिमाइज़ेशन, नीचे दिए गए विकल्पों के मुताबिक हाई परफ़ॉर्मेंस ब्राउज़र नेटवर्किंग देखें इल्या ग्रिगोरिक, और इवान रिस्टिक्स OpenSSL कुकबुक और बुलेटप्रूफ़ एसएसएल और TLS.

कुछ मामलों में, TLS की वजह से परफ़ॉर्मेंस बेहतर हो सकती है. ज़्यादातर मामलों में, एचटीटीपी/2 हो सकता है. ज़्यादा जानकारी के लिए, क्रिस पामर की यहाँ पर एचटीटीपीएस और एचटीटीपी/2 परफ़ॉर्मेंस के बारे में बात करें Chrome Dev समिट 2014.

रेफ़रर हेडर

जब उपयोगकर्ता आपकी एचटीटीपीएस साइट से अन्य एचटीटीपी साइटों पर ले जाने वाले लिंक को फ़ॉलो करते हैं, तो उपयोगकर्ता एजेंट रेफ़रर हेडर न भेजें. अगर यह समस्या है, तो करने के कई तरीके हैं इसे हल करें:

विज्ञापन से मिलने वाला रेवेन्यू

जो साइट ऑपरेटर विज्ञापन दिखाकर अपनी साइट से कमाई करते हैं वे पक्का करना चाहते हैं कि एचटीटीपीएस पर माइग्रेट करने से विज्ञापन इंप्रेशन कम नहीं होते. हालांकि, कई वजहों से कॉन्टेंट सुरक्षा से जुड़ी चिंताओं में, एचटीटीपी <iframe>, एचटीटीपीएस पेज पर काम नहीं करता. जब तक विज्ञापन देने वाले लोग या कंपनियां, एचटीटीपीएस पर पब्लिश नहीं करती हैं, तब तक साइट ऑपरेटर, एचटीटीपीएस पर माइग्रेट नहीं कर सकते विज्ञापन से मिलने वाले रेवेन्यू को नुकसान पहुंचाए बिना; हालाँकि, जब तक साइट ऑपरेटर एचटीटीपीएस पर माइग्रेट नहीं करते, विज्ञापन देने वाले लोगों या कंपनियों को, एचटीटीपीएस पब्लिश करने के लिए थोड़ी-बहुत प्रेरणा मिलती है.

विज्ञापन देने वाली ऐसी कंपनियों की मदद ली जा सकती है जो एचटीटीपीएस पर विज्ञापन सेवाएं देना और विज्ञापन देने वाले उन लोगों या कंपनियों से अनुरोध करना जो यहां एचटीटीपीएस सेवा नहीं देते सभी को कम से कम एक विकल्प बनाना हो. आपको पूरा करने की प्रक्रिया को टालना पड़ सकता है जब तक काफ़ी विज्ञापनदाता हों, तब तक IntraSite यूआरएल को संबंधित बनाएं एक-दूसरे के साथ मिलकर काम करें.