PAM پالیسی کے ساتھ OpenVPN لاگ ان کو ایک گروپ تک محدود کریں
ایک مخصوص PAM سروس سسٹم بھر کے لاگ ان قواعد کو چھوئے بغیر صرف VPN گروپ کے ارکان کو داخل ہونے دے سکتی ہے۔ auth-pam پلگ ان کو اس کی طرف بھیجیں اور نتائج جانچیں۔
ہر اکاؤنٹ کو عام طور پر لاگ ان کرنے کے قابل رکھیں، لیکن صرف ایک گروپ کو VPN استعمال کرنے دیں۔ PAM دوسری پاس ورڈ گودام کے بغیر اس فرق کا اظہار کر سکتا ہے، اور OpenVPN پلگ ان کو ایسی سروس کی طرف بھیجا جا سکتا ہے جس میں صرف وہی جانچ ہو جو آپ کا ارادہ ہے۔ ترکیب یہ ہے کہ وہ سروس سسٹم بھر کے اسٹیک کو نادانستہ طور پر وراثت میں لیے بغیر بنائی جائے۔
یہاں کا سفر پلگ ان کے سروس نام سے شروع ہوتا ہے، پالیسی بناتا ہے اور پھر تین اہم نتائج جانچتا ہے: ایک رکن، درست پاس ورڈ والا باہر کا شخص اور خراب اسناد۔
الگ PAM سروس کیوں
auth-pam پلگ ان اپنی دلیل کے طور پر سروس کا نام لیتا ہے۔ وہ نام /etc/pam.d کے تحت ایک فائل منتخب کرتا ہے، اور اسی فائل کا اسٹیک VPN لاگ ان کے دوران چلتا ہے۔ اگر آپ وہی نام دیں جو سسٹم بھر کا لاگ ان استعمال کرتا ہے، تو آپ اس اسٹیک کے ہر فیصلے کو وراثت میں لیں گے، ان سمیت جو بعد میں غیر متعلقہ وجوہات کی بنا پر شامل کیے گئے۔
اس کے بجائے مخصوص سروس بنائیں۔ پہلے سے ہی مطلوبہ backend کے خلاف تصدیق کرنے والے کام کرنے والے اسٹیک سے شروع کریں، جیسے مقامی پاس ورڈ فائل، SSSD یا ڈائریکٹری سروس، پھر اہلیت کا قاعدہ شامل کریں۔ خالی فائل میں دو سطریں نقل کرنا عام غلطی ہے: پاس ورڈ کی میعاد ختم ہونا، اکاؤنٹ لاک ہونا اور دیگر جانچیں اس اسٹیک میں ہو سکتی ہیں جو آپ نے نقل نہیں کیا۔
سروس کو الگ کرنا نقصان کا دائرہ بھی محدود کرتا ہے۔ مشترکہ اسٹیک میں صرف VPN کا قاعدہ سب کے لیے SSH یا کنسول رسائی سے انکار کر سکتا ہے، جو رسائی کی تبدیلی کو رکاوٹ بنا دیتا ہے۔
گروپ کا قاعدہ لکھنا
اہلیت کی جانچ اکاؤنٹ مرحلے میں آتی ہے، اسناد کی تصدیق کے بعد۔ account required pam_succeed_if.so user ingroup vpnusers جیسا قاعدہ پروسیسنگ کو صرف اسی وقت جاری رہنے دیتا ہے جب تصدیق شدہ صارف اس گروپ کا رکن ہو۔
وہ سطر ایک ٹکڑا ہے، مکمل سروس نہیں۔ اسے وہاں شامل کریں جہاں ہر قبول شدہ راستہ پہنچتا ہے، اور اس کے ارد گرد کے کنٹرول جھنڈے جانچیں۔ اسٹیک میں پہلے کا sufficient یا جمپ کنٹرول آپ کے قاعدے کے چلنے سے پہلے پروسیسنگ ختم کر سکتا ہے، جو پابندی کو صرف تجویز بنا دیتا ہے۔
عادتاً use_uid شامل نہ کریں۔ اس کے بغیر ماڈیول تصدیق شدہ صارف کا جائزہ لیتا ہے؛ اس کے ساتھ ماڈیول اس اکاؤنٹ کا جائزہ لیتا ہے جس کے تحت OpenVPN عمل چلتا ہے، جو عام طور پر root یا سروس اکاؤنٹ ہوتا ہے اور اس لیے لاگ ان کرنے والا شخص نہیں۔
گروپ کی رکنیت سسٹم کے شناختی حل سے آتی ہے، آپ کے پہچانے کسی نام سے نہیں۔ ڈائریکٹری صارفین کے لیے تصدیق کریں کہ وہی backend اس صارف کے گروپ سوالات کا جواب دیتا ہے، کیونکہ مانوس نام والا مقامی گروپ اسی نام کے ڈائریکٹری گروپ سے مختلف چیز ہے۔
ترتیب اور شناخت کے جال
گروپ کا قاعدہ تصدیق کے اسٹیک کے بعد اور ہر اس جانچ کے بعد رکھیں جو اب بھی لاگو رہنی چاہیے، لیکن آپ کے رکھے ہوئے اکاؤنٹ کی جانچوں سے پہلے یا ان کے ساتھ۔ PAM ماڈیولز کا جائزہ فائل کی ترتیب میں لیتا ہے، اور ہر سطر کی کنٹرول قدر فیصلہ کرتی ہے کہ ناکامی حتمی ہے یا نہیں۔
دوہرے اسٹیکوں سے محتاط رہیں۔ عام نمونہ یہ ہے کہ ایک include جس میں پہلے سے اکاؤنٹ قاعدہ ہے، پھر آپ کا اپنا گروپ قاعدہ، جو ایک کی توقع کی جگہ دو فیصلے پیدا کرتا ہے۔ صرف وہ فائل نہیں جو آپ نے ترمیم کی، شامل کی گئی فائل بھی پڑھیں۔ مؤثر ترتیب دیکھنے کا تیز طریقہ یہ ہے کہ فائل اوپر سے نیچے پڑھیں اور ہر کنٹرول قدر نوٹ کریں۔
داخلے کی دیگر شرائط کو برقرار رکھیں۔ کامیاب پاس ورڈ سرٹیفکیٹ جانچ، دوسرے عامل یا رابطے کے بعد کی اجازت کا متبادل نہیں ہے، اور یہ پالیسی ان میں سے کسی کا بدل نہیں ہے۔ یہ صرف فیصلہ کرتی ہے کہ اکاؤنٹ VPN رسائی کے لیے قابل غور ہے یا نہیں۔
ارکان، باہر کے لوگ اور غلط پاس ورڈ جانچنا
پالیسی کو مکمل ماننے سے پہلے تین حالتیں جانچیں۔ رکن کامیابی سے جڑتا ہے۔ گروپ سے باہر کا درست اکاؤنٹ اپنا پاس ورڈ تصدیق کرتا ہے لیکن VPN رسائی سے انکار کر دیا جاتا ہے۔ کسی بھی اکاؤنٹ کے لیے غلط پاس ورڈ تصدیق کے مرحلے میں مسترد ہوتا ہے، گروپ قاعدے سے نہیں۔
کلائنٹ کو نظر آنے والی خرابی اور سرور لاگ کو ساتھ دیکھیں، کیونکہ جڑنے والے شخص کو دونوں ناکامیاں ایک جیسی لگ سکتی ہیں۔ معاونت کے لیے یہ فرق اہم ہے: درست پاس ورڈ والے باہر کے شخص کو گروپ تبدیلی کی ضرورت ہے، جبکہ غلط پاس ورڈ کو اسناد ری سیٹ کرنے کی ضرورت ہے۔
PAM میں ترمیم کے دوران دوسرا سیشن کھلا رکھیں، اور تبدیلی کے بعد عام SSH لاگ ان بھی تصدیق کریں۔ مخصوص سروس کا مقصد یہ ہے کہ سسٹم لاگ ان متاثر نہ ہو، اور یہ جاننے کا واحد طریقہ اسے جانچنا ہے۔
اگر کچھ ٹوٹ جائے تو کاپی سے پچھلی سروس فائل بحال کریں۔ مطلوبہ قاعدہ بتانا آسان ہے: رکنیت اکاؤنٹ کو VPN رسائی کے لیے اہل بناتی ہے، اور دیگر تمام لازمی جانچیں اب بھی لاگو ہیں۔