براؤزر VPN ہوسٹ نام کو HTTPS پر بغیر کسی شکایت کے کھولتا ہے، اور SSTP کلائنٹ پھر بھی جڑنے سے انکار کرتا ہے۔ اس جوڑی میں کوئی تضاد نہیں ہے۔ SSTP TLS کو بیرونی ترسیل کے طور پر استعمال کرتا ہے اور پھر اسی کنکشن کے اندر اپنی درخواست اور PPP پے لوڈ چلاتا ہے، اس لیے صفحے کا کامیاب لوڈ ہونا صرف ایک تنگ بات ثابت کرتا ہے: ہوسٹ پورٹ 443 پر GET کا جواب دیتا ہے۔ کلائنٹ کوئی اور سوال پوچھ رہا ہے، اور سرور اس کا جواب بری طرح دے سکتا ہے۔

صفحہ لوڈ ہوتا ہے اور ٹنل نہیں

لوگ براؤزر ٹیسٹ کی طرف اس لیے جاتے ہیں کہ یہ تیز ہے، پھر نتیجے کو اس بات کا ثبوت سمجھتے ہیں کہ سرور قابل رسائی اور کنفیگر ہے۔ یہ ایڈریس بار کے کھولے گئے راستے پر GET کا ثبوت ہے، اس سے زیادہ نہیں۔ VPN گفتگو اسی TLS ہینڈ شیک کے بعد شروع ہوتی ہے، لیکن بھیجتی ہے ایسا طریقہ اور راستہ جو ویب صفحہ کبھی استعمال نہیں کرتا۔ اس لیے براؤزر کے لیے 200 کا جواب اس بارے میں کچھ نہیں کہتا کہ SSTP اینڈ پوائنٹ موجود ہے یا نہیں۔

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

SSTP کلائنٹ اصل میں کیا بھیجتا ہے

کلائنٹ /sra_{GUID}/ راستے پر SSTP_DUPLEX_POST طریقے سے HTTP درخواست بھیجتا ہے، پھر کنکشن کے باڈی کو PPP فریم اٹھانے والی دو طرفہ ندی کے طور پر کھلا رکھتا ہے۔ موافق سرور HTTP/1.1 200 کا جواب دیتا ہے اور ویب سرور کی طرح برتاؤ کرنا چھوڑ دیتا ہے۔ باقی سب ایک دستخط ہے: 405 یا 404 کا مطلب اینڈ پوائنٹ نہیں ہے، 301 یا 302 کا مطلب کوئی چیز درخواست کو ری ڈائریکٹ کر رہی ہے، اور فوری FIN کا مطلب پراکسی یا سرور نے ندی بند کر دی۔

اسی لیے ہدف TLS سرٹیفکیٹ لگا ویب سرور نہیں، بلکہ SSTP سرور ہونا چاہیے۔ طریقہ، راستہ اور طویل باڈی پروٹوکول کی ضروریات ہیں، اس لیے ریورس پراکسی انہیں صرف کنفیگریشن سے نہیں جوڑ سکتی۔ عام HTTPS کو مکمل طور پر آگے بھیجنے والی پراکسی بھی ایسا طریقہ مسترد کر سکتی ہے جسے وہ نہیں پہچانتی۔

پراکسی یا ویب سرور ندی کہاں توڑتا ہے

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

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

مراحل کو الگ الگ جانچیں

جانچیں ترتیب سے چلائیں اور پہلی ناکامی پر رکیں، کیونکہ ہر مرحلہ الگ تہہ خارج کرتا ہے۔ نیچے دیا TLS پروب سرٹیفکیٹ کی شناخت کو SSTP کے ہر عمل سے الگ کرتا ہے۔ ہوسٹ نام کو اپنے اینڈ پوائنٹ سے بدلیں اور جو subject اور زنجیر وہ چھاپتا ہے پڑھیں۔

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com

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

StageWhat it provesFailure signature
TCP to 443A listener exists and the path is openTimeout or connection refused
TLS with SNIThe certificate matches the name you useName mismatch or untrusted chain
SSTP_DUPLEX_POST exchangeThe endpoint is an SSTP server405, 404, 301 or an early FIN
PPP authenticationThe user credential was acceptedAuth failure after a 200 response
Inner routingA permitted destination is reachableTunnel up, no reply from the target

ٹکٹ میں "جڑ نہیں سکتا" لکھنے کے بجائے آخری کامیاب مرحلہ درج کریں۔ MS-SSTP تفصیل TLS ہینڈ شیک کے بعد آنے والی درخواست اور PPP تبادلے کو دستاویز کرتا ہے، اور براؤزر ٹیسٹ دونوں میں سے کسی کا متبادل کیوں نہیں ہو سکتا اس کا حوالہ یہی ہے۔

پہلے شناخت، پھر PPP

TLS شناخت اور PPP تصدیق یکے بعد دیگرے ہیں، متبادل نہیں، اور انہیں ملانا لوگوں کو غلط سرور سیٹنگ کی طرف بھیجتا ہے۔ کلائنٹ پہلے سرور سرٹیفکیٹ اور اس کا مقصود مقصد جانچتا ہے، پھر PPP اپنی حالت پر بات چیت کرتا ہے اور صارف کی تصدیق چیلنج جواب طریقے یا EAP سے کرتا ہے۔ سرٹیفکیٹ کا مسئلہ مسترد شدہ پاس ورڈ سے مختلف خرابی دیتا ہے، اور کوئی خرابی دوسرے کے ڈھانپے مرحلے کی وضاحت نہیں کرتی۔

ہوسٹ نام کو پتے سے بدلنا، یا سرٹیفکیٹ انتباہ کو عبور کر کے کلک کرنا، ناکام ہونے والے مرحلے کی شناخت کرنے والی جانچ کو ٹھیک کرنے کے بجائے ہٹا دیتا ہے۔ انتباہ رکھیں اور اسے پڑھیں۔ جب HTTP تبادلہ کبھی SSTP برتاؤ تک نہ پہنچا تو PPP پاس ورڈ ری سیٹ نہ کریں، کیونکہ اسناد کبھی نہیں مانگی گئیں۔

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