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

قاعدے کی موجودگی نہیں، ترتیب فیصلہ کرتی ہے

UFW ایک فرنٹ اینڈ ہے جو netfilter قواعد مرحلہ وار لکھتا ہے: صارف کے قواعد سے پہلے چلنے والا فریم ورک حصہ، پھر خود صارف کے قواعد، پھر اُن کے بعد چلنے والا حصہ۔ معیاری پچھلے قواعد قائم شدہ اور متعلقہ کنکشنوں کی ٹریفک قبول کرتے ہیں، اور اُن قواعد کا جائزہ اُس ہر چیز سے پہلے لیا جاتا ہے جو آپ عام allow یا deny سے شامل کرتے ہیں۔ UFW کمانڈ حوالہ داخل کرنے کی ساخت اور وہ شمار شدہ حالت منظر دستاویز کرتا ہے جس پر یہ تبدیلی منحصر ہے۔

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

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

وسیع اجازت سے اوپر داخل کریں

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

sudo ufw --dry-run route insert 1 deny in on tun0 proto tcp from 10.88.0.55/32 to 192.0.2.88/32

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

اُس قاعدے میں کوئی منزل پورٹ نہیں، اس لیے وہ اُس پتے پر صرف HTTPS نہیں بلکہ ہر TCP پورٹ کو مسترد کرتا ہے۔ اگر مقصد ایک ہی خدمت ہے تو پورٹ کا نام دیں؛ پالیسی سے زیادہ وسیع قاعدہ پہلے قاری کا انتظار کرنے والا مستقبل کا واقعہ ہے۔

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

قائم شدہ بہاؤ نئے قاعدے سے بچ جاتے ہیں

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

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

حدود بھی یاد رکھیں۔ یہ قاعدہ ICMP، UDP یا IPv6 کے بارے میں کچھ نہیں کہتا، اس لیے کامیاب ping انکار کی ناکامی کا ثبوت نہیں ہے۔ ایک IPv4 پتہ بھی ویب سائٹ نہیں ہے: ایک نام کئی پتوں میں حل ہو سکتا ہے، اور صرف وہی ڈھکا ہے جو آپ نے نامزد کیا۔

نئے بہاؤ سے آزمائیں

شمار شدہ صارف قواعد اور مؤثر خام منظر پڑھیں، پھر منتخب کلائنٹ سے نیا کنکشن کھولیں:

sudo ufw status numbered
sudo ufw show raw
# from 10.88.0.55, a new TCP connection to 192.0.2.88 should fail

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

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

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

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