VPN کے پیچھے کی سروس کے لیے ufw allow 443 نے کچھ نہیں کیا
آنے والی اجازت فائر وال ہوسٹ کے لیے ہے، اس کے پیچھے والی مشین کے لیے نہیں۔ UFW بلاک پڑھیں، پھر آگے بھیجی جانے والی سروس کے لیے روٹ اصول لکھیں۔
VPN کلائنٹ سے ping کامیاب ہوتا ہے، TCP سروس کا وقت ختم ہو جاتا ہے، اور ufw allow 443/tcp کچھ بھی نہیں بدلتا۔ جب ایپلیکیشن گیٹ وے پر نہیں بلکہ گیٹ وے کے پیچھے والے ہوسٹ پر چلتی ہے، تو وہ اجازت غلط ٹریفک راستے کے لیے لکھی گئی تھی۔ پیکٹ فائر وال کو مخاطب نہیں ہے اور کسی مقامی عمل کو نہیں دیا جاتا، اسی لیے اندراج کے اصول اسے کبھی نہیں دیکھتے۔ حل یہ ہے کہ آگے بھیجے جانے والے بہاؤ کو نشانہ بنانے والا روٹ اصول ہو، اور اس کا ثبوت پہلے ہی لاگ میں موجود ہے۔
فیصلہ کریں کہ منزل مقامی ہے یا آگے بھیجی گئی
پیکٹ کو اسی طرح پڑھیں جیسے کرنل اسے دیکھتا ہے۔ گیٹ وے پر کسی سروس کو پہنچایا جانے والا ٹریفک مقامی اندراج ہے۔ وہ ٹریفک جو گیٹ وے کسی دوسرے ہوسٹ کی طرف بھیجتا ہے آگے بھیجا گیا ہے، اور UFW دونوں راستوں کے لیے الگ اصولی مجموعے رکھتا ہے۔ یہ فرق منزل کے پتے اور روٹ کی تلاش طے کرتے ہیں، یہ نہیں کہ پیکٹ کس انٹرفیس پر آیا۔
IN اور OUT دونوں فیلڈز میں ایک ہی انٹرفیس دکھانے والی لاگ لائن پھر بھی روٹ شدہ پیکٹ بیان کر سکتی ہے، کیونکہ ایک ہی آلے کے اندر اور باہر کلائنٹ لے جانے والی سرنگ بالکل ایسی ہی دکھتی ہے۔ انٹرفیس کے ناموں سے زیادہ تیزی سے منزل کا پتہ یہ سوال طے کرتا ہے۔ ایک ہی نام دو بار دیکھنا مقامی ترسیل ثابت نہیں کرتا، اور ایسا سرنگ انٹرفیس گھڑنا جسے تعیناتی نے کبھی نہ بنایا ہو، اس سے بھی مدد نہیں ملتی۔
کوئی بھی اصول شامل کرنے سے پہلے بلاک پڑھیں
ایک مجاز کنکشن کی کوشش دوبارہ پیدا کریں اور اس کا ماخذ، منزل، پروٹوکول اور منزل پورٹ ویسے ہی محفوظ کریں جیسے گیٹ وے نے محفوظ کیا۔ ان چار اقدار کا موازنہ لاگ اندراج اور سروس کے اصل مقام سے کریں۔ پہلے کی کامیاب ping صرف یہ ثابت کرتی ہے کہ اس کا اپنا تبادلہ مجاز تھا، اور فائر وال کسی ایپلیکیشن کی طرف جانے والے TCP SYN کے ساتھ بالکل مختلف سلوک کر سکتا ہے۔
sudo dmesg | grep "UFW BLOCK" | tail -n 5
sudo ufw status numbered
پہلا حکم فیصلہ اس کے فیلڈز کے ساتھ واپس کرتا ہے، اور دوسرا دکھاتا ہے کہ پہلے سے کیا لوڈ ہے اور کس ترتیب میں۔ کچھ بھی تبدیل کرنے سے پہلے دونوں پڑھیں، کیونکہ آپ کے اصول کے اوپر پہلے کی کوئی تردید کسی غائب اصول کے بغیر بھی وہی علامت بیان کرتی ہے۔
موزوں ترین تنگ روٹ اصول لکھیں
اس مثال میں کلائنٹ 172.20.8.0/24 سے tun0 پر آتے ہیں، سروس 8443 پورٹ پر 10.30.0.15 پر سنتی ہے، اور گیٹ وے ens5 کے ذریعے باہر جاتا ہے۔ وہ اقدار اس لیے چنی گئیں کہ وہ کلاؤڈ VPC کے طے شدہ 10.0.0.0/16 یا گھر کے 192.168.0.0/16 جیسے بالکل نہ لگیں، اور 8443 مثال کو گیٹ وے کے اپنے 443 سامع سے دور رکھتا ہے۔
sudo ufw --dry-run route allow in on tun0 out on ens5 proto tcp from 172.20.8.0/24 to 10.30.0.15 port 8443
خشک دوڑ وہ اصولی مجموعہ چھاپتی ہے جو بنے گا، اور یہ دیکھنے کا سب سے سستا طریقہ یہی ہے کہ آپ کا اصول موجودہ تردید سے پہلے پڑتا ہے یا بعد میں۔ انٹرفیس کے نام اور اندرونی پتے مثال کے بجائے تعیناتی سے ملا کر جانچیں، اور یاد رکھیں کہ جب منزل NAT پہلے چلتا ہے تو فلٹر ترجمہ شدہ منزل دیکھتا ہے۔
واپسی راستے کو حالت کے ساتھ رکھیں
UFW مجاز کنکشنوں پر نظر رکھتا ہے، اس لیے مجاز آگے بھیجے گئے بہاؤ کے جوابات بغیر کسی واضح الٹ اصول کے قبول ہو جاتے ہیں۔ چیزوں کے چلانے کے لیے مخالف سمت میں بے قید اصول شامل کرنا پالیسی کو ایک سروس سے کہیں آگے پھیلا دیتا ہے اور عام درخواست و جواب کے تبادلے کے لیے اس کی ضرورت نہیں۔ واپسی راستے کو مضمر اور اصولی مجموعے کو پڑھنے کے قابل رکھیں۔
اصول صرف اس وقت نافذ کریں جب خشک دوڑ آپ کے ارادے سے میل کھائے، پھر تصدیق کریں کہ ترتیب شدہ فہرست اسے متوقع جگہ پر دکھاتی ہے۔ VPN سامع اور انتظامی اصولوں کو الگ معاملات رکھیں، کیونکہ انہیں بدلنا ایک ایپلیکیشن کو اجازت دینے سے مختلف فیصلہ ہے۔ تبدیلی وہیں نوٹ کریں جہاں ٹوپولوجی لکھی ہے، تاکہ اگلے انجینئر کو اسے پیکٹ کیچ سے دوبارہ دریافت نہ کرنا پڑے۔
sudo ufw route allow in on tun0 out on ens5 proto tcp from 172.20.8.0/24 to 10.30.0.15 port 8443
sudo ufw status numbered
جانیں کہ UFW آپ کی طرف سے کیا نافذ نہیں کر سکتا
درست اصول کو اب بھی کرنل فارورڈنگ اور سروس تک پہنچنے والے روٹ کی ضرورت ہے۔ فائر وال کو دوسری بار قصوروار ٹھہرانے سے پہلے دونوں کی تصدیق کریں۔
sysctl net.ipv4.ip_forward
ip route get 10.30.0.15
پھر ہوسٹ سے باہر دیکھیں۔ کلاؤڈ انسٹانس پر مہمان کی UFW پالیسی سیکیورٹی گروپس، سب نیٹ ACL یا فراہم کنندہ کی اپنی فارورڈنگ ترتیب کی جگہ نہیں لیتی، اس لیے مقامی بلاک ایک تہہ کے بارے میں ثبوت ہے، یہ ثبوت نہیں کہ ہر دوسری تہہ سروس کی اجازت دیتی ہے۔
فائر وال آن رکھتے ہوئے نئی کنکشن جانچ کر مکمل کریں، ایک مجاز ماخذ سے اور ایک غیر متعلق ماخذ سے۔ UFW بند کرنا ایک ہی حکم میں علامت ہٹاتا ہے اور ثبوت مٹا دیتا ہے، اس لیے یہ پہلا نہیں بلکہ آخری تجربہ ہونا چاہیے۔