پہلا سیشن جیتتا ہے: بے دخلی سے پہلے OpenVPN لاگ ان کو محدود کرنا
بعد کے لاگ ان کو مسترد کرنا پرانے کو بدلنے کے برابر نہیں ہے۔ فیصلہ اسی نام کی بے دخلی سے پہلے ہونا چاہیے، اور سلاٹ کی جانچ ایٹمک ہونی چاہیے۔
فی اکاؤنٹ ایک سیشن کی اجازت دینے والی پالیسی دوسرے لاگ ان کے آنے تک طے شدہ لگتی ہے۔ دو نتائج ممکن ہیں: نیا آنے والا موجودہ سیشن کی جگہ لیتا ہے، یا موجودہ سیشن سلاٹ رکھتا ہے اور نئے کو مسترد کر دیا جاتا ہے۔ صرف دوسرا ہی پہلا سیشن جیتتا ہے پالیسی ہے۔ جس کلائنٹ اختیار کی طرف زیادہ تر لوگ جاتے ہیں وہ ہم وقتی کو فعال کرتا ہے اور اس لیے یہ نتیجہ نہیں دیتا۔
ایک سیٹنگ کے پیچھے دو معاہدے چھپے ہوئے ہیں
ہم وقتی بند ہونے پر، وہی سرٹیفکیٹ نام لیے ہوئے دوسرا کنکشن چلتے ہوئے سیشن کو ہٹا سکتا ہے۔ ہم وقتی کو چالو کرنا ایک ساتھ کئی سیشنوں کی اجازت دیتا ہے، جو حد کے بالکل برعکس ہے۔ دونوں میں سے کوئی حالت مسترد کرنے کی پالیسی نہیں، اس لیے فیصلہ بالکل کہیں اور کرنا ہوگا۔
کچھ بھی نافذ کرنے سے پہلے معاہدہ لکھ لیں: کس کو مسترد کیا جاتا ہے، کون سا ثبوت موجودہ سیشن کی شناخت کرتا ہے، اور جب سیشن صاف منقطع کے بغیر مر جائے تو کیا ہوتا ہے۔ جس پالیسی کو کسی نے اس طرح نہ کہا ہو، اسے بعد میں جانچا نہیں جا سکتا۔
بے دخلی آپ کے کنیکٹ ہک سے پہلے ہوتی ہے
2.6 سرور کوڈ کے راستے میں، نئے کلائنٹ کی ابتدائی تیاری ہم وقتی بند ہونے پر اسی نام کے موجودہ نمونے ہٹا دیتی ہے۔ یہ ہٹانا کنیکٹ ہینڈلر کی زنجیر چلنے سے پہلے ہوتا ہے۔ اس لیے نقل دیکھ کر ناکامی واپس کرنے والی اسکرپٹ نئے کو تب مسترد کرتی ہے جب چلتا سیشن پہلے ہی گرا دیا جا چکا ہوتا ہے - بالکل وہی نتیجہ جسے پالیسی روکنا چاہتی تھی۔ Upstream عمل درآمد میں کال بیکس کی ترتیب ہی آپ کے بلڈ کے لیے واحد قابل اعتماد جواب ہے۔
| Stage | Who can still refuse | Effect on the incumbent |
|---|---|---|
| Certificate check | Server trust configuration | None |
| Authentication decision | The authentication controller | None, because establishment has not run |
| Connect handler | A profile script | Already evicted in the same-name case |
| Post-establishment | Status tooling, monitoring | Both sessions already exist or one is gone |
اسٹیٹس فائل کو پول کرنا بھی دروازہ نہیں ہے۔ ایک ساتھ آنے والی دو کوششیں دونوں خالی سلاٹ دیکھ سکتی ہیں، اس سے پہلے کہ کوئی اسے پکا کرے، اور دونوں آگے بڑھ جاتی ہیں۔
فیصلے کو توثیق میں منتقل کریں
سرٹیفکیٹ کی تصدیق کے بعد انتظامی انٹرفیس توثیق کا فیصلہ لے سکتا ہے۔ اس ترتیب میں کنٹرولر نگران نہیں ہے: وہ ہر جڑنے والے کلائنٹ نمونے کو وصول کرتا ہے اور جواب دیتا ہے کہ وہ نمونہ آگے بڑھ سکتا ہے یا نہیں۔ چونکہ جواب قائم ہونے سے پہلے آتا ہے، مسترد کرنا چلتے سیشن کو اچھوتا چھوڑ دیتا ہے۔ وہی چینل منقطعات کی اطلاع دیتا ہے، اور اسی طرح کنٹرولر کو معلوم ہوتا ہے کہ سلاٹ قانونی طور پر چھوڑا گیا۔
ہر نئے نمونے کو اس دروازے سے گزرنا ہوگا، جس میں دوبارہ کنیکٹ ہونا اور بغیر اشارے دوبارہ توثیق کرنے والا کوئی بھی راستہ شامل ہے۔ جس دروازے تک کچھ نمونے کبھی نہیں پہنچتے وہ کچھ نہیں بچاتا، اور یہ کوتاہی تب تک پوشیدہ رہتی ہے جب تک کوئی بائی پاس آزما نہ لے۔
ٹوکن دروازے کے پاس سے گزر سکتے ہیں
ٹوکن جاری ہونے کے بعد، سرور اسے اندرونی طور پر تصدیق کر سکتا ہے اور اس کنکشن کے لیے بیرونی توثیق چھوڑ سکتا ہے. انتظامی کال کبھی نہیں ہوتی، اس لیے صرف وہاں نافذ کردہ سلاٹ جانچ نئے نمونے کو کبھی نہیں دیکھتی۔ یہ رویہ صارفین کے لیے سہولت اور ہم وقتی پالیسی کے لیے سوراخ ہے۔ ٹوکن سے تصدیق شدہ کنکشنز کو مساوی مستند جانچ سے گزرنے دیں، یا جب پالیسی ہر کنکشن پر فیصلہ مانگے تو ٹوکن راستہ بند کر دیں۔
ہر ٹوکن کو بلا شرط قبول کر کے اس کی تلافی نہ کریں۔ میعاد ختم شدہ یا غلط ٹوکن کو پھر بھی ناکام ہونا چاہیے، اور اسے باقی سب کی طرح اسی فیصلہ نقطے سے ناکام ہونا چاہیے۔
ریزرویشن کو نمونے سے باندھیں، پتے سے نہیں
پتہ کمزور شناخت ہے: اسی لیپ ٹاپ سے دوبارہ کنیکٹ ہونا کسی دوسرے پتے سے آ سکتا ہے، اور نقل شدہ اسناد اسی پتے سے آ سکتی ہیں۔ ریزرویشن کو سرور کے دیے ہوئے کلائنٹ نمونے سے باندھیں، تاکہ پہلے سے قبول شدہ نمونے کی دوبارہ توثیق مالک کے طور پر پہچانی جائے۔ نئے نمونے کی شناخت کنندہ کو وہی ٹوکن پیش کرنے پر بھی پہلا جیتتا ہے فیصلے سے اپنا سلاٹ لینا ہوگا۔
صرف ناکام کوشش کا ریزرویشن چھوڑیں۔ پرانی کوشش سے دیر سے آنے والا منقطعات واقعہ نئے مالک کا سلاٹ نہیں مٹا سکتا، اسی لیے چھوڑنا اکاؤنٹ کی بجائے نمونے کا نام لیتا ہے۔ کنٹرولر کے دوبارہ آغاز کے بعد کسی کو قبول کرنے سے پہلے فعال سیشنوں کا موازنہ کریں، اور اکاؤنٹ کی خدمت کرنے والے ہر گیٹ وے پر وہی قاعدہ لاگو کریں۔
واقعی پرانا ہو چکا سلاٹ کیسے بحال ہوگا، یہ الگ سے طے کریں۔ منتظم کو اسے صاف کرنے کا دستاویزی طریقہ درکار ہے، اور وہ راستہ صرف دوبارہ کنیکٹ پر کلک کرنے والے صارف کے لیے قابل رسائی نہیں ہونا چاہیے۔
اہم جوڑوں کی جانچ کریں: تقریباً ایک ہی وقت میں دو لاگ ان، صاف بندش کے بعد دوبارہ کنیکٹ، چلتے سیشن کی دوبارہ توثیق، مسترد شدہ نیا آنے والا، اور کنٹرولر کا دوبارہ آغاز۔ ہر صورت میں چلتا سیشن قابل استعمال رہنا چاہیے اور نئے کو دوسرے اکاؤنٹس کو نقصان پہنچائے بغیر مسترد کیا جانا چاہیے۔