OpenVPN کے دو پیکٹ راستوں کے لیے Shorewall زون
خفیہ کردہ OpenVPN ٹرانسپورٹ کو ڈی کرپٹ شدہ کلائنٹ ٹریفک سے الگ کریں، ٹنل کو اس کا اپنا زون دیں اور صرف وہی ایک سروس اجازت دیں جس کی کلائنٹ کو ضرورت ہے۔
دو پیکٹ بہاؤ ایک Shorewall گیٹ وے سے گزرتے ہیں جو OpenVPN کو ختم کرتا ہے، اور ان میں سے صرف ایک خفیہ ہے۔ پہلا کلائنٹ کی ٹرانسپورٹ انٹرنیٹ کی طرف والے انٹرفیس پر VPN سننے والے تک ہے۔ دوسرا ڈی کرپٹ شدہ درخواست جو ٹنل انٹرفیس سے نکلتی ہے ہے، جو دفتر کے سرور یا گیٹ وے پر کسی سروس کی طرف جاتی ہے۔ پالیسی میں ترمیم سے پہلے دونوں کا نقشہ بنائیں، کیونکہ پہلے کو پورا کرنے والا قاعدہ دوسرے کے لیے کچھ نہیں کرتا۔
پالیسی میں ترمیم سے پہلے دونوں بہاؤ کھینچیں
بہاؤ کو ماخذ، منزل، پروٹوکول اور پورٹ کے ساتھ قطاروں کے طور پر لکھیں۔ بیرونی راستے پر ماخذ کلائنٹ کا عوامی پتہ ہے اور منزل گیٹ وے کی سننے والی پورٹ ہے؛ Shorewall اسے انٹرنیٹ سے فائروال کی طرف ٹریفک سمجھتا ہے۔ اندرونی راستے پر ماخذ ٹنل پتے کی حد ہے اور منزل منظور شدہ سروس ہے۔ ایک ہی منتظم دونوں سنبھالے تب بھی دونوں قطاروں کے مالک الگ ہوتے ہیں۔
| Flow | Zone relationship | What to constrain |
|---|---|---|
| Encrypted OpenVPN transport | Internet to the firewall host | The listener's actual protocol and port |
| Decrypted request to a LAN service | VPN clients to the LAN zone | One approved server and service |
| Decrypted request to the gateway | VPN clients to the firewall host | Only the local services required |
| Request to another VPN client | VPN clients to VPN clients | Denied unless deliberately required |
قطار صرف اس وقت شامل کریں جب درخواست خود گیٹ وے پر ختم ہو، مثلاً حل کنندہ یا انتظام تک رسائی۔ ہوسٹ پر سروس فارورڈ کیے گئے راستے کی نہیں، ہوسٹ ان پٹ پالیسی کی پیروی کرتی ہے۔ ان دونوں کو ملانا ہی وہ وجہ ہے کہ تنگ ٹنل قاعدہ آخرکار انتظامی انٹرفیس بے نقاب کر دیتا ہے۔
ٹنل زون اور انٹرفیس کا دائرہ مقرر کریں
مسافر زون /etc/shorewall/zones میں اعلان ہوتا ہے، ٹنل انٹرفیس /etc/shorewall/interfaces میں جڑتا ہے، اور بیرونی کنکشن /etc/shorewall/tunnels میں بیان ہوتا ہے۔ نصب شدہ ریلیز کے نحو کے مطابق رہیں، کیونکہ کالم ترتیب اور آپشن نام بڑے ورژنوں کے درمیان بدل گئے ہیں۔ گائیڈ کی مثال والی پورٹ ڈیمون کے اصل سننے والی پورٹ سے مختلف پورٹ کی اجازت دینے کی وجہ نہیں۔ صرف اعداد کے ملنے سے TCP اور UDP قابل تبادلہ نہیں۔
گائیڈ انٹرفیس کو tun+ سے گروپ کرتی ہے۔ ایک سے زیادہ ٹنل والے ہوسٹ پر وہ وائلڈ کارڈ مختلف اعتماد کی سطح کا دوسرا VPN اسی زون میں رکھ سکتا ہے۔ دائرے کا جائزہ واقعی موجود انٹرفیس کے مقابلے میں کریں، اور انٹرفیس کے نام ہاتھ سے بدلنے کے بجائے نام رکھنے کو کنکشن مینیجر کے لائف سائیکل کے تحت رکھیں۔
تاریخی گائیڈ میں بہت پرانے OpenVPN کنفیگریشن نمونے ہیں، اور اس کی کرپٹو مشورہ موجودہ تعیناتی میں نقل نہیں کرنی چاہیے۔ اس کے بجائے زون اور بہاؤ کا ماڈل مستعار لیں۔ کرپٹوگرافک بنیاد گیٹ وے کی زیرِ دیکھ بھال OpenVPN پالیسی سے لیں۔
صرف اسی راستے کی اجازت دیں جسے آپ نے درجہ بند کیا
VPN زون سے LAN تک وسیع قبولیت ابتدائی خاکہ ہے، مکمل پالیسی نہیں۔ اجازت یافتہ کلائنٹ ماخذ، سروس کا اصل پتہ، پروٹوکول اور پورٹ لکھیں۔ پھر اس کے اوپر والے قواعد اور زون کی طے شدہ قدر پڑھیں، کیونکہ تنگ اضافہ پہلے سے مطابقت رکھنے والی وسیع اجازت کو منسوخ نہیں کرتا۔ گیٹ وے ہوسٹ کی طرف ٹریفک اس کے ذریعے بھیجی جانے والی ٹریفک سے الگ تعلق ہے۔
کلائنٹ سے کلائنٹ ٹریفک کو اپنا فیصلہ چاہیے۔ OpenVPN کا client-to-client اور Shorewall کا routeback دونوں اس پر اثر ڈالتے ہیں کہ کلائنٹ ایک دوسرے تک پہنچ سکتے ہیں یا نہیں، اور صرف ایک LAN ایپلیکیشن چلانے کے لیے کسی کو بھی فعال نہیں کرنا چاہیے۔ جانچ سے پہلے طے کریں کہ تنہائی کہاں نافذ ہوتی ہے۔
جوابی راستہ اسی منصوبے میں رکھیں۔ سروس یا اس کے راؤٹر کو جاننا چاہیے کہ ٹریفک کو ٹنل کی حد میں کیسے واپس بھیجنا ہے، یا ڈیزائن کو ماخذ کو دانستہ اور مطلوبہ دائرے میں تبدیل کرنا چاہیے۔
تصدیق کریں، پھر دونوں راستے ثابت کریں
کوئی بھی چیز دوبارہ شروع کرنے سے پہلے کنفیگریشن کی تصدیق کریں، اور نئی پالیسی غلط ہونے کی صورت میں ایک آزاد انتظامی سیشن کھلا رکھیں۔
shorewall check
صاف جانچ کے بعد کنفیگریشن لاگو کریں اور پڑھیں کہ Shorewall نے کیا لوڈ کیا۔ یہ مطالعے چلتی ہوئی پالیسی بیان کرتے ہیں، نہ کہ وہ جو فائل کہتی دکھائی دیتی ہے۔
shorewall show zones
ip route get 192.168.10.20
اسی کلائنٹ سے ایک نئی اجازت یافتہ درخواست اور ایک دانستہ مسترد درخواست جانچیں۔ کامیاب OpenVPN مصافحہ صرف بیرونی تبادلہ ثابت کرتا ہے؛ اجازت یافتہ سروس اور مسترد وسیلہ وہ اندرونی پالیسی ثابت کرتے ہیں جو آپ کا مقصد تھی۔ پھر کلائنٹ دوبارہ جوڑیں اور دہرائیں، کیونکہ ٹنل انٹرفیس کا نام اور پتہ سیشنوں کے درمیان بدل سکتا ہے۔ اگر نتیجہ مختلف ہو تو قاعدہ وسیع کرنے کے بجائے زون کا دائرہ درست کریں۔