UDP VPN پورٹ اسکین پر خاموش؟ ایسا کیوں ہوتا ہے
WireGuard اور مضبوط OpenVPN تصدیق میں ناکام ڈیٹاگراموں کو جواب دیے بغیر خارج کر دیتے ہیں۔ اسکینر کی طرف سے خاموشی متوقع رویہ ہے، بند پورٹ نہیں۔
آپ VPN پورٹ اسکین کرتے ہیں، کوئی جواب نہیں ملتا اور نتیجہ نکالتے ہیں کہ سروس بند ہے یا فائر وال بند ہے۔ WireGuard میں اور اپنی تصدیق ساتھ لے جانے والے OpenVPN کنٹرول چینلز میں یہ نتیجہ لاگو نہیں ہوتا۔ درست تصدیقی مواد کے بغیر ڈیٹاگرام بغیر جواب کے خارج کر دیا جاتا ہے، پس خاموشی ہی وہ چیز ہے جو باہر سے صحت مند سروس دکھائی دیتی ہے۔ سرنگ کے غلط ہونے سے پہلے ہی جانچ غلط ہے۔
خاموشی ہی پروٹوکول ہے، خرابی نہیں
UDP میں کنکشن قائم کرنا نہیں ہوتا، اس لیے نہ کوئی SYN ہے اور نہ کوئی تصدیق جو اسکینر کو کھلا پورٹ اور فلٹر شدہ پورٹ الگ کرنے دے۔ جانچ ایک الگ ڈیٹاگرام کے طور پر آتی ہے اور سروس دیکھتی ہے کہ یہ اس پروٹوکول سے مطابقت رکھتی ہے یا نہیں جس کی وہ توقع کرتی ہے۔ مطابقت نہ ہو تو پیکٹ خارج کر دیا جاتا ہے، اور خارج کرنا دستاویزی رویہ ہے، خرابی نہیں۔
WireGuard اپنے ہینڈ شیک پیغامات کی کرپٹوگرافک تصدیق کرتا ہے اور ہر ناکام چیز کو نظر انداز کرتا ہے۔ OpenVPN tls-auth یا tls-crypt کے ساتھ اپنے کنٹرول چینل کے لیے بھی یہی کرتا ہے۔ دونوں صورتوں میں کوئی بھی من مانی پے لوڈ کبھی صارف کی طرف کے مرحلے تک نہیں پہنچتا، اس لیے جواب دینے کو کچھ نہیں اور واپس کرنے کو کوئی خرابی نہیں۔
TCP ہوتا تو بند پورٹ سے آپ کو ری سیٹ ملتا۔ UDP آپ کو ابہام میں چھوڑ دیتا ہے، جسے اسکینر اندازہ لگانے کے بجائے کھلا یا فلٹر شدہ چھاپ کر حل کرتے ہیں۔
اسکینر کیا نتیجہ نکال سکتا ہے اور کیا نہیں
اسکین کا نتیجہ اتنا ہی معلوماتی ہوتا ہے جتنا اس نے بھیجا ہوا پے لوڈ۔ ممکنہ مشاہدات کو اس ترتیب میں رکھیں کہ ہر ایک واقعی کس چیز کی تائید کرتا ہے:
| Probe | Observed result | What it supports |
|---|---|---|
| Empty datagram | No reply | Nothing beyond the fact that UDP was used |
| Random payload | No reply | Consistent with an authenticated service |
| Valid handshake from a real client | A protocol reply | The service is alive and reachable |
| ICMP port unreachable | Unreachable message | The host answered, usually because nothing listens |
فہرست میں واحد مثبت جانچ کے طور پر تیسری سطر پڑھیں۔ اس کے لیے اصل پروفائل، اصل کلید اور درست اینڈ پوائنٹ درکار ہے، اور عام اسکینر کے پاس یہی کچھ نہیں ہوتا۔
راستے کے دونوں سرے دیکھیں
آپ جو سرور چلاتے ہیں، اس کے لیے کوئی نتیجہ نکالنے سے پہلے انٹرفیس پر کیپچر کریں، پھر سروس سے پوچھیں کہ اس نے کیا دیکھا۔ دونوں کمانڈوں کے لیے گیٹ وے پر root درکار ہے:
tcpdump -ni any udp port 51820
tcpdump -ni any udp port 1194
wg show
اگر انٹرفیس پر کوئی پیکٹ نظر نہ آئے تو سروس کے کچھ دیکھنے سے پہلے ہی راستے نے اسے خارج کر دیا، اور اگلا مرحلہ روٹنگ اور فلٹرنگ ہے۔ اگر پیکٹ آئیں مگر کوئی ہینڈ شیک مکمل نہ ہو تو سروس قابل رسائی ہے اور فرق کلیدوں، اینڈ پوائنٹ کنفیگریشن یا پروٹوکول ورژن میں ہے۔ وہی موازنہ اس سوال کا جواب دیتا ہے جو اسکینر نہیں دے سکا۔ اسے تب چلائیں جب اصل کلائنٹ جڑنے کی کوشش کر رہا ہو، تب نہیں جب اسکینر خود کو دہرا رہا ہو۔
جانچ بدلیں، تحفظ نہیں
لُبھانے والا شارٹ کٹ یہ ہے کہ کنٹرول چینل کا تحفظ بند کر دیں تاکہ تشخیص کو جواب ملے۔ یہ اصل سیکیورٹی خصوصیت کو خوبصورت اسکین نتیجے کے بدلے بدلتا ہے، اور یہ غلط سمت ہے۔ اس کے بجائے منظور شدہ نیٹ ورک سے درست پروفائل استعمال کریں اور موازنہ دہرائے جانے کے لیے اینڈ پوائنٹ اور وقت نوٹ کریں۔
سب سے مفید جانچ تفریقی ہے: وہی پروفائل ایک کام کرنے والے راستے پر اور اس راستے پر جو کام نہیں کرتا۔ اگر کام کرنے والا راستہ ہینڈ شیک پیدا کرے اور ناکام راستہ انٹرفیس پر کچھ بھی پیدا نہ کرے تو آپ نے کچھ بھی کمزور کیے بغیر ٹوٹنے کی جگہ تلاش کر لی ہے۔
لہٰذا بغیر جواب والا UDP پیکٹ نہ یہ ثابت کرتا ہے کہ سرور آف لائن ہے اور نہ یہ کہ وہ محفوظ ہے۔ یہ صرف یہ ثابت کرتا ہے کہ یہ جانچ، اس راستے پر، اس لمحے، قبول نہیں کی گئی۔