निजी नेटवर्क का ऐक्सेस: वेब वर्कर और नेविगेशन फ़ेच के लिए बेहतर सुरक्षा

Jonathan Hao
Jonathan Hao

निजी नेटवर्क ऐक्सेस क्या है?

निजी नेटवर्क ऐक्सेस (PNA, जिसे पहले CORS-RFC1918 और कम शब्दों में लोकल नेटवर्क ऐक्सेस के नाम से जाना जाता था), एक ऐसी सुरक्षा सुविधा है जो वेबसाइटों को निजी नेटवर्क पर सर्वर को अनुरोध भेजने की अनुमति नहीं देती. इससे उपयोगकर्ताओं और इंटरनल नेटवर्क को संभावित हमलों से बचाने में मदद मिलती है. जैसे, क्रॉस-साइट अनुरोध की जालसाज़ी (सीएसआरएफ़). Chrome में पीएनए का इस्तेमाल धीरे-धीरे किया जा रहा है. साथ ही, आने वाली रिलीज़ में इस सुविधा को और बेहतर बनाया जाएगा.

मुख्य पीएनए सुरक्षा (उनकी मौजूदा स्थिति के साथ)

  • सुरक्षित कॉन्टेक्स्ट: निजी नेटवर्क के लिए सबरिसॉर्स के अनुरोध करने के लिए, सिर्फ़ सुरक्षित कॉन्टेक्स्ट का इस्तेमाल किया जा सकता है. ये अनुरोध Chrome 94 के बाद के वर्शन पर लागू होते हैं. ज़्यादा जानकारी के लिए, निजी नेटवर्क ऐक्सेस से जुड़े अपडेट की पोस्ट देखें.
  • प्रीफ़्लाइट अनुरोध: Chrome, सर्वर की अनुमतियों की जांच करने के लिए, निजी नेटवर्क सबरिसॉर्स के अनुरोधों से पहले प्रीफ़्लाइट अनुरोध भेजता है, ताकि वे सर्वर की अनुमतियों की जांच कर सकें. DevTools में चेतावनियां, Chrome 104 के बाद से काम न करने के बारे में दी गई हैं, जिसे Chrome 130 में लागू किया जाएगा. इस बारे में प्राइवेट नेटवर्क ऐक्सेस: पेश है प्रीफ़्लाइट सेक्शन में बताया गया था. Chrome 123 से, Chrome कुछ सीओआरएस हेडर को हटा देगा. जैसे, अगर प्रीफ़्लाइट सिर्फ़ पीएनए की वजह से बनाया और भेजा गया है, तो Accept.
  • एक ही ऑरिजिन से छूट: Chrome 115 के बाद से, संभावित रूप से भरोसेमंद ऑरिजिन से एक ही ऑरिजिन के अनुरोधों को पीएनए की पाबंदियों से छूट दी जाती है.

बेहतर सुरक्षा: वेब वर्कर्स

पीएनए की सुरक्षा वेब वर्कर (खास तौर पर काम करने वाले वर्कर, शेयर किए गए वर्कर, और सर्विस वर्कर) पर भी मिलेगी. इसमें इस तरह का कॉन्टेंट शामिल है:

  • वर्कर्स स्क्रिप्ट फ़ेच करना: कम सार्वजनिक आईपी पतों के लिए, सुरक्षित कॉन्टेक्स्ट और प्रीफ़्लाइट की ज़रूरत होती है. Chrome 110 से मिलने वाली चेतावनियां, जो Chrome 130 में लागू होंगी.
  • वर्कर्स स्क्रिप्ट से शुरू की गई फ़ेच: वर्कर्स स्क्रिप्ट से की गई सभी फ़ेच, पीएनए के एक ही नियमों का पालन करती हैं.

Chrome 124 से, नीति उल्लंघन ठीक करने के लिए उठाए गए कदमों की जांच करने के लिए, यह तरीका अपनाएं:

  • chrome://flags/#private-network-access-ignore-worker-errors बंद करें
  • chrome://flags/#private-network-access-respect-preflight-results सक्षम करें

ज़्यादा सुरक्षा: नेविगेशन से मिले डेटा को फ़ेच करना

सीएसआरएफ़ हमलों में इनका इस्तेमाल होने की वजह से, नेविगेशन फ़ेच (iframes, पॉप-अप) पर भी पीएनए लागू होता है. Chrome 123 ने किसी गड़बड़ी के लिए चेतावनियां दिखानी शुरू कर दी हैं. Chrome 130 के लिए, नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) की योजना बनाई गई है.

Chrome 124 से, एनफ़ोर्समेंट की जांच करने के लिए:

  • chrome://flags/#private-network-access-ignore-navigation-errors बंद करें
  • chrome://flags/#private-network-access-respect-preflight-results सक्षम करें

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

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

अगर आपकी वेबसाइट पर इस समस्या का असर पड़ा है, तो क्या करना चाहिए?

प्राइवेट नेटवर्क ऐक्सेस: प्रीफ़्लाइट की सुविधा शुरू करने के बाद, दिशा-निर्देशों को शामिल किया गया है. नेविगेशन से जुड़े अनुरोधों के लिए:

  • Access-Control-Allow-Origin, वाइल्डकार्ड ("*") नहीं हो सकता.
  • Access-Control-Allow-Credentials को "true" पर सेट किया जाना चाहिए.

आगे क्या करना है?

  • WebSockets: Chrome 126 में, PNA WebSocket हैंडशेक को कवर करेगा. पहले चेतावनियां दी जाएंगी.
  • पूरी तरह से नीति के उल्लंघन को ठीक करने के तरीके: पीएनए से जुड़ी सभी पाबंदियां Chrome 130 पर अस्थायी तौर पर लागू की जाएंगी. ऐसा करने से, नीतियों का पालन न करने वाले अनुरोधों को ब्लॉक किया जाएगा. उपयोगकर्ताओं के पास, भरोसेमंद साइटों के लिए पीएनए को बदलने की साइट सेटिंग होगी.

निजी नेटवर्क के इस्तेमाल के उदाहरणों के लिए सुझाव/राय देना या शिकायत करना

अगर आपने निजी नेटवर्क पर कोई ऐसी वेबसाइट होस्ट की है जिसे सार्वजनिक नेटवर्क से अनुरोधों की ज़रूरत है, तो Chrome की टीम आपसे सुझाव/राय/शिकायत मांगती है! Chromium समस्या ट्रैकर (कॉम्पोनेंट: Blink>SecurityFeature>CORS>PrivateNetworkAccess) पर समस्या दर्ज करें.

Unस्प्लैश पर जकुब ज़ेडज़ीकी की फ़ोटो