VPN کے ذریعے HTTPS کو پہلی درخواست کیسے بنائیں
صرف HTTPS موڈ، حقیقی HTTPS بک مارکس اور HSTS تین مختلف اصلاحات ہیں۔ ان کو ترتیب سے چلائیں تاکہ پہلی درخواست کو انکرپٹ کیا جائے، ری ڈائریکٹ نہ کیا جائے۔
ایک براؤزر جو پہلے http:// ٹائپ کرتا ہے اور ری ڈائریکٹ کے بعد https:// پر اترتا ہے پہلے ہی واضح طور پر ایک درخواست بھیج چکا ہے، اور VPN اسے تبدیل نہیں کرتا ہے۔ ٹنل کلائنٹ سے ایگزٹ نوڈ تک ٹانگ کی حفاظت کرتی ہے؛ یہ نقل و حمل کی تہہ کے اوپر کسی بھی چیز کو خفیہ نہیں کرتا ہے، لہذا باہر نکلنے اور اصلیت کے درمیان ایک مبصر اب بھی سادہ متن کو دیکھتا ہے۔ HTTPS کو پہلی درخواست بنانا تین حصوں کے ساتھ کلائنٹ کی طرف سے تبدیلی ہے: ایک حقیقی HTTPS پتہ، براؤزر کا اپ گریڈ موڈ، اور سائٹ کی اپنی پالیسی۔ نیچے دیئے گئے مراحل وہ آرڈر ہیں جو میں استعمال کرتا ہوں، ہر ایک چیک کے ساتھ جو آپ کو بتاتا ہے کہ آیا اس نے لیا ہے۔
مرحلہ 1: تصدیق کریں کہ پہلی درخواست اصل میں کیا ہے
کچھ بھی تبدیل کرنے سے پہلے دیکھیں کہ براؤزر کیا بھیجتا ہے۔ کولڈ کیش سے دوبارہ لوڈ کیے گئے صفحہ کے ساتھ نیٹ ورک پینل کھولیں اور پہلی قطار پڑھیں: اگر اسکیم HTTP ہے اور اسٹیٹس 301 یا 308 ہے، تو اس قطار کے بعد کی ہر چیز دوسری درخواست ہے۔ curl -sS -o /dev/null -w '%{http_code} %{url_effective}\n' http://example.com براؤزر کے باہر اسی ترتیب کو دوبارہ پیش کرتا ہے اور اس URL کو پرنٹ کرتا ہے جس پر آپ ختم ہوئے ہیں۔
دو نتائج ممکن ہیں اور انہیں مختلف اصلاحات کی ضرورت ہے۔ اگر سائٹ اسی میزبان پر HTTPS کی خدمت کرتی ہے، تو حل یہ ہے کہ HTTP فارم کی اشاعت کو روک دیا جائے: بک مارک، ویکی لنک، ڈیسک ٹاپ شارٹ کٹ اور ای میل ٹیمپلیٹ کو اپ ڈیٹ کریں جس پر لوگ کلک کرتے ہیں۔ اگر سائٹ HTTPS کو بالکل بھی پیش نہیں کرتی ہے، تو کوئی براؤزر ترتیب اسے نہیں بنائے گی، اور ایماندارانہ جواب یہ ہے کہ منزل مسئلہ ہے۔ دوسرے کیس کو استثنیٰ کے ساتھ نہ لکھیں، کیونکہ اکاؤنٹ کے صفحے پر سرٹیفکیٹ کی استثناء نقل و حمل کے مسئلے کو ایک سندی مسئلہ میں بدل دیتی ہے۔ کسی ترتیب کو چھونے سے پہلے لکھیں کہ آپ کس کیس میں ہیں۔
مرحلہ 2: براؤزر کا HTTPS صرف موڈ آن کریں
اپ گریڈ موڈ دوسرا حصہ ہے، اور موڈز قابل تبادلہ نہیں ہیں۔ اسے فعال کرنے سے پہلے چیک کریں کہ آپ کیا کرتے ہیں: خاموشی سے اپ گریڈ کریں، وارننگ کے ساتھ اپ گریڈ کریں، یا لوڈ کرنے سے انکار کریں۔
Firefox میں کنٹرولز about:config کے پیچھے رہتے ہیں اور رازداری کی ترتیبات کے صفحہ میں، dom.security.https_only_mode کے ساتھ سوئچ اور فی سائٹ مستثنیات کو پیڈ لاک مینو سے منظم کیا جاتا ہے۔ کروم اور ایج میں ایک ہی آئیڈیا سیٹنگز، پرائیویسی اور سیکیورٹی، سیکیورٹی کے نیچے بیٹھا ہے، جس پر ہمیشہ محفوظ کنکشن استعمال کریں کا لیبل لگا ہوا ہے۔ جو بھی لیبل ہو، کسی میزبان کے خلاف رویے کی تصدیق کریں جو صرف پورٹ 80 پر جواب دیتا ہے، کیونکہ ایک موڈ جو اپ گریڈ ہوتا ہے اور پھر خاموشی سے واپس آجاتا ہے وہ تحفظ نہیں ہے جو آپ کے خیال میں آپ نے فعال کیا ہے۔ Firefox HTTPS-Only Documentation اس براؤزر کے لیے اپ گریڈ، وارننگ اور استثنیٰ کے رویے کو واضح کرتا ہے۔
مرحلہ 3: وسائل کو ٹھیک کریں، نہ صرف ایڈریس بار
جب کوئی اپ گریڈ ناکام ہوجاتا ہے، تو ایڈریس بار کی بجائے درست غلطی پڑھیں۔ ایک میزبان جس میں HTTPS سننے والا نہیں ہے، ایک میزبان نام جو سرٹیفکیٹ سے مماثل نہیں ہے اور ایک ختم شدہ سلسلہ مختلف پیغامات تیار کرتا ہے اور مختلف مالکان سے تعلق رکھتا ہے۔ صرف پہلا سرور سائیڈ گیپ ہے؛ دوسرا عام طور پر ایک بک مارک ہوتا ہے جسے کبھی اپ ڈیٹ نہیں کیا گیا تھا؛ تیسرا ایک تجدید کا مسئلہ ہے جس سے VPN کنکشن غیر متعلق ہے۔
اکاؤنٹ کی سائٹ پر سرٹیفکیٹ استثناء شامل نہ کریں کیونکہ VPN آن ہے۔ رعایت اس چیک کو غیر فعال کر دیتی ہے جس نے بالکل وہی مداخلت پکڑ لی ہو گی جس کا مقصد VPN کو روکنا ہے۔
تیسرا حصہ صفحہ کے اندر ہے، اور یہ وہ ہے جسے لوگ یاد کرتے ہیں۔ ایک صفحہ جو HTTPS پر لوڈ ہوتا ہے وہ اب بھی HTTP URL سے تصاویر، فونٹس یا اسکرپٹس کھینچ سکتا ہے، اور براؤزر یا تو انہیں بلاک کر دے گا یا پورے صفحہ کے لیے حفاظتی اشارے کو ڈاؤن گریڈ کر دے گا۔ نیٹ ورک پینل میں ناکام درخواستوں کا معائنہ کریں اور ایڈریس بار ہر درخواست کو بیان کرنے کے بجائے وسائل کے حوالہ جات کو ان کے مالک پر درست کریں۔ جس سائٹ پر آپ چلاتے ہیں، اس کا مطلب ہے کہ براؤزر میں دوبارہ لکھنے کے بجائے CMS یا ٹیمپلیٹ میں ذخیرہ شدہ URLs کو درست کرنا۔ اگر آپ ماخذ کو تبدیل نہیں کر سکتے ہیں، تو مخلوط مواد کو ایک معلوم خلا کے طور پر ریکارڈ کریں، کیونکہ کسی صفحہ پر ایک تالہ جو سادہ متن کے وسائل کو کھینچتا ہے ایک غلط اشارہ ہے۔
مرحلہ 4: HSTS کیا شامل کرتا ہے، اور کیا نہیں کرتا
ایچ ایس ٹی ایس براؤزر کی ترجیح کے بجائے سائٹ کی پالیسی ہے، اور یہاں یہ واحد طریقہ کار ہے جو تازہ پروفائل پر ٹائپ شدہ http:// کو زندہ رکھتا ہے۔ ایک بار جب براؤزر نے میزبان کے لیے Strict-Transport-Security ہیڈر دیکھ لیا، تو یہ بعد میں درخواستوں کو بھیجنے سے پہلے https پر دوبارہ لکھتا ہے، جو بالکل وہی پراپرٹی ہے جو آپ چاہتے ہیں۔ یہ کسی ایسے میزبان کے لیے کچھ نہیں کرتا جو براؤزر نے کبھی نہیں دیکھا ہو، اور ایک ہی ایپلیکیشن کو پیش کرنے والے مختلف میزبان نام کے لیے کچھ نہیں کرتا۔
چیک کریں کہ اصل curl -sSI https://example.com | grep -i strict-transport-security کے ساتھ کیا بھیجتا ہے۔ گمشدہ ہیڈر سرور کی تبدیلی ہے نہ کہ کوئی ایسی چیز جو کلائنٹ انسٹال کر سکے۔ اگر یہ موجود ہے تو، max-age کو پڑھیں اور کیا includeSubDomains سیٹ ہے، کیونکہ وزٹ کے درمیان ایک مختصر زیادہ سے زیادہ عمر ختم ہو جاتی ہے اور گمشدہ includeSubDomains ہر ذیلی ڈومین کو غیر محفوظ چھوڑ دیتا ہے۔ RFC 6797 اس بات کی وضاحت کرتا ہے کہ صارف ایجنٹ پالیسی کو کس طرح لاگو کرتا ہے اور وہ کن چیزوں کو نظر انداز کر سکتا ہے۔ پری لوڈ ایک الگ عہد ہے، اس لیے کسی سے یہ وعدہ کرنے سے پہلے hstspreload.org API کے ذریعے اسٹیٹس چیک کریں کہ ڈومین فہرست میں ہے۔
تصدیق اور رول بیک
کلائنٹ کی ترتیبات کے لیے رول بیک سستا اور HSTS کے لیے مہنگا ہے۔ صرف HTTPS موڈ کو بند کرنے سے پچھلے رویے کو فوری طور پر بحال ہو جاتا ہے؛ زیادہ سے زیادہ عمر نہیں ہوتی، اور زائرین جنہوں نے اسے پہلے ہی حاصل کیا ہے وہ اس کی میعاد ختم ہونے تک اپ گریڈ کرتے رہتے ہیں۔
لہذا اسے ہو گیا کہنے سے پہلے ترتیب سے تصدیق کریں۔ کولڈ کیش سے دوبارہ لوڈ کریں اور تصدیق کریں کہ نیٹ ورک پینل میں پہلی درخواست https ہے جس کا کوئی سابقہ ری ڈائریکٹ نہیں ہے۔ پھر ایک ذیلی ڈومین کو چیک کریں، کیونکہ includeSubDomains وہ جگہ ہے جہاں یہ پالیسیاں عام طور پر اندازے سے زیادہ تنگ ہوتی ہیں۔ پھر ایک صفحہ چیک کریں جو فریق ثالث کے اثاثوں کو کھینچتا ہے، کیونکہ مخلوط مواد وہ ناکامی ہے جو ہر دوسرے حل سے بچ جاتی ہے۔
اگر ان سب کے بعد بھی پہلی درخواست http ہے، تو کلائنٹ اب متغیر نہیں ہے: لوگ جس لنک پر کلک کرتے ہیں۔ ان جگہوں کو تلاش کریں جنہیں آپ میزبان نام کے HTTP فارم کے لیے کنٹرول کرتے ہیں، انہیں اپ ڈیٹ کریں، اور اسی کولڈ کیش ری لوڈ کے ساتھ دوبارہ ٹیسٹ کریں۔ VPN سوال کو ہر وقت الگ رکھیں، کیونکہ سرنگ بدل جاتی ہے کہ کون درخواست دیکھ سکتا ہے اور کبھی بھی یہ تبدیل نہیں ہوتا ہے کہ آیا درخواست کو خفیہ کیا گیا ہے۔ ٹکٹ میں ڈالنے کی لائن یہ ہے کہ پہلی درخواست وہی ہے جو اہم ہے، اور ری ڈائریکٹ صرف پہلے سے بھیجی گئی درخواست کی رسید ہے۔