BBC अपनी वेबसाइट के लिए एचएसटीएस लॉन्च कर रहा है, ताकि उसकी वेबसाइट की सुरक्षा और परफ़ॉर्मेंस को बेहतर बनाया जा सके. जानें कि इसका क्या मतलब है और HSTS कैसे आपकी मदद कर सकता है.
हाल ही के कुछ सालों में एचटीटीपीएस का इस्तेमाल लगातार बढ़ाया जा रहा है. साल 2021 के एचटीटीपी संग्रह के वेब कैलेंडर के मुताबिक, डेस्कटॉप और मोबाइल, दोनों से जुड़े सभी अनुरोधों में से करीब 91% अनुरोध एचटीटीपीएस का इस्तेमाल करके भेजे गए. एचटीटीपीएस का इस्तेमाल जारी रखने के साथ-साथ, सर्विस वर्कर जैसी सुविधाओं और एचटीटीपी/2 और एचटीटीपी/3 जैसे मॉडर्न प्रोटोकॉल का इस्तेमाल करने के लिए, यह एक ज़रूरी शर्त है.
हाल ही में, बीबीसी के मुख्य टेक्निकल आर्किटेक्ट नील क्रेग ने ट्वीट किया कि एचटीटीपी स्ट्रिक्ट ट्रांसपोर्ट सिक्योरिटी (एचएसटीएस) को bbc.com के लिए धीरे-धीरे रोल आउट किया जा रहा है. जानें कि BBC के लिए इसका क्या मतलब है और आपके लिए इसके क्या मायने हैं.
समस्या
वेब सर्वर अक्सर दोनों पोर्ट 80 और 443 पर किए गए अनुरोधों को सुनते हैं. पोर्ट 80, असुरक्षित एचटीटीपी अनुरोधों के लिए है, जबकि 443 सुरक्षित एचटीटीपीएस के लिए. इससे समस्या हो सकती है, क्योंकि जब आप https://
प्रोटोकॉल प्रीफ़िक्स के बिना पता बार में कोई पता डालते हैं, तो ठीक वैसे ही जैसे ज़्यादातर उपयोगकर्ता करते हैं. कुछ ब्राउज़र, लेगसी वजहों से किसी साइट के असुरक्षित एचटीटीपी वर्शन पर ट्रैफ़िक को भेज देते हैं (हालांकि, ऐसा हमेशा नहीं होता है).
उपयोगकर्ता किसी वेबसाइट के असुरक्षित वर्शन को ऐक्सेस न करें, यह पक्का करने का एक सामान्य तरीका यह है कि सभी अनुरोधों के लिए एचटीटीपी-टू-एचटीटीपीएस रीडायरेक्ट का इस्तेमाल किया जाए. यह वाकई काम करता है, लेकिन इससे इन इवेंट की चेन की शुरुआत हो जाती है:
- सर्वर को एक एचटीटीपी अनुरोध मिलता है.
- सर्वर, अनुरोध किए गए संसाधन के एचटीटीपीएस पर ले जाने के लिए एक रीडायरेक्ट जारी करता है.
- सर्वर को ब्राउज़र के साथ सुरक्षित कनेक्शन के बारे में बातचीत करनी चाहिए.
- कॉन्टेंट हमेशा की तरह लोड हो रहा है.
हालांकि रीडायरेक्ट ठीक से काम करते हैं, लेकिन उन्हें इस तरह गलत तरीके से कॉन्फ़िगर किया जा सकता है जिससे अब भी किसी साइट के असुरक्षित वर्शन को ऐक्सेस किया जा सकता है. भले ही, सब कुछ सही तरीके से कॉन्फ़िगर किया गया हो, इसके बावजूद सुरक्षा से जुड़ी समस्या बनी रहेगी. यह समस्या, रीडायरेक्ट के दौरान भी असुरक्षित एचटीटीपी पर कनेक्ट होगी. इस वजह से, उपयोगकर्ताओं को मैन इन द मिडल अटैक का खतरा हो सकता है.
एचएसटीएस डालें
एचटीटीपीएस अनुरोधों के लिए, HSTS को Strict-Transport-Security
एचटीटीपी रिस्पॉन्स हेडर की मदद से तय किया जाता है. अगर नीति को सेट किया जाता है, तो वेबसाइट पर आने वाले लोगों की संख्या बताने पर एक खास रीडायरेक्ट ट्रिगर होगा. इस रीडायरेक्ट को "307 इंटरनल रीडायरेक्ट" कहा जाता है. यह तब होता है, जब ब्राउज़र, सर्वर के बजाय रीडायरेक्ट लॉजिक को हैंडल करता है. यह अनुरोध को इंटरसेप्ट किए जाने से रोकता है, क्योंकि यह कभी भी ब्राउज़र से बाहर नहीं जाता, इसलिए यह ज़्यादा सुरक्षित होता है. बोनस के तौर पर, इस तरह के रीडायरेक्ट बहुत तेज़ होते हैं. इसलिए, एचटीटीपी-टू-एचटीटीपीएस हॉप होने के दौरान दिखने वाली देरी को खत्म कर दिया जाता है.
![एचटीटीपी से एचटीटीपीएस पर ले जाने वाला 307 इंटरनल रीडायरेक्ट, जो एचएसटीएस हेडर से ट्रिगर होता है. 307 रीडायरेक्ट में सिर्फ़ 2 मिलीसेकंड लगते हैं.](https://web.dev/static/blog/bbc-hsts/image/a-307-internal-redirect-cd7d384b0a833.png?authuser=6&hl=hi)
Cache-Control
के max-age
डायरेक्टिव की तरह ही, एचएसटीएस हेडर भी max-age
डायरेक्टिव के बारे में बताता है. इस निर्देश के लिए, सेकंड में एक वैल्यू दी जाती है. इससे पता चलता है कि नीति इनके लिए कितने समय तक लागू रहती है:
Strict-Transport-Security: max-age=3600
पिछले उदाहरण में, नीति को सिर्फ़ एक घंटे के लिए लागू किया जाना चाहिए.
एचएसटीएस का इस्तेमाल करना
एचएसटीएस का इस्तेमाल करने का सबसे बड़ा नुकसान यह है कि आप इसे पूरी तरह से सुरक्षित नहीं मानते. मान लें कि आपके पास कई सबडोमेन से संसाधन उपलब्ध हैं, लेकिन हो सकता है कि वे सभी सुरक्षित न हों. इस स्थिति में, एचएसटीएस हेडर आपकी वेबसाइट को नुकसान पहुंचा सकता है.
BBC ने एचएसटीएस को लागू करने के लिए सही तरीका अपनाया था. जैसा कि नील क्रेग ने अपने ट्वीट में बताया था, bbc.com के लिए सेट की गई शुरुआती वैल्यू max-age=10
थी.
इसका मतलब है कि शुरुआत में यह नीति सिर्फ़ दस सेकंड के लिए लागू थी. इससे कोई फ़ायदा नहीं मिलता. हालांकि, हमारा आइडिया यह है कि आपको यह पता करना चाहिए कि क्या एचएसटीएस लागू करने में कोई समस्या है. समय के साथ, आपके पास नीति को बढ़ाने का विकल्प होता है, ताकि यह पता चल सके कि समस्याएं आ रही हैं या नहीं. यह लिखे जाते समय, bbc.com, max-age=86400
की एचएसटीएस नीति के बारे में बता रहा था. इसमें समय के साथ बढ़ोतरी होगी.
एचएसटीएस लागू करते समय, आपको लंबी max-age
वैल्यू का इस्तेमाल करने से बचना चाहिए. जब उपयोगकर्ताओं को समस्याएं आ रही हों, तो हो सकता है कि आप समस्याओं को ठीक करने की कोशिश करें. छोटी चीज़ों से शुरुआत करें और समय के साथ बढ़ते रहें! जब आपको भरोसा हो कि सब ठीक है, तो max-age
डायरेक्टिव को ज़्यादा समयावधि के लिए सेट किया जा सकता है. पूरी तरह से रोल आउट हो जाने के बाद, max-age
को एक या दो साल पर सेट करने का सुझाव दिया जाता है.
एचएसटीएस प्रीलोड सूची की मदद से, सुरक्षित और जल्दी नेविगेट करने की सुविधा पाएं
एचएसटीएस नीति किसी वेबसाइट पर पहली बार जाने के बाद ही लागू होती है. इसलिए, साइट पर पहली बार जाने पर ही इसके फ़ायदे नहीं मिलते हैं. इसके लिए अब भी असुरक्षित रीडायरेक्ट की ज़रूरत होगी. हालांकि, अपनी वेबसाइट को एचएसटीएस प्रीलोड सूची में सबमिट करके, अपनी एचएसटीएस नीति को प्रीलोड किया जा सकता है. यह वेबसाइटों की हार्डकोड वाली सूची होती है, जिसके बारे में ब्राउज़र को पता है कि यह पूरी तरह से एचटीटीपीएस है. जब आपकी साइट प्रीलोड सूची में होती है, तो पहली विज़िट भी सुरक्षित होती है और एचटीटीपी-टू-एचटीटीपीएस रीडायरेक्ट तुरंत हो जाता है.
इसे खुद आज़माएं
अगर बीबीसी को एचएसटीएस की जांच करने में कोई परेशानी नहीं है, तो अपनी वेबसाइट के लिए भी ऐसा ही किया जा सकता है. अपनी वेबसाइट को एक बार आज़माकर देखें. अगर आपको बदलाव करने हैं, तो उसे एचएसटीएस प्रीलोड सूची में तब जोड़ें, जब आपको भरोसा हो कि कोई गड़बड़ी नहीं है. इससे अपने उपयोगकर्ताओं को सुरक्षित और तेज़ अनुभव दिया जा सकता है.