تقریباً ہر بغیر نگرانی VPN سیٹ اپ کو دو ڈیزائن ڈھانپتے ہیں: اسکرپٹ میں رکھا گیا مشترکہ انسانی لاگ اِن، یا میزبان سے بندھا مشین سرٹیفکیٹ۔ یہ مختلف جگہوں پر ناکام ہوتے ہیں، اور یہ سیٹ اپ کی رفتار سے زیادہ اہم ہے۔ محفوظ کردہ پاس ورڈ اس وقت ٹوٹتا ہے جب اس کا مالک اسے بدلتا ہے یا چھوڑ دیتا ہے؛ سرٹیفکیٹ اس وقت ٹوٹتا ہے جب اس کی مدت ختم ہو یا جب میزبان چابی کے بغیر دوبارہ بنایا جائے۔ تین شرطیں طے کرتی ہیں کہ آپ کون سا خرچ اٹھا سکتے ہیں، اور کوئی ڈیزائن کچھ بھی محدود نہیں کرتا جب تک اجازت کی پالیسی نہ کرے۔

اکاؤنٹ سے نہیں، کام سے شروع کریں

کام حد متعین کرتا ہے: کون سی منزلیں، کون سی خدمات، کون سے اوقات، ایک سیشن کتنی دیر چل سکتا ہے۔ ٹنل کا راستہ اس حد کا صرف آدھا حصہ ہے۔ گیٹ وے فیصلہ کرتا ہے کہ سیشن کی اجازت ہے یا نہیں؛ اس کے پیچھے کا وسیلہ فیصلہ کرتا ہے کہ سیشن کیا کر سکتا ہے۔ پہلے فہرست لکھیں، نامزد مالک کے ساتھ، کیونکہ دونوں شناختی ڈیزائنوں کو اسے پورا کرنا ہے۔

لکھتے وقت توثیق اور اجازت کو الگ رکھیں۔ توثیق بتاتی ہے کون جڑ رہا ہے؛ اجازت بتاتی ہے کہ سیشن بعد میں کہاں پہنچ سکتا ہے۔ RADIUS دوسرا حصہ Filter-Id، Framed-IP-Address، Session-Timeout اور Class جیسی خصوصیات کے طور پر لے کر چلتا ہے، اور لاگ اِن کامیاب ہونے پر گیٹ وے انہیں جوڑ دیتا ہے۔ جو ڈیزائن لاگ اِن بدل دے اور اجازت کو ویسا ہی چھوڑ دے، اس نے کچھ بھی محدود نہیں کیا۔

مشترکہ انسانی لاگ اِن: پاس ورڈ ہی حد بن جاتا ہے

انسانی اکاؤنٹ کا دوبارہ استعمال سب سے تیز راستہ ہے اور سب سے برا پرانا ہوتا ہے۔ اسناد پاس ورڈ ہیں، اس لیے یہ اسکرپٹ، ماحولیاتی فائل اور شیڈولر کنفیگریشن میں پہنچ جاتا ہے، اور ہر نقل کو بدلنا پڑتا ہے۔ جب مالک جمعہ کے دن اسے بدلتا ہے، تو اگلی بار چلنے پر کام ناکام ہو جاتا ہے اور کوئی نہیں دیکھ رہا۔

MFA وہ جگہ ہے جہاں یہ ڈیزائن عام طور پر ڈھیر ہو جاتا ہے۔ اسکرپٹ پش درخواست کا جواب نہیں دے سکتا، اس لیے اکاؤنٹ پالیسی سے خارج کر دیا جاتا ہے، اور یہی وہ اکاؤنٹ ہے جو حملہ آور منتخب کرے گا۔ استثنائیں، قابلِ اعتماد مقام کے بائی پاس اور فی اکاؤنٹ چھوٹیں بڑھتی جاتی ہیں، اور ان میں سے کوئی بھی اگلے پڑھنے والے کو نظر نہیں آتی۔

نسبت دینا دوسرا خرچ ہے۔ گیٹ وے لاگ میں ہر سیشن وہی صارف نام رکھتا ہے، اس لیے رات کی ہم آہنگی اس شخص کے کام سے الگ نہیں کی جا سکتی جس نے اسے لکھا، اور کام منسوخ کرنے کا مطلب اس شخص کو منسوخ کرنا ہے۔

مشین سرٹیفکیٹ: شناخت میزبان سے بندھی

سرٹیفکیٹ سوال کو اس سے کہ اکاؤنٹ کیا جانتا ہے، اس طرف بدل دیتا ہے کہ میزبان کیا ہے۔ EAP-TLS میں کلائنٹ سرٹیفکیٹ پیش کرتا ہے اور متعلقہ نجی چابی رکھنے کا ثبوت دیتا ہے؛ پالیسی سرور موضوع یا کمپیوٹر اکاؤنٹ کو گروپ سے جوڑتا ہے اور اس گروپ کی پالیسی لاگو کرتا ہے۔ کوئی پرامپٹ نہیں، متن کی فائل میں بیٹھا کوئی مشترکہ راز نہیں۔

یہ جو حد بناتا ہے وہ لوگوں کی توقع سے تنگ تر ہے۔ سرٹیفکیٹ میزبان کی توثیق کرتا ہے، کام کی نہیں، اور root یا مقامی ایڈمن حقوق رکھنے والا کوئی بھی اس میزبان پر وہ چابی استعمال کر سکتا ہے۔ چابی وہاں رکھیں جہاں پلیٹ فارم اس کی حفاظت کرتا ہے: Windows سرٹیفکیٹ اسٹور میں ناقابلِ برآمد، جہاں پروفائل اجازت دے وہاں TPM کی حمایت کے ساتھ، یا Linux میں root کی ملکیت والی 0600 فائل۔ میزبان کا نقصان اسناد کا نقصان ہے۔

مدت کا ختم ہونا بار بار ہونے والی ناکامی ہے۔ اتوار کو ختم ہونے والا سرٹیفکیٹ اتوار کو کام روک دیتا ہے، اور گیٹ وے عام طور پر تاریخ بتانے کی بجائے عمومی توثیقی خرابی رپورٹ کرتا ہے۔ رن بک کے حصے کے طور پر کام کے میزبان سے تاریخیں جانچیں:

openssl x509 -in client.pem -noout -subject -issuer -dates
ipsec listcerts

منسوخی کے لیے وہ راستہ چاہیے جسے گیٹ وے جانچتا ہے۔ OpenVPN crl-verify اختیار کے ذریعے CRL پڑھتا ہے، اور strongSwan کنکشن پروفائل کی بناوٹ کے مطابق CRL یا OCSP پر منحصر ہے۔ اگر دونوں میں سے کوئی بھی منسلک نہ ہو، تو میزبان ہٹانے کا مطلب سرٹیفکیٹ کی مدت ختم ہونے کا انتظار ہے۔

تین شرطیں جو دونوں کے درمیان فیصلہ کرتی ہیں

موازنہ اپنے پلیٹ فارم سے کریں، کسی حوالہ جاتی ڈیزائن سے نہیں۔

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

ConstraintMachine certificateDedicated user account with stored secret
Unattended loginPrivate key proof, no promptOnly if the account is exempted from MFA
Resource expects a user identityWorks only when the resource accepts computer accountsMatches the access a person would have
RotationRe-enrollment, often automatedSecret change plus redeploy of every copy
Revocation speedTied to CRL or OCSP refreshDisable the account, immediate

جدول کو درجہ بندی نہیں، اخراجات کی فہرست سمجھ کر پڑھیں۔ محفوظ راز کا کالم منسوخی کی رفتار اور صرف صارف اکاؤنٹ سمجھنے والے وسائل کے ساتھ مطابقت میں جیتتا ہے؛ سرٹیفکیٹ کا کالم تبدیلی اور اسکرپٹ چلانے کے لیے MFA کمزور نہ کرنے میں جیتتا ہے۔

حد پالیسی میں رکھیں، توثیق کے بعد

آپ جو بھی شناخت چنیں، اجازت کی حد اس پالیسی کی ہے جو توثیق کے بعد چلتی ہے۔ NPS میں نیٹ ورک پالیسیاں ترتیب سے جانچی جاتی ہیں اور ہر شرط سے ملنے والی پہلی پالیسی اپنی ترتیبات لاگو کرتی ہے، اس لیے تنگ پالیسی کے اوپر رکھی گئی وسیع پالیسی نتیجہ طے کرتی ہے، چاہے کلائنٹ کچھ بھی پیش کرے۔ Microsoft شرائط اور ترتیبات کا ماڈل اپنے NPS پالیسی جائزے میں بیان کرتا ہے۔

کام کو اس کا اپنا گروپ یا پالیسی شرط دیں، جو مشین شناخت کے پاس موجود کسی چیز پر مبنی ہو: سرٹیفکیٹ ٹیمپلیٹ، کال کرنے والے اسٹیشن کی شناخت، یا مخصوص پول کا پتہ۔ پھر سیشن کو خصوصیات سے باندھیں: اس کردار کے لیے Filter-Id جس سے آپ کا گیٹ وے اسے جوڑتا ہے، مختصر Session-Timeout تاکہ پھنسا ہوا کام دنوں تک سیشن رکھنے کے بجائے دوبارہ توثیق ہو، اور دوسری طرف فائر وال سے محفوظ پول سے Framed-IP-Address۔ ایپلیکیشن کی اجازت الگ رہتی ہے: ڈیٹا بیس سرور تک ٹنل اس کے اندر جدول پڑھنے کی اجازت نہیں ہے۔

انکار جانچیں، پھر ہٹانے کی منصوبہ بندی کریں

کام کرنے والی رسائی کم سے کم حق کے بارے میں کچھ ثابت نہیں کرتی۔ اس کے بجائے انکار جانچیں: کام کی شناخت سے جڑیں اور فہرست سے باہر منزل تک پہنچنے کی کوشش کریں، اگر گیٹ وے کو صرف ایک کی اجازت دینی ہے تو دوسرا بیک وقت سیشن کھولیں، اور اسناد منسوخ کرنے کے بعد لاگ اِن دہرائیں۔

پھر وہی سیشن دو جگہوں پر تصدیق کریں۔ گیٹ وے لاگ وہ شناخت دکھاتا ہے جس نے توثیق کی؛ پالیسی سرور لاگ دکھاتا ہے کہ کون سی پالیسی ملی اور کون سی خصوصیات واپس آئیں۔ OpenVPN پر سرور سرٹیفکیٹ کا عام نام درج کرتا ہے، اور strongSwan پر ipsec statusall قائم شدہ ٹنل استعمال ہونے والی شناخت کے ساتھ چھاپتا ہے۔ اگر دونوں لاگ شناخت کے بارے میں متفق نہ ہوں، تو پالیسی آپ کی فرض سے مختلف چیز سے مل رہی ہے۔

ہٹانا ڈیزائن کا حصہ ہے، صفائی کی مہم نہیں۔ جو کچھ مٹانا ہے لکھیں (سرٹیفکیٹ یا اکاؤنٹ، گروپ رکنیت، نیٹ ورک پالیسی، پول اندراج، ہدف پر فائر وال اصول) اور ایک بار چلائیں جب کام دوبارہ بنانا آسان ہو۔

اگر آج شروع کر رہے ہیں، تو اس ترتیب سے کام کریں: وسائل کی فہرست لکھیں، تین شرطوں سے شناخت چنیں، حد پالیسی میں رکھیں، اور کام کے لائیو ہونے سے پہلے ایک انکار کی مشق کریں۔

متعلقہ مضامین