OpenVPN واقعی TLS استعمال کرتا ہے، اور لوگ عام طور پر اسے ایسے دعوے تک بڑھا دیتے ہیں جو یہ اٹھا نہیں سکتا: کہ سرنگ اسی وجہ سے کسی سائٹ کی زیارت کرنے والے براؤزر جیسی دکھتی ہے۔ پہلا حصہ سچ ہے۔ دوسرا نہیں۔ یہاں TLS ایک کنٹرول چینل کا ہے جو OpenVPN کے اپنے کنٹینر کے اندر سفر کرتا ہے، ساتھ میں بالکل مختلف کرپٹوگرافی والا پے لوڈ چینل ہے، اس لیے جو ابتدائی بائٹ جانچتا ہے وہ OpenVPN دیکھتا ہے۔

ایک لفافے میں دو گفتگو

کسی سیشن کو ایک لفافہ بانٹنے والی دو گفتگو سمجھیں۔ ایک سرٹیفکیٹ کی تصدیق کرتی ہے اور کلیدی مواد حاصل کرتی ہے۔ دوسری وہ چیز خفیہ کرتی ہے جو آپ واقعی بھیج رہے ہیں، پہلی کے پیدا کردہ مواد سے۔

لفافہ ہی پروٹوکول ہے۔ ہر پیکٹ اپنی قسم بتانے والے چھوٹے ہیڈر سے شروع ہوتا ہے، اور وہ ہیڈر باقی سب سے پہلے آتا ہے۔

اصل میں پہلے کیا آتا ہے

اسی ترتیب کی وجہ سے تار پر پہلی چیز TLS ریکارڈ نہیں ہے۔ وہ OpenVPN کا ہیڈر ہے، اور اس کے بعد اس چینل کا مواد آتا ہے جس کا ہیڈر اعلان کرتا ہے۔ وہاں ایک ClientHello موجود ہے، البتہ صفر بائٹ پر نہیں۔ فرق محسوس کرنے کے لیے کسی ڈکرپشن کی ضرورت نہیں، کیونکہ شکل خود ہی اسے ظاہر کر دیتی ہے۔

ڈیفالٹ بھی یہاں اہم ہیں۔ بہاؤ UDP کے ذریعے 1194 کی طرف جاتا ہے جب تک پروفائل TCP نہ چنے۔ دونوں صورتوں میں بیرونی شکل سرنگ ہے، ویب درخواست نہیں۔

شکل بدلنے کے تین ایماندار طریقے

stunnel جیسا TLS ٹرمینیٹر دونوں سروں پر ایک پورٹ پر TLS قبول کرتا ہے اور ڈکرپٹ شدہ بہاؤ مقامی طور پر OpenVPN کو دیتا ہے، اس لیے نیٹ ورک اس پورٹ کی طرف TLS دیکھتا ہے۔ جو پروٹوکول پہلے بائٹ سے ہی TLS ہے وہ پھر مختلف برتاؤ کرتا ہے: ocserv کا نافذ کردہ AnyConnect-سازگار تبادلہ اس کارپوریٹ دور رسائی جیسا لگتا ہے جس کی بہت سے نیٹ ورک پہلے سے توقع رکھتے ہیں۔ Windows کے ساتھ آنے والا SSTP کسی اور مصنوع میں یہی خصوصیت رکھتا ہے۔

Linux پر، SSH کا -w آپشن SSH سیشن کے اندر نقطہ سے نقطہ لنک لے جاتا ہے، جو اس وقت مفید ہے جب SSH ہی واحد اجازت یافتہ پروٹوکول ہو۔ اگر SSH اس نیٹ ورک سے پہلے ہی کام کرتا ہو تو یہ چاروں میں سب سے سستا ہے، اور نہ کرے تو سب سے کم مفید۔

ان میں سے کوئی کیا نہیں بدلتا

ان میں سے کوئی یہ نہیں بدلتا کہ سرنگ کہاں تک پہنچ سکتی ہے۔ یہ کسی مسدود پتے کو قابل رسائی نہیں بناتے، کسی کی تصدیق نہیں کرتے اور راستے طے نہیں کرتے۔

لفافہ آپ کو ایک جزو کا بھی خرچ دے دیتا ہے۔ دو سامعین اور دو کنفیگریشن فائلیں یعنی ناکامی کے دو مقامات، اور دونوں صارف کی نشست سے یکساں دکھتے ہیں۔ ایک اپنانے سے پہلے اس کا بجٹ رکھیں۔ سیشن ایک ہی طویل المدتی خفیہ بہاؤ کی صورت میں ایک منزل کی طرف رہتا ہے، اور اس کا حجم اور وقت نظر آتا رہتا ہے۔

پہلے تشخیص، پھر انتخاب

اس لیے پہلے تشخیص کریں۔ گرا ہوا UDP TCP موڈ سے جواب پاتا ہے، اور پہچانا گیا دستخط کسی دوسرے پروٹوکول یا لفافے سے جواب پاتا ہے۔ رکاوٹ جاننے سے پہلے اوزار چننا وہی طریقہ ہے جس سے لوگ آخرکار تین تہوں کو برقرار رکھتے ہیں جو سب ایک ہی وجہ سے ناکام ہوتی ہیں۔

جو نیٹ ورک صرف ویب پورٹس کی اجازت دیتا ہے وہ انتخاب کو 443 پر TLS پر مبنی پروٹوکول تک محدود کر دیتا ہے۔ تینوں کو ایک ساتھ لاگو کرنے سے ایسا اسٹیک بنتا ہے جسے کوئی ڈیبگ نہیں کر سکتا، اس لیے ایک چیز بدلیں اور وہی بہاؤ دوبارہ جانچیں۔

اگر ان میں سے کوئی لاگو نہ ہو تو درست جواب یہ ہے کہ یہ نیٹ ورک آپ کے لیے سرنگ نہیں لے جائے گا۔ یہ ایک دریافت ہے، کوشش کی ناکامی نہیں۔ زیادہ آپشنوں سے گزرنا اوپر لیے گئے پالیسی فیصلے کو الٹتا نہیں۔

ایک حد ان سب کے سامنے کھڑی ہے۔ کسی اور کے نیٹ ورک پر سرنگ چلانے کی اجازت پالیسی کا معاملہ ہے، جو اس سے الگ طے ہوتی ہے کہ طریقہ کار کام کرتا ہے یا نہیں۔ یہ حقائق بتاتے ہیں کہ ناظر کیا دیکھتا ہے، اور وہ اجازت نہیں دیتے۔

متعلقہ مضامین