साइट आपको सिर्फ़ VPN चालू होने पर ब्लॉक करती है? यही है जो वह देखती है
ब्लॉक आम तौर पर एग्ज़िट पता होता है, लीक नहीं। जिस नेटवर्क से आपका ट्रैफ़िक आता दिखता है, जिस रिज़ॉल्वर को साइट लॉग कर सकती है, और पेज कोड क्या जानता है, यह जाँचें।
दुकान घर पर ठीक से लोड होती है और सुरंग ऊपर होते ही «असामान्य ट्रैफ़िक» की दीवार दिखा देती है। एक फ़ोरम आपको लॉग इन करने से मना कर देता है, और एक स्ट्रीमिंग पेज ज़ोर देता है कि आप ऐसे देश में हैं जहाँ आप कभी नहीं गए। इनमें से किसी के लिए स्पाइवेयर की ज़रूरत नहीं है। एक साइट वह पता देखती है जहाँ से आपके पैकेट आते हैं, और VPN के साथ वह पता घरेलू लाइन का नहीं, डेटा सेंटर का होता है। VPN डिटेक्शन कही जाने वाली ज़्यादातर चीज़ इसी एक तथ्य से शुरू और ख़त्म होती है, और बाक़ी अनुमान है जिसकी त्रुटि दर पहले से अनुमानित है।
ब्लॉक वहीं से शुरू होता है जहाँ से आपके पैकेट आते दिखते हैं
हर अनुरोध एक स्रोत पता लेकर चलता है, और उसे पाने वाला सर्वर उसे सार्वजनिक डेटा में देख सकता है: कौन सा नेटवर्क उसकी घोषणा करता है, वह नेटवर्क होस्टिंग प्रदाता है या नहीं, वह दुरुपयोग सूचियों में आया है या नहीं, और रजिस्ट्री कौन सा देश देती है। इनमें से कुछ भी आपकी पहचान नहीं बताता, और यह सब मिलकर आपको एक श्रेणी में डालने के लिए काफ़ी है।
अपने ट्रैफ़िक को किसी अजनबी की तरह देखें। दो कमांड ज़्यादातर सतह ढक लेते हैं, और दूसरा वही है जो लोग भूल जाते हैं:
curl -sS https://ipinfo.io/json
dig +short TXT o-o.myaddr.l.google.com @ns1.google.com
पहला एग्ज़िट पता, उसका संगठन और उसका देश लौटाता है। दूसरा उस रिज़ॉल्वर का पता लौटाता है जो Google के नेम सर्वर तक पहुँचा, जो अक्सर आपके एग्ज़िट से अलग नेटवर्क का होता है, और यही वह पता है जो साइट देखती है अगर वह रिज़ॉल्वर पक्ष का डेटा लॉग करती है। जब ये दोनों अलग देशों के होते हैं, तो कुछ साइटें इस असंगति को संदिग्ध मानती हैं, भले ही आपकी सेटिंग में कुछ भी ग़लत न हो।
जब मना करना सुरंग ऊपर होने के बाद ही शुरू हो, तो सबसे पहले एग्ज़िट पते पर शक करें। ब्राउज़र छूने से पहले सर्वर बदलें और फिर कोशिश करें। एक ही प्रदाता के तीन एग्ज़िट पर आपका पीछा करने वाला ब्लॉक प्रदाता की रेंजों के बारे में है; दूसरे सर्वर पर ग़ायब होने वाला ब्लॉक उस एक पते के बारे में है।
समय क्षेत्र, भाषा और घड़ी पते से मेल नहीं खाते
पेज कोड बिना किसी अनुमति अनुरोध के आपका समय क्षेत्र, भाषा प्राथमिकताएँ और स्क्रीन सेटिंग पढ़ सकता है। एक ब्राउज़र मध्य यूरोपीय समय बताए जबकि कनेक्शन सिंगापुर के डेटा सेंटर से आए, यह केवल पते से ज़्यादा मज़बूत संकेत है, और ऐसी असंगति को ही ध्यान देने के लिए धोखाधड़ी स्कोरिंग बनाई गई है।
Intl.DateTimeFormat().resolvedOptions().timeZone
navigator.language
Intl.DateTimeFormat().resolvedOptions().locale
डेवलपर कंसोल की वे तीन पंक्तियाँ बताती हैं कि आपका ब्राउज़र स्वेच्छा से क्या देता है। VPN क्लाइंट आपका मार्ग बदल सकता है और कुछ नहीं, इसलिए आप जो प्रोफ़ाइल लेकर चलते हैं वह घरेलू ही रहती है जबकि आपका एग्ज़िट नहीं है। यहाँ मायने निरंतरता रखती है: एग्ज़िट जैसे ही क्षेत्र पर सेट लैपटॉप सामान्य दिखता है, और जो ख़ुद से टकराता है वह नहीं।
यही कारण है कि विफलता रुक-रुक कर होती है। कई साइटों को फ़र्क नहीं पड़ता, कुछ उसे स्कोर करती हैं, और एक सदस्यता वाली साइट तय कर देती है कि आप धोखेबाज़ हैं। क्लाइंट तीनों मामलों में सही काम कर रहा है, इसलिए सामान्य सपोर्ट जवाब, «यह ज़रूर आपका ब्राउज़र है», एक साथ चिढ़ाने वाला और आंशिक रूप से सच है।
पेज कोड आपकी मशीन के बारे में असल में क्या जानता है
JavaScript में नेटवर्क इंटरफ़ेस की सूची देने वाला कोई API नहीं है। एक पेज यह नहीं पूछ सकता कि आपके लैपटॉप के पास कौन से पते हैं, इसलिए यह पुराना दावा कि स्क्रिप्ट आपका LAN पता पढ़ती है, ज़्यादातर प्लगइन युग की याद है, जब ActiveX नियंत्रण, Java ऐपलेट और अन्य नेटिव कोड ठीक यही कर सकते थे।
| Signal | What it reveals | Status today |
|---|---|---|
| Source address of the request | Exit network, country, hosting status | Always visible; the main signal |
| Time zone and language | Where the profile claims to be | Readable without permission |
| WebRTC candidates | Local addresses, historically | Host candidates are mDNS-obfuscated by default |
| Interface list | All local addresses | Not available to ordinary JavaScript |
WebRTC «कोई स्थानीय पता लीक नहीं» का ईमानदार अपवाद है। इसका उम्मीदवार संग्रह कभी हर पूछने वाले पेज को स्थानीय पते दिखा देता था, और उपाय होस्ट उम्मीदवारों को यादृच्छिक mDNS नामों से बदलना था। यही डिफ़ॉल्ट मौजूदा ब्राउज़रों में लागू है, लेकिन यह प्रोटोकॉल की गारंटी नहीं, ब्राउज़र का फ़ैसला है, इसलिए पुराना बिल्ड या स्थानीय उम्मीदवारों को फिर चालू करने वाला सख़्त कॉन्फ़िगरेशन अब भी लीक कर सकता है। यहाँ किसी भी एक्सटेंशन से ज़्यादा ब्राउज़र अपडेट करना आपकी मदद करता है।
आपका प्रदाता नाम देखता है, सामग्री नहीं
HTTPS पेज की सामग्री को शुरू से अंत तक सुरक्षित रखता है, और उन बाइट्स को आगे भेजने वाला सुरंग ऑपरेटर उन्हें पढ़ नहीं सकता। ऑपरेटर अब भी देख सकता है कि आपने किस पते से संपर्क किया, और ज़्यादातर परिनियोजनों में हैंडशेक में सर्वर का नाम भी, क्योंकि कनेक्शन सही साइट पर रूट हो इसके लिए नाम पढ़ने योग्य होना चाहिए। Encrypted Client Hello ठीक उस फ़ील्ड को छिपाने के लिए है, और यह तभी मदद करता है जब क्लाइंट और साइट दोनों इसका समर्थन करें।
नाम समाधान दूसरा आधा है। अगर आपका प्रदाता रिज़ॉल्वर भी देता है, तो कोई भी कनेक्शन बनने से पहले आप जो भी नाम खोजते हैं वह देखता है। अगर आपका डिवाइस HTTPS के ज़रिए सार्वजनिक रिज़ॉल्वर इस्तेमाल करता है, तो प्रदाता उस रिज़ॉल्वर से कनेक्शन देखता है और कुछ नहीं, जबकि सूची रिज़ॉल्वर ख़ुद देखता है।
बिना एन्क्रिप्शन वाला HTTP अनुरोध ऑपरेटर के लिए पढ़ने योग्य है, उसी कारण जिस कारण वह होटल नेटवर्क के लिए पढ़ने योग्य है: उसके अंदर कुछ भी एन्क्रिप्टेड नहीं है। सुरंग ने कभी उल्टा दावा नहीं किया, और वह ऐप्लिकेशन की पसंद सुधारता नहीं है।
«यह VPN है» को «यह मैं हूँ» से अलग करें
पहचान सस्ती, संभाव्य और अक्सर ग़लत होती है। साझा एग्ज़िट पते इसलिए चिह्नित होते हैं क्योंकि किसी और ने उनका दुरुपयोग किया, कॉर्पोरेट रेंजों को होस्टिंग के रूप में वर्गीकृत किया जाता है, और मोबाइल ऑपरेटर ऐसे भू-परिणाम देते हैं जो सबको चौंका देते हैं। पहचान अलग समस्या है: उसे कोई स्थायी कड़ी चाहिए, जैसे वह खाता जिसमें आपने साइन इन किया, कोई कुकी, भुगतान विवरण, या नोट्स मिलाने वाले दो प्रेक्षक।
तय करें कि आप असल में किससे लड़ रहे हैं। अगर मक़सद कोई पेज पढ़ना है, तो HTTPS वह काम पहले से करता है और सुरंग थोड़ा बदलती है। अगर मक़सद साइट को यह जानने से रोकना है कि आप किस शहर में हैं, तो एग्ज़िट और रिज़ॉल्वर मायने रखते हैं। अगर मक़सद अपनी असली पहचान से कड़ी तोड़ना है, तो कमज़ोर जगह खाता है, और सर्वर बदलने से उस लॉगिन पर कुछ नहीं होता जो आपने अभी इस्तेमाल किया।
नया एग्ज़िट आपको किसी भी चीज़ से लॉग आउट नहीं करता, और जो खाता आपने इस्तेमाल किया उसके बारे में साइट पहले से जो सहेज चुकी है उसे मिटा नहीं सकता। इसलिए व्यावहारिक क्रम बिना चमक-दमक का है: ऐसा एग्ज़िट चुनें जिसका नेटवर्क सामान्य दिखे, ब्राउज़र प्रोफ़ाइल उसके साथ सुसंगत रखें, ब्राउज़र अपडेट करें ताकि लीक की आशंका वाली सुविधाएँ अपने आधुनिक डिफ़ॉल्ट इस्तेमाल करें, और स्वीकारें कि कुछ ही साइटें आपके बारे में फिर भी ग़लत अनुमान लगाएँगी।