گھریلو NAT آپ کے VPN انٹرفیس کی حفاظت کیوں نہیں کرتا
گھریلو روٹر سرنگ گزرتا ہے، مگر میزبان ڈکرپٹ شدہ پیکٹ کا فیصلہ کرتا ہے۔ سننے والا، اندرونی راستہ اور اندراج کی پالیسی الگ الگ پڑھیں۔
گھریلو روٹر کے پیچھے بغیر پورٹ فارورڈنگ کے لیپ ٹاپ اب بھی وہ SSH روابط قبول کرتے ہیں جو VPN سے آتے ہیں۔ یہ تضاد نہیں، کیونکہ دو مختلف آلات دو مختلف پیکٹوں کا فیصلہ کرتے ہیں۔ روٹر خفیہ کردہ ترسیل گزرتا ہے، اور میزبان فیصلہ کرتا ہے کہ اپنی سرنگ انٹرفیس تک پہنچنے والے ڈکرپٹ شدہ پیکٹ کا کیا کرنا ہے۔ ان دو فیصلوں کو الگ رکھنا ہی پوری مشق ہے۔
روٹر سرنگ گزرتا ہے، میزبان پیکٹ کا فیصلہ کرتا ہے
ایک بھی قاعدہ دیکھنے سے پہلے دور دراز ماخذ سے سروس تک راستہ کھینچیں۔ بیرونی حصہ VPN ترسیل ہے جسے روٹر اور گیٹ وے سنبھالتے ہیں۔ اندرونی حصہ اس وقت شروع ہوتا ہے جب اینڈ پوائنٹ سرنگ کی تہہ اتارتا ہے اور میزبان اپنے VPN پتے پر بھیجا گیا پیکٹ وصول کرتا ہے۔
ان دو حصوں کو ملا دیں تو روٹر میزبان کے فیصلے کا سہرا لے لیتا ہے۔ پورٹ فارورڈنگ صفحہ یا روٹر لاگ صرف بیرونی گفتگو بیان کرتے ہیں، اور کوئی نہیں بتاتا کہ میزبان کون سی ڈکرپٹ شدہ ٹریفک قبول کرے گا۔ میزبان اندرونی پیکٹ پر اپنی اندراج کی پالیسی نافذ کرتا ہے، جیسے کسی بھی پیکٹ پر جو انٹرفیس پر آئے۔ اسی پالیسی میں افشا ہونے کا سوال واقعی طے ہوتا ہے۔
وائلڈ کارڈ سننے والا عوامی سروس نہیں
Linux میں INADDR_ANY سے بندھنا ہر مقامی پتے کا مطلب ہے، اس لیے کوئی سروس ایسی سرنگ انٹرفیس پر جواب دے سکتی ہے جس کا اس نے کبھی نام نہ لیا ہو۔ IP ساکٹ حوالہ اس بندھن کی وضاحت کرتا ہے، اور سننے والوں کی فہرست سے نتیجہ نکالنے سے پہلے اسے پڑھنا قابلِ قدر ہے۔ وائلڈ کارڈ اندراج ساکٹ کے بارے میں حقیقت ہے، رسائی کے بارے میں دعویٰ نہیں۔
نیچے کی دو سطریں ایک ہی سروس کے دو مختلف بندھن ہیں، اور فرق اس سوال کا پورا جواب ہے کہ کیا انٹرفیس اہمیت رکھتا ہے۔ سب سے پہلے پڑھیں کہ ساکٹ کس پتے پر بیٹھا ہے۔
ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))
وہ ترتیب نام دیں جو پورٹ تک پہنچ سکتی ہو
تین ترتیبیں اس انٹرفیس پر پیکٹ رکھتی ہیں، اور ان کے مالک مختلف ہیں۔ صحیح کا نام دینا طے کرتا ہے کہ کس کو پالیسی بدلنی ہے۔
| Arrangement | What reaches the port | Where the decision lives |
|---|---|---|
| Another permitted VPN peer | A packet from the same tunnel subnet | Gateway forwarding policy and host input rules |
| A deliberate public forward | Traffic the gateway publishes on purpose | Gateway service definition |
| A subnet routed behind the gateway | Client traffic from the far side | Gateway route and host input rules |
عوامی اخراج پتہ دکھانے والا براؤزر نتیجہ تینوں میں سے کسی کے بارے میں کچھ نہیں کہتا، کیونکہ یہ بیان کرتا ہے کہ اخراجی ٹریفک کیسے نکلتی ہے نہ کہ اندراجی ٹریفک کو کیا اجازت ہے۔ اس کے بجائے سننے والے اور سروس لاگ میں ماخذ پتے سے پیچھے کی طرف کام کریں۔ اگر ماخذ دوسرا سرنگ ساتھی ہو تو گیٹ وے پالیسی دلچسپ دستاویز ہے۔ اگر یہ ترجمہ شدہ پتہ ہو تو قاعدہ بدلنے سے پہلے ترجمہ ڈھونڈیں۔
سروس کو اسی راستے تک محدود کریں جو آپ کا مقصد تھا
اگر SSH صرف انتظامی راستے سے درکار ہو تو وہ راستہ ماخذ حد اور ایک انٹرفیس کے طور پر لکھیں۔ پھر میزبان کے اندراج کے قواعد کو نیٹ ورک نام کے بجائے انٹرفیس، منزل اور ماخذ کے مطابق محدود کریں، کیونکہ نجی دکھنے والا نام کسی بھی پتے کی نمائندگی کر سکتا ہے۔ اگلا مسئلہ حل کرنے والے کے لیے راستہ چھوڑ دیں۔
nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input
وہ قاعدہ جو سرنگ انٹرفیس اور انتظامی حد کا نام لیتا ہے، ارادہ ایک ہی جگہ بیان کرتا ہے۔ اسے Wi-Fi نیٹ ورک کے لیے لکھے گئے قاعدے سے موازنہ کریں، جو ڈکرپٹ شدہ سرنگ ٹریفک کے بارے میں کچھ نہیں کہتا۔ جب دونوں تہیں متفق نہ ہوں تو میزبان کی پالیسی وہ ہے جس سے پیکٹ ٹکراتا ہے۔
لاگ ان اور پیچ بالکل جہاں ہیں وہیں رہنے دیں؛ پورٹ تک پہنچنا کبھی اسے استعمال کرنے کی اجازت کے برابر نہیں تھا۔ کسی بھی ناواقف ماخذ کے لیے پتوں کا خاندان اور وقت درج کریں، اور کسی خصوصیت یا کمزوری کو موردِ الزام ٹھہرانے سے پہلے تحقیق کریں۔ وہ قاعدہ جو ہر سرنگ ساتھی کو داخل کرے، انتظامی ذیلی نیٹ ورک کو داخل کرنے والے سے مختلف ڈیزائن ہے، اور کوئی لاگ سطر نہیں بتائے گی کہ کون سا مقصود تھا۔
اصلاح کو ایک کامیابی اور ایک انکار کے ساتھ قبول کریں
دونوں نصف ثابت کریں: ایک منظور شدہ رابط کامیاب ہوتا ہے اور ایک خارج شدہ راستہ مسترد ہوتا ہے۔ انکار وہ نصف ہے جسے لوگ چھوڑ دیتے ہیں، اور یہی دکھاتا ہے کہ قاعدہ کام کر رہا ہے نہ کہ کسی اجازت دینے والی طے شدہ قدر کے ساتھ کھڑا ہے۔ خارج شدہ طرف سے جانچیں بجائے اس کے کہ اس پر استدلال کریں۔
دوبارہ جڑنے کے بعد جوڑا دہرائیں، کیونکہ مختلف انٹرفیس نام کے ساتھ واپس آنے والی سرنگ پرانے کے لیے محدود قاعدے کو خاموشی سے بچا سکتی ہے۔ اہم حد وہ ہے جو میزبان ان پیکٹوں پر نافذ کرتا ہے جو وہ واقعی وصول کرتا ہے۔