دو پیروں کے درمیان OpenVPN لنک کے لیے مستقل کلید یا TLS؟
OpenVPN کا مستقل کلید موڈ اپنی ٹریفک کلیدیں گھمانے سے قاصر ہے۔ اگر دو پیروں کو خودکار تجدید درکار ہو تو TLS موڈ میں جائیں اور نقطہ سے نقطہ ترتیب کو ویسا ہی رہنے دیں۔
دو مشینیں جو صرف ایک دوسرے سے بات کرتی ہیں وہ اسی ٹوپولوجی کو برقرار رکھتے ہوئے بھی طے شدہ ٹریفک کلیدیں حاصل کر سکتی ہیں۔ نیٹ ورک کی شکل اور تحفظ کا موڈ آزاد انتخاب ہیں، اور انہی کو خلط ملط کرنا لوگوں کو یہ ترغیب دیتا ہے کہ دونوں ڈیمن چلتے رہنے کے دوران فائل بدل کر مستقل راز گھمانے کی کوشش کریں۔ چلتی جوڑی کے نیچے کلید کی فائل بدلنے سے کچھ نہیں گھومتا۔ مستقل کلید موڈ، جسے OpenVPN 2.6 متروک قرار دیتا ہے، ٹنل کی پوری عمر ایک ہی کلید رکھتا ہے، اس لیے ڈسک کی فائل اور میموری کی کلید دونوں سروں کے دوبارہ شروع ہونے کے بعد ہی پھر مطابقت پاتی ہیں۔ اگر خودکار تجدید شرط ہو تو تحفظ کا موڈ بدلنا ہوگا۔
مستقل کلید موڈ کیا نہیں کر سکتا
خفیہ موڈ میں دونوں پیر پہلے سے مشترکہ کلید بانٹتے ہیں جو ٹنل کو براہ راست خفیہ اور تصدیق شدہ کرتی ہے۔ کوئی مصافحہ نہیں، اس لیے کسی بھی فریق کے پاس نئی کلیدی مواد تجویز کرنے، شناخت ثابت کرنے یا آپریٹر کی مداخلت کے بغیر تضاد سے نکلنے کا کوئی طریقہ نہیں۔ دونوں خصوصیات کسی غائب آپشن سے نہیں بلکہ کنٹرول چینل کی عدم موجودگی سے آتی ہیں، اور کوئی ترتیب جھنڈا اس موڈ میں ایسا چینل شامل نہیں کرتا۔
OpenVPN 2.6 دستی صاف کہتا ہے کہ کلید اس وقت تک رہتی ہے جب تک نئی نہ بنے۔ یہ لیب لنک یا دستاویزی گردش طریقہ کار والی مقررہ ڈیوائس جوڑی کے لیے قابل قبول ہے، اور جہاں طویل مدتی راز حقیقی خطرہ ہو وہاں ناقابل قبول ہے۔ فائل بدلنے سے چلتی جوڑی کے لیے نئی کلید نہیں بنتی؛ اس سے دو غیر متفق پیر بنتے ہیں۔ اس لیے فائل کی تبدیلی گردش شامل کیے بغیر رکاوٹ شامل کرتی ہے۔
فائل کے قبضے سے آگے پیر کی شناخت کا تصور بھی نہیں۔ جس کے پاس کلید ہو وہی پیر ہے، اور ٹنل میں کچھ بھی درج نہیں کرتا کہ کون سا رخ کون سا ہے، اس لیے منسوخی سب کچھ ہے یا کچھ بھی نہیں۔
لنک کو دوبارہ ڈیزائن کیے بغیر TLS پر جانا
TLS موڈ کنٹرول چینل اور اس کے ساتھ ڈیٹا چینل کی کلیدوں پر گفت و شنید کی صلاحیت شامل کرتا ہے۔ نقطہ سے نقطہ تعیناتی میں ایک فریق سرور کا کردار اور دوسرا کلائنٹ کا کردار لیتا ہے، لیکن ٹوپولوجی دو پیروں کے درمیان لنک ہی رہتی ہے: ہر فریق دوسرے کا آخری نقطہ جانتا ہے، اور کوئی تالاب یا کثیر صارف سروس ظاہر نہیں ہوتی۔ کردار مصافحہ کی تفصیل ہیں، نئی ساخت نہیں۔
ہر مشین کو اس کی اپنی شناخت دیں۔ ہر فریق کو سرٹیفکیٹ اور نجی کلید، دوسرے کی تصدیق کرنے والا اعتماد اینکر، اور یہ بتانے والا پیر تصدیقی قاعدہ درکار ہے کہ کس کی توقع ہے۔ وقت بچانے کے لیے ایک پیر کی نجی کلید دوسرے پر دوبارہ استعمال نہ کریں؛ اس سے دو شناختیں ایک ہو جاتی ہیں اور کسی بھی فریق کو الگ سے منسوخ کرنے کی صلاحیت ختم ہو جاتی ہے۔ اندراج ہی اسے درست کرنے کی جگہ ہے، کیونکہ بعد میں درستی کا مطلب سرٹیفکیٹ دوبارہ جاری کرنا ہے۔
تحفظ بدلتے وقت نیٹ ورک معاہدہ غیر متغیر رکھیں۔ وہی ٹنل پتے، راستے اور اجازت شدہ سروسز پہلے اور بعد میں لاگو ہونی چاہئیں، تاکہ منتقلی کے دوران ناکامی چھپا ہوا روٹنگ حیران کن واقعہ نہ ہو بلکہ تحفظ کا مسئلہ ہو۔ تبدیلی سے پہلے پتے اور راستے لکھ لیں؛ بعد میں ان کا موازنہ یادداشت سے دوبارہ بنانے سے تیز ہے۔
کچھ تعیناتیاں کنٹرول چینل کو بھی اپنی مستقل کلید سے محفوظ رکھتی ہیں، جو ڈیٹا چینل کے ساتھ نہیں گھومتی۔ وہ کلید پے لوڈ کی نہیں بلکہ مصافحہ کی حفاظت کرتی ہے، اس لیے اس کا افشا ٹریفک نہیں بلکہ گفت و شنید ظاہر کرتا ہے۔ اسے ڈیٹا چینل کے مواد سے الگ رکھیں، اور ایسی تبدیلی تاریخ دیں جس کا مالک نامزد شخص ہو۔ اسے گھمانے کا مطلب ہے ہم آہنگ ونڈو میں دونوں پیر دوبارہ شروع کرنا، اسی لیے یہ یادداشت کی بجائے کیلنڈر اندراج کا حقدار ہے۔
کون کیا تجدید کرتا ہے، اور کب
TLS موڈ میں تجدید ترتیب شدہ حدود سے چلتی ہے: وقت کا وقفہ، بائٹ گنتی یا پیکٹ گنتی۔ دستاویزی وقت کنٹرول وہی ہے جس پر زیادہ تر تعیناتیاں انحصار کرتی ہیں، اور دو پیروں کے درمیان کم مؤثر قدر تبدیلی شروع کر سکتی ہے، اس لیے صرف ایک طرف اسے بڑھانا واقعہ کو روک نہیں سکے گا۔ حجم کی بنیاد پر حدود اس لیے ہیں کہ مصروف لنک گھڑی سے بہت پہلے کلید ختم کر سکتا ہے۔ کوئی حد صحت کی جانچ نہیں اور کوئی یہ نہیں بتاتی کہ تجدید کامیاب ہوئی۔
اسی لیے ایک ہی ترتیب فائل سے بار بار ہونے والی دوبارہ گفت و شنید کی تشخیص گمراہ کن ہے۔ دونوں پیروں کی ترتیبات پڑھیں، پھر خرابی فرض کرنے کی بجائے لاگ میں تبدیلی دیکھیں۔ صاف طور پر مکمل ہونے والی تجدید کنٹرول چینل ٹریفک کے مختصر دھماکے جیسی لگتی ہے، منقطع ہونے جیسی نہیں۔
اشیاء کو اپنے ذہن میں الگ رکھیں۔ سرٹیفکیٹ طویل مدتی شناخت ثابت کرتا ہے اور آپ کے کنٹرول والے شیڈول کے مطابق بدلا جاتا ہے۔ ڈیٹا چینل کی کلید خودکار طور پر تازہ ہوتی ہے، اور الگ تصدیقی تبادلہ، اگر تعیناتی کو اس کی ضرورت ہو، اکاؤنٹ پالیسی کی پیروی کرتا ہے اور بعد کے تبادلوں کے لیے اپنے انتظامات مانگ سکتا ہے۔
وقفہ صفر پر رکھ کر تجدید مکمل بند کرنا شور والے لاگ کا حل نہیں ہے۔ یہ صحت مند زندگی چکر کے واقعے کو مستقل کلید میں بدل دیتا ہے، جو آپ کو اسی خصوصیت پر واپس لے جاتا ہے جسے آپ چھوڑنا چاہتے تھے۔
تبدیلی کو قبول کرنا
نئی ترتیب نصب شدہ ریلیز کی معاون مثال سے بنائیں، کسی اور جگہ سے وراثت میں ملے الگورتھم اور فائل راستوں والے پرانے کم سے کم ٹکڑے سے نہیں۔ سوئچ کا ہم آہنگ کریں تاکہ دونوں پیر ساتھ بدلیں، اور ایک فریق کے نہ اٹھنے کی صورت میں منظور شدہ بحالی راستہ رکھیں۔ رول بیک جانچنے کے لیے رکاوٹ کا انتظار کرنے کی بجائے جان بوجھ کر لنک نیچے اتاریں۔ جس رول بیک کی آپ نے مشق کی ہے وہ بیان کردہ رول بیک سے زیادہ قیمتی ہے۔
تین چیزیں جانچیں: ابتدائی شناخت کی تصدیق کامیاب ہوتی ہے، مطلوبہ ایپلیکیشن بہاؤ کام کرتا ہے، اور کنٹرول شدہ تجدید ٹریفک کھوئے بغیر ہوتی ہے۔ پھر لاگ میں تبدیلی کو اس نظر سے پڑھیں کہ یہ واقعی کیا ثابت کرتی ہے: نئی کلید شناخت کنندہ کا مطلب ہے کہ پیروں نے تبدیلی مکمل کی، یہ نہیں کہ ٹنل دوبارہ جڑا۔ اسے ایک قدم کا ثبوت سمجھیں، اور منتقلی کو مکمل قرار دینے سے پہلے ٹریفک کاؤنٹر جانچیں۔
بغیر رکاوٹ کے وعدے جو چھپائے گا وہ وہ ناکامی ہے جو آپ نے ابھی نہیں دیکھی۔ ناکام تجدید، ختم ہوتا سرٹیفکیٹ یا راستے کی خرابی اب بھی لنک کو متاثر کر سکتے ہیں، اور صاف آزمائشی دوڑ سے ان میں سے کوئی خارج نہیں ہوتا۔ جس خصوصیت کے لیے ڈیزائن کرنا مناسب ہے وہ زیادہ تنگ اور زیادہ مفید ہے: معمول کی کلید تبدیلی ہاتھ سے فائل بدلنے کا عمل ختم ہو جاتی ہے۔