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

حالت ایک مطابقت کی شرط ہے، فیصلہ نہیں

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

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

قاعدہ کو اس کے گرد و نواح میں پڑھیں

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

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

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

ممانعت کو حالت سے آزاد طور پر بیان کریں

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

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

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

دیکھیں کہ گروہ میں واقعی کون ہے

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

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

iptables -S FORWARD
iptables -L FORWARD -v -n
cat /proc/net/nf_conntrack | grep -c ESTABLISHED

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

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