کیا VPN آپریٹر دیکھ سکتا ہے کہ آپ کون سی سائٹس کھولتے ہیں؟
ڈیفالٹ OpenVPN سرور سیشن ریکارڈ کرتا ہے، URL نہیں۔ آپریٹر کیا دیکھتا ہے یہ کہنے سے پہلے کنکشن لاگ، ٹنل کیپچر اور DNS لیک جانچ کا موازنہ کریں۔
پوچھیں کہ VPN کیا دیکھ سکتا ہے، اور جواب اس پر منحصر ہے کہ آپ راستے میں کہاں کھڑے ہیں۔ سیشن پرت پر آپریٹر کے پاس تصدیق کے واقعات اور بائٹ کی گنتی ہوتی ہے۔ پیکٹ پرت پر منزل کے پتے اور وقت ہوتا ہے۔ DNS پرت پر خود نام بھی ہو سکتے ہیں۔ ہر پرت الگ سوال کا جواب دیتی ہے اور کوئی ایک سوئچ آپ کو ان کے درمیان منتقل نہیں کرتا۔
دعویٰ کرنے سے پہلے پرت کا تعین کریں
ایک ہی کنکشن ہر مقام پر مختلف ریکارڈ بناتا ہے، اور رازداری کے بارے میں کوئی بات اسی وقت معنی رکھتی ہے جب وہ اس مقام کا نام لے۔ جدول کو کالم بہ کالم پڑھیں: اس پرت پر کیا موجود ہے، وہاں آپریٹر کیا دیکھ سکتا ہے، اور وہی ریکارڈ کیا نہیں بتا سکتے۔
| Layer | Visible there | Not visible there |
|---|---|---|
| Session and authentication | Account, client address, start and stop times, assigned address, byte counts | URLs, page content, search terms |
| Forwarded packets | Destination address and port, sizes, timing, often the TLS server name | HTTP path, headers, response body |
| DNS resolver | Queried names and the client that asked | Page content and later requests |
| TLS-terminating proxy | Full request line, headers and body | Nothing, by design |
ایک پرت کو پوری تصویر سمجھ لینا ہی مبالغہ آمیز دعووں اور جھوٹے اطمینان دونوں کی شروعات ہے۔ جو فراہم کنندہ کہتا ہے کہ وہ براؤزنگ ریکارڈ نہیں کرتا، وہ URL لاگ کے بارے میں درست ہو سکتا ہے اور پھر بھی سیشن ریکارڈ رکھ سکتا ہے، اور صرف پتے دکھانے والا پیکٹ کیپچر الٹی تلاش اور اندازے کے بغیر براؤزنگ ہسٹری نہیں بنتا۔
کسی پالیسی کا جائزہ لیتے وقت وہ جملہ تلاش کریں جو ہر پرت کی وضاحت کرتا ہے۔ اگر پالیسی انہیں الگ نہیں کرتی، تو انکرپشن کے بارے میں عمومی بیان قبول کرنے کے بجائے پوچھیں کہ کون سے ریکارڈ موجود ہیں۔
سیشن فہرست: عام OpenVPN سرور کیا رکھتا ہے
ڈیفالٹ طور پر OpenVPN سرور ٹریفک کیپچر نہیں کرتا۔ عام آؤٹ پٹ ایک سیشن فہرست ہوتی ہے: کون سا اکاؤنٹ تصدیق شدہ ہوا، وہ کس ماخذ پتے سے آیا، آغاز اور اختتام کے وقت کے نشان، دیا گیا ٹنل پتہ اور دونوں سمتوں میں کل بائٹ۔ یہ سیشنوں کی فہرست ہے، منزلوں کی فہرست نہیں۔
لاگنگ کے اختیارات تفصیل بڑھا سکتے ہیں۔ زیادہ ور بوسٹی سطح ہینڈ شیک کے بارے میں زیادہ لکھتی ہے، اور اسٹیٹس فائل منسلک کلائنٹ کی فہرست دے سکتی ہے، لیکن ان میں سے کوئی بھی سرور کو شفاف پراکسی نہیں بناتا۔ URL بنانے کے لیے TLS ختم کرنا یا واضح پراکسی چلانا ضروری ہے، اور دونوں کسی پوشیدہ خصوصیت کو چالو کرنے کے بجائے اعتماد کا ڈھانچہ بدل دیتے ہیں۔
اسی لیے براؤزنگ لاگ نہ ہونے کے دعوے کا درست نسخہ سننے سے زیادہ تنگ ہے۔ سرور صفحہ نہیں جانتا، لیکن جانتا ہے کہ ایک سیشن تھا اور اس میں سے تقریباً کتنا ڈیٹا گزرا۔ وہ سیشن ریکارڈ رکھا جاتا ہے یا نہیں، اور کتنی دیر، یہ الگ پالیسی سوال ہے۔
اندرونی اور بیرونی پیکٹ الگ ثبوت ہیں
پیکٹ کیپچر یہ دیکھنے کا طریقہ ہے کہ ٹنل سے واقعی کیا گزرتا ہے۔ سرور پر ٹنل انٹرفیس کا نام دیں اور ایسی فائل میں لکھیں جس کا بعد میں آف لائن تجزیہ ہو سکے:
sudo tcpdump -ni tun0 -w /tmp/tun.pcap
sudo tcpdump -r /tmp/tun.pcap -nn | headاس فائل میں ڈکرپٹ شدہ اندرونی ٹریفک ہوتی ہے: ماخذ کے طور پر کلائنٹ کا ٹنل پتہ، منزل کا پتہ اور پورٹ، پیکٹ کے حجم اور وقت۔ اس میں HTTP راستہ یا جواب کا متن نہیں ہوتا، جب تک کہیں TLS ختم نہ کیا گیا ہو، اور یہ حساس ڈیٹا ہے جسے رکھنا ڈیبگ کی سہولت نہیں، پالیسی کا فیصلہ ہے۔
فزیکل انٹرفیس پر کیپچر کچھ اور دکھاتا ہے۔ وہاں VPN اینڈ پوائنٹ کی طرف بھیجے گئے بیرونی پیکٹ نظر آتے ہیں، جن کے اندر انکرپٹ شدہ پے لوڈ ہوتا ہے۔ ورچوئل اڈاپٹر موجود ہونے پر اس فائل میں غیر متعلقہ پتے دکھنا معمول ہے، کیونکہ ٹنل ڈیوائس اندرونی بہاؤ لے کر جاتی ہے جبکہ انکرپٹ شدہ ٹرانسپورٹ بیرونی بہاؤ۔
پوچھیں کہ کیپچر کس سوال کا جواب دینا ہے۔ کسی ایپلیکیشن کا ٹنل استعمال ورچوئل اڈاپٹر پر نظر آتا ہے؛ اینڈ پوائنٹ تک ٹنل کی رسائی فزیکل اڈاپٹر پر نظر آتی ہے۔ کسی ایک فائل کو پوری تصویر سمجھ کر استعمال کرنا ایسے نتائج دیتا ہے جنہیں ڈیٹا سہارا نہیں دے سکتا۔
DNS وہ جگہ ہے جہاں نام نظر آنے لگتے ہیں
DNS عملی استثنا رہتا ہے۔ حل کرنے والا وہ نام دیکھتا ہے جنہیں حل کرنے کو کہا جاتا ہے، اس لیے جو اسے چلاتا ہے وہ جان لیتا ہے کہ کلائنٹ کون سی سائٹیں ڈھونڈتا ہے، چاہے بعد کے کنکشن انکرپٹ ہوں۔ ٹنل کیپچر پتے دکھاتا ہے؛ حل کرنے والا نام دکھاتا ہے۔
جانچیں کہ حل کرنے والے نے بیرونی سروس تک پہنچنے کے لیے کون سا پتہ استعمال کیا۔ جواب حل کرنے والے کا اخراجی پتہ ہے، اور VPN کے اخراج سے موازنہ بتاتا ہے کہ استفسار ٹنل سے گزرا یا نہیں:
dig +short myip.opendns.com @resolver1.opendns.com
dig example.com
sudo tcpdump -ni any udp port 53اگر وہ پتہ ٹنل کے اخراج کے بجائے مقامی کنکشن سے میل کھاتا ہے، تو تلاش نے VPN کو نظرانداز کیا اور نام مقامی راستے پر نظر آیا۔ کلائنٹ اپ ڈیٹ کے بعد جانچ دہرائیں، کیونکہ نیا ورژن بدل سکتا ہے کہ پروفائل کون سا حل کرنے والا انسٹال کرتا ہے۔
انکرپٹ شدہ DNS نظر آنے کو ہٹاتا نہیں بلکہ جگہ بدلتا ہے۔ نیٹ ورک اب استفسار نہیں دیکھتا، لیکن حل کرنے والا اب بھی دیکھتا ہے، اور اعتماد کا سوال صرف ہاتھ بدلتا ہے۔ کنکشن کے ہینڈ شیک میں TLS سرور کا نام ایک اور جزوی اشارہ ہے: پے لوڈ مبہم ہونے پر بھی یہ اکثر بچا رہتا ہے، اس لیے منزل کے پتے وہ واحد میٹا ڈیٹا نہیں جو فارورڈنگ سرور مشاہدہ کر سکتا ہے۔
تین قسم کے ریکارڈ اور انہیں کون پڑھ سکتا ہے
سیشن اکاؤنٹنگ، نام کے لحاظ سے ریکارڈ اور لیک کے ثبوت تین مختلف مصنوعات ہیں جن کی تین مختلف ذمہ داریاں ہیں۔ سیشن لاگ سستے اور کم حساس ہوتے ہیں، اور بتاتے ہیں کہ کون کب منسلک ہوا۔ نام کے لحاظ سے ریکارڈ کے لیے لاگ کرنے والا حل کنندہ یا واضح پراکسی درکار ہے، اور یہ متاثرہ لوگوں کے سامنے افشا کی ذمہ داری پیدا کرتے ہیں۔ لیک کا ثبوت کلائنٹ کی طرف کی جانچ ہے جو حل کنندہ کے افشا کردہ کا ٹنل کے اخراج سے موازنہ کرتی ہے۔
لکھیں کہ ان تینوں میں سے آپ کیا چلاتے ہیں، اسے کون پڑھ سکتا ہے اور کتنی دیر رہتا ہے۔ سروس کوئی لاگ نہیں رکھتی جیسے بیانات ایک پرت کی وضاحت کرتے ہیں، اور صرف اسی دائرے میں درست رہتے ہیں۔ ایک ہی فراہم کنندہ سیشنوں کے بارے میں درست اور DNS کے بارے میں غلط ہو سکتا ہے۔
جانچ کو دہرانے کے قابل رکھیں: وہی حل کنندہ استفسار، وہی کیپچر انٹرفیس اور وہی موازنہ۔ جس رازداری کے دعوے کی نامزد پرت پر جانچ نہ ہو سکے، وہ نعرہ ہے، عملی حقیقت نہیں۔