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

مقامی آؤٹ پٹ فارورڈنگ سے مختلف ہک ہے

مشین پر کسی ایپلیکیشن سے نکلنے والا پیکٹ آؤٹ پٹ ہک سے گزرتا ہے؛ مشین جو پیکٹ کسی دوسرے ہوسٹ کے لیے روٹ کرتی ہے وہ فارورڈ سے گزرتا ہے۔ جو پالیسی صرف forward کا ذکر کرتی ہے وہ دوسرے کو محدود کرتی ہے اور پہلے کو پوری طرح کھلا چھوڑ دیتی ہے، اسی لیے بہت سے ایگرس لاک درست دکھتے ہیں اور کچھ نہیں کرتے۔ انٹرفیس کی مطابقت بھی اسی قاعدے میں آتی ہے: oifname "tun0" accept اُس ٹریفک کو گزرنے دیتا ہے جو پہلے ہی ٹنل سے روٹ ہو چکا ہے۔ راؤٹنگ اور فلٹرنگ بھی الگ فیصلے رہتے ہیں، اس لیے فلٹر کے پیکٹ مسترد کرنے پر بھی اپ لنک روٹ موجود ہو سکتا ہے۔ آپ اسی علیحدگی پر بھروسا کر رہے ہیں۔

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

استثناؤں کی فہرست اینڈ پوائنٹ سے باہر کی طرف لکھیں

ٹنل کے اینڈ پوائنٹ سے شروع کریں: ایک منزل کا پتہ یا چھوٹا منظور شدہ مجموعہ، ٹرانسپورٹ پروٹوکول اور منزل کا پورٹ، مثلاً udp dport 1194 ip daddr 203.0.113.7 accept۔ اگر کلائنٹ ہوسٹ نیم حل کرتا ہے تو ابتدائی DNS تبادلے کو اپنا قاعدہ چاہیے، جو ریزولور اور پورٹ 53 تک محدود ہو، اُس ریزولور کے پتے کے لیے کھلی اجازت نہیں۔ ہر استثنا کو اپنی موجودگی کی وجہ بتانی چاہیے۔ VPN پورٹ پر تمام UDP ٹریفک کی اجازت اُس ایک تصدیق شدہ سروس سے کہیں زیادہ ڈھانپتی ہے جو آپ کے ذہن میں تھی۔

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

مقامی انتظام کو بھی یہی سلوک چاہیے۔ مینجمنٹ سب نیٹ صرف اس لیے قابلِ اعتماد نہیں کہ اس کے پتے نجی ہیں، اور اُس پر بھروسا کرنے والا قاعدہ لاک کے گرد دوسرا راستہ بلاتا ہے۔

انٹرفیس کی مطابقت صحت مند ٹنل کا ثبوت نہیں

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

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

ڈیمن کے کریش کے بعد کیا بچتا ہے

ٹنل اوپر آنے کے بعد چلنے والی اسکرپٹ جو فلٹر نصب کرتی ہے وہ ٹنل کے ساتھ ہی غائب ہو جاتا ہے، بالکل اُس لمحے جب اُس کی ضرورت تھی۔ لاک کو بوٹ پر لوڈ کریں اور ڈیمن کو صرف اس کی استثنائیں سنبھالنے دیں۔

ڈیفالٹ روٹ مٹانا بھی متبادل نہیں۔ روٹ وہ حالت ہے جس کا مالک ڈیمن ہے اور جسے وہ دوبارہ لکھتا ہے، اور اُسے ہٹانا دوبارہ جڑنے کے لیے درکار راستہ چھین سکتا ہے۔ IPv6 کو اپنا منصوبہ چاہیے، کیونکہ ہمسایہ کی کھوج اور راؤٹر کے اعلانات لنک سروسز ہیں جنہیں عام ٹریفک بلاک ہونے پر بھی چلتے رہنا چاہیے۔ DHCP بھی اسی زمرے میں ہے۔ اِن چیزوں کو مقصد والی استثناؤں کے طور پر لکھیں، بعد میں رکاوٹوں کے طور پر دریافت کرنے کے بجائے۔

تعیناتی سے پہلے بحالی کا راستہ

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

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

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