ब्लॉग पर वापस जाएँ

ब्राउज़र आइसोलेशन वास्तव में क्या अलग करता है? फिंगरप्रिंट से वेरिफिकेशन तक पूरी व्याख्या

ब्राउज़र एनवायरनमेंट आइसोलेशन वास्तव में क्या अलग करता है? फिंगरप्रिंट से वेरिफिकेशन तक पूरी व्याख्या

ज़्यादातर लोगों की समझ में "एनवायरनमेंट आइसोलेशन" कुकीज़ साफ़ करने तक सीमित है: अकाउंट बदलने से पहले ब्राउज़िंग हिस्ट्री मिटा दो, समझो अब दोनों अलग हैं। नतीजा यह कि अकाउंट फिर भी समूह दर समूह लिंक हो जाते हैं — क्योंकि कुकीज़ प्लेटफ़ॉर्म के आपको पहचानने वाले अनेक सिग्नलों में से सबसे ऊपरी हैं। लोकल स्टोरेज, डिवाइस फिंगरप्रिंट, टाइमज़ोन और भाषा, नेटवर्क एक्ज़िट — कुकीज़ मिटाने से इनमें से किसी सिग्नल तक पहुँच ही नहीं पड़ती।

ब्राउज़र एनवायरनमेंट आइसोलेशन ठीक इन्हीं सिग्नलों के सभी स्रोतों को अलग करता है। यह लेख पूरी बात खोलकर रखता है: सच में आइसोलेटेड एनवायरनमेंट किन परतों से बनता है, ज़ीरो से एक कैसे बनाया जाता है, और सबसे ज़्यादा छूट जाने वाला कदम — यह कैसे सत्यापित करें कि आइसोलेशन सच में असर कर रहा है।

एनवायरनमेंट आइसोलेशन की चार परतें: एक भी कमी रही तो दरार पक्की

एक ठीक-ठाक आइसोलेटेड एनवायरनमेंट में चारों परतों का एक साथ स्वतंत्र होना ज़रूरी है:

पहली परत: डिवाइस फिंगरप्रिंट। ब्राउज़र वेबसाइटों को दर्जनों पैरामीटर "पैसिव रूप से लीक" करता है — OS वर्शन, स्क्रीन रेज़ोल्यूशन, फ़ॉन्ट लिस्ट, Canvas/WebGL/Audio के रेंडरिंग नतीजे, हार्डवेयर कंकरेंसी। दो एनवायरनमेंट के IP अलग हों, तब भी इस पैरामीटर सेट के मेल खाने पर प्लेटफ़ॉर्म तय कर लेता है कि डिवाइस वही है। आइसोलेशन का पहला कदम है — हर एनवायरनमेंट अपना अलग फिंगरप्रिंट पैरामीटर सेट बनाए। यहाँ एक बात ध्यान देने योग्य है: फिंगरप्रिंट जितना रैंडम हो, उतना बेहतर नहीं — पैरामीटर आपस में तालमेल रखते हों चाहिए। Windows सिस्टम के साथ Mac-विशिष्ट फ़ॉन्ट यह असंगत जोड़ी अपने आप ही संदिग्ध सिग्नल है। इसलिए परिपक्व टूल्स शुद्ध रैंडम जोड़-तोड़ की जगह "आम सिस्टम और डिवाइस के तर्कसंगत संयोजनों" के हिसाब से फिंगरप्रिंट बनाते हैं।

दूसरी परत: टाइमज़ोन और भाषा। इस परत का तर्क सबसे ज़्यादा गलत समझा जाता है: टाइमज़ोन और भाषा हाथ से नहीं चुननी चाहिए, बल्कि IP के साथ ऑटो-मैच होनी चाहिए — प्रॉक्सी एक्ज़िट जिस देश में है, एनवायरनमेंट अपने आप उसी देश का टाइमज़ोन और भाषा अपनाता है। अमेरिकी IP के साथ UTC+8 का समय और चीनी इंटरफ़ेस — प्लेटफ़ॉर्म एक नज़र में समझ जाता है कि एनवायरनमेंट में हेरफेर हुआ है।

तीसरी परत: नेटवर्क एक्ज़िट। हर एनवायरनमेंट अपना प्रॉक्सी बाइंड करता है; यह परत तय करती है कि "आप इंटरनेट से कहाँ से जुड़ रहे हैं।" प्रोटोकॉल में मुख्य HTTP और SOCKS5 हैं — बाद वाला WebRTC जैसे ट्रैफ़िक को भी कवर करता है, जो असली IP लीक कर सकता है। एनवायरनमेंट बनाते समय WebRTC को संभाल लेना मानक कदम है, वरना पहली दो परतें जितनी भी अच्छी हों, एक बार असली IP लीक हुआ और सारा खेल खत्म।

चौथी परत: लोकल डेटा। कुकीज़, लॉगिन स्टेट, LocalStorage, IndexedDB — ये अकाउंट की गतिविधि के निशान हैं। आइसोलेटेड एनवायरनमेंट का लोकल स्टोरेज फ़िज़िकल रूप से पार्टीशन किया रहता है: A एनवायरनमेंट B का कोई डेटा न देख सकता है, न छू सकता है; बंद कर दोबारा खोलने पर दोनों की लॉगिन स्टेट वैसी की वैसी रहती है।

ये चारों परतें जुड़ते ही "पूरी तरह अलग दो लोग दो अलग कंप्यूटर चला रहे हैं" की पूरी कहानी बनती है। बाज़ार में कई समाधान इनमें से एक-दो परतें ही बनाते हैं — और वही दरार लिंकिंग का दरवाज़ा बनती है।

ब्राउज़र एनवायरनमेंट आइसोलेशन की अवधारणात्मक तस्वीर: दो स्वतंत्र आइसोलेशन केबिन, हर एक के पास अपना फिंगरप्रिंट, घड़ी, भाषा और कुकीज़ हैं, लाइनें अलग-अलग अपने-अपने सर्वर तक जाती हैं, कोई संपर्क नहीं

ज़ीरो से आइसोलेटेड एनवायरनमेंट बनाना: पाँच कदम

ऊपर के सिद्धांतों को अमल में उतारें तो एनवायरनमेंट बनाने का फ़्लो वाकई काफ़ी स्टैंडर्ड है। प्रमुख फिंगरप्रिंट ब्राउज़रों के सामान्य चरण उदाहरण के तौर पर देखें:

  1. नया एनवायरनमेंट बनाएँ, सिस्टम प्रोफ़ाइल चुनें: एनवायरनमेंट को नाम दें (बिज़नेस या प्लेटफ़ॉर्म के हिसाब से, आगे मैनेज करने में आसानी होगी), और OS प्रोफ़ाइल चुनें — Windows, Mac या Android — यह फिंगरप्रिंट का आधार ढाँचा तय करता है;
  2. फिंगरप्रिंट बनाएँ: एक क्लिक में पूरा पैरामीटर सेट बन जाता है। Canvas, WebGL, Audio जैसे रेंडरिंग लेयर डिफ़ॉल्ट पर ही छोड़ दें — डिफ़ॉल्ट वैल्यू ही तर्कसंगत संयोजन के हिसाब से डिज़ाइन की गई हैं, साफ़ वजह के बिना हाथ से छेड़ना ठीक नहीं;
  3. प्रॉक्सी कॉन्फ़िगर करें: प्रॉक्सी एड्रेस भरें, प्रोटोकॉल चुनें (HTTP/SOCKS5) — टूल पहले कनेक्टिविटी टेस्ट करेगा, पास होने पर ही सेव करने देगा। टेस्ट रिज़ल्ट में दिखे एक्ज़िट देश को देखें और पक्का करें कि वह अकाउंट प्रोफ़ाइल से मेल खाता है;
  4. टाइमज़ोन-भाषा ऑटो फॉलो: "टाइमज़ोन फॉलो IP" और "लैंग्वेज फॉलो IP" चालू करें, ताकि ये दोनों हमेशा एक्ज़िट के साथ संगत रहें — मैन्युअल सेट न करें;
  5. ज़रूरत के अनुसार कुकीज़ इंपोर्ट करें: पुराने अकाउंट माइग्रेट करते समय मौजूदा लॉगिन स्टेट इंपोर्ट करें, ताकि एनवायरनमेंट अपने इतिहास के साथ हाथ लगाए; नए अकाउंट साफ़ स्थिति से शुरू हों।

पूरा फ़्लो आमतौर पर दो मिनट से ज़्यादा नहीं लेता। जो सच में समय लेता है वह एनवायरनमेंट बनाना नहीं, बल्कि आगे के दो काम हैं: दर्जनों-सैकड़ों एनवायरनमेंट को बिज़नेस के हिसाब से ग्रुप करना और प्रॉक्सी पूल को एक जगह से मैनेज करना — स्केल आते ही ये दोनों रोज़मर्रा बन जाते हैं। अगर टीम में कई लोग एक साथ एनवायरनमेंट चलाते हैं, तो परमिशन मैनेजमेंट की एक परत और चाहिए; पिछली पोस्ट टीम कोलैबोरेशन मैनेजमेंट में रोल कॉन्फ़िगरेशन काफ़ी विस्तार से समझाया गया है।

आइसोलेशन हुआ या नहीं — वेरिफिकेशन फ़ैसला करेगा

एनवायरनमेंट बन गया, इसका मतलब आइसोलेशन लागू हो गया, ऐसा नहीं। वेरिफिकेशन पूरे फ़्लो का सबसे ज़्यादा छूट जाने वाला, और सबसे न छोड़ने वाला कदम है। तरीका बहुत आसान है:

दो एनवायरनमेंट खोलें, दोनों से एक ही IP डिटेक्शन पेज पर जाएँ, और चार बातें जाँचें: दोनों एनवायरनमेंट अलग IP दिखाते हैं या नहीं; हर टाइमज़ोन अपने IP की लोकेशन से मैच करता है या नहीं; भाषा-क्षेत्र संगत है या नहीं; और चेक पेज की समग्र रिपोर्ट क्लीन है या नहीं। कोई भी बिंदू गड़बड़ हो तो कोई परत आइसोलेट नहीं हुई — वापस जाकर जाँचें।

इस कदम की कीमत यही है कि "मुझे लगता है आइसोलेट हो गया" को "मैंने आइसोलेशन कन्फ़र्म कर लिया" में बदल देती है। नया एनवायरनमेंट लाइव करने से पहले एक बार वेरिफाई करें, बैच ऑपरेशन से पहले सैंपलिंग चेक करें, प्रॉक्सी बदलने के बाद ज़रूर वेरिफाई करें — ये तीन वेरिफिकेशन की आदत शुरुआती गड़बड़ियों का बड़ा हिस्सा रोक देती है। इस परत में MakoBrowser ये चेक एनवायरनमेंट स्टार्टअप फ़्लो में ही बैठा देता है: हर Profile स्टार्ट होते ही टाइमज़ोन-भाषा ऑटो एलाइन करता है, प्रॉक्सी कनेक्टिविटी टेस्ट सेव करने से पहले ही इनबिल्ट है — वेरिफिकेशन "याद रखकर करने वाला काम" से "सोचने भी की ज़रूरत नहीं" बन जाता है।

पुरुष ऑपरेटर MakoBrowser में दो एनवायरनमेंट विंडो साथ-साथ खोले है, हर विंडो के मैप लोकेशन चेक पेज पर अलग-अलग क्षेत्र का लोकेशन पॉइंट दिख रहा है, बीच में हरा चेकमार्क आइसोलेशन वेरिफिकेशन पास होने का संकेत दे रहा है

आइसोलेशन वेरिफिकेशन पास करना सिर्फ़ "एंट्री योग्यता" हासिल करना है। अकाउंट चलाने के लिए रोज़ के ऑपरेशन भी हैं — बैच में दोहराए जाने वाले काम सिंक्रोनाइज़र और ऑटोमेशन स्क्रिप्ट को दे दें, इंसान को मैनुअल मेहनत से निकाल दें। लेकिन ध्यान रहे, ऑटोमेशन की पहली शर्त हमेशा यही है कि एनवायरनमेंट खुद टिका हुआ हो: फ़्लो जितना भी सहज हो, एनवायरनमेंट में दरार है तो सब बेकार। एनवायरनमेंट आइसोलेशन और प्रॉक्सी चुनाव का रिश्ता, पिछली पोस्ट स्टैटिक प्रॉक्सी और रोटेटिंग प्रॉक्सी में बिज़नेस सिनेरियो के हिसाब से समझाया गया है — एनवायरनमेंट में प्रॉक्सी लगाते समय उससे मिलान कर सकते हैं।

सामान्य सवाल

साधारण ब्राउज़र का इनकॉग्निटो मोड एनवायरनमेंट आइसोलेशन गिना जाता है? नहीं। इनकॉग्निटो मोड सिर्फ़ लोकल रिकॉर्ड नहीं छोड़ता; डिवाइस फिंगरप्रिंट, असली IP, टाइमज़ोन-भाषा वैसे ही उजागर रहते हैं, और इनकॉग्निटो विंडोज़ आपस में ये सिग्नल शेयर भी करती हैं। यह "मेरे कंप्यूटर पर निशान मत छोड़ो" का समाधान है, "प्लेटफ़ॉर्म को वही डिवाइस पहचानने से रोको" का नहीं।

एनवायरनमेंट बनने के बाद फिंगरप्रिंट समय-समय पर बदलना ज़रूरी है? बार-बार बदलने की ज़रूरत नहीं। फिंगरप्रिंट की कीमत स्थिरता में है — एक अकाउंट लंबे समय तक एक तर्कसंगत पैरामीटर सेट इस्तेमाल करता है, जैसे इंसान रोज़ चेहरा नहीं बदलता। तब ही पैरामीटर में सूक्ष्म बदलाव करें जब प्लेटफ़ॉर्म के फिंगरप्रिंट नियम अपग्रेड हों या लंबे इस्तेमाल वाले एनवायरनमेंट से असामान्य सिग्नल आएँ — पूरा ढाँचा तोड़कर नहीं।

एक ही कंप्यूटर पर कई आइसोलेटेड एनवायरनमेंट — परफ़ॉर्मेंस झेल लेगा? आधुनिक फिंगरप्रिंट ब्राउज़र ज़रूरत के अनुसार रिसोर्स बाँटते हैं; खाली एनवायरनमेंट लगभग कुछ नहीं खाते, और एक साथ दस के भीतर एक्टिव एनवायरनमेंट साधारण ऑफ़िस कंप्यूटर पर बेअसर चलते हैं। एनवायरनमेंट की संख्या ज़्यादा और एक साथ ज़्यादा एक्टिविटी चाहिए तो कम इस्तेमाल होने वालों को ऑन-डिमांड लॉन्च पर सेट करें।

वेरिफिकेशन में IP लीक दिखे तो क्या करें? पहले WebRTC देखें: सबसे आम लीक स्रोत यही है — पक्का करें कि एनवायरनमेंट में WebRTC बंद है या प्रॉक्सी मोड में है। फिर देखें कि प्रॉक्सी संबंधित प्रोटोकॉल सपोर्ट करता है या नहीं, और एनवायरनमेंट कॉन्फ़िगरेशन में कोई सिस्टम-लेवल प्रॉक्सी सेटिंग बची तो नहीं। परत दर परत जाँचें और क्लीन होने तक दोबारा टेस्ट करें।


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

अगर आपके अकाउंट अब भी कुकीज़ साफ़ करके पहचान बदलते हैं, तो आज से ही ठीक-ठाक आइसोलेटेड एनवायरनमेंट पर आ जाइए। दो एनवायरनमेंट बनाएँ, दो प्रॉक्सी बाइंड करें, एक बार डुअल-विंडो वेरिफिकेशन चलाएँ — दस मिनट में आइसोलेशन आख़िर है क्या, अपने हाथों से तसल्ली कर लेंगे। MakoBrowser डाउनलोड करें और हर अकाउंट को सच में अलग कमरे में रखिए।