تسجيل مستخدم VPN: ابحث أولًا عن مالك الهوية
إضافة مستخدم VPN تبدأ من نظام الهوية، لا من الغلاف. اكتشف أي خلفية تتحقق من الحساب، وامنح الاستحقاق، وخطّط لإلغاء الوصول.
يطلب أحدهم الوصول إلى VPN، وأول ما يتبادر إلى الذهن هو تشغيل adduser على الخادم. هذا الحدس صحيح فقط في مجموعة ضيقة من عمليات النشر. قبل إنشاء أي شيء، افتح إعدادات الخادم واعرف أي منتج يعمل هناك وأين يتحقق من بيانات الاعتماد، لأن الحساب قد يكون في قاعدة بيانات المنتج أو لدى مزوّد هوية أو في حزمة المصادقة الخاصة بالمضيف. إنشاء نوع الحساب الخاطئ يترك الشخص بتسجيل دخول يعمل ونفق غير موجود.
ملف تعريف العميل الذي يذكر OpenVPN يصف البروتوكول، لا نظام الهوية الذي يقف خلفه.
ابدأ من الخادم، لا من adduser
حدّد المنتج أولًا. OpenVPN Community هو الخادم الخفي مع أي مصادقة ربطتها به، أما Access Server فهو منتج له طبقة مستخدمين خاصة به. اطلب ملف الإعداد واسم الوحدة وقائمة الحزم، وتحقق مما إذا كانت هناك واجهة ويب لإدارة المستخدمين. ثم انظر كيف يتوقع ملف التعريف المنشور أن يثبت العملاء هويتهم: شهادة، أو اسم مستخدم وكلمة مرور، أو كليهما. هذا الجواب يسمّي النظام الذي يملك الحساب.
بعد ذلك فقط تصبح عبارة إنشاء المستخدم ذات معنى. في نشر يعتمد على الشهادات فقط، تعني إصدار هوية لجهاز عبر العملية المعتمدة، وتسجيل الدخول إلى Unix لا يغيّر شيئًا. في نشر يعتمد على كلمات المرور، تعني الخلفية التي تتحقق فعليًا من كلمة المرور.
أربع خلفيات، أربعة أماكن لإنشاء الحساب
تحتفظ المصادقة المحلية في Access Server بالحسابات في قاعدة بياناته، لذا فإن واجهة إنشائها تخص المنتج لا المضيف. يفوّض PAM التحقق إلى حزمة نظام التشغيل، ولهذا يمكن أن يكون حساب Unix محلي جزءًا من التسجيل عندما تكون تلك الحزمة هي ما اختاره الخدمة. تنقل LDAP وRADIUS وSAML التحقق إلى خدمة خارجية، حيث تعيش التهيئة وسياسة كلمات المرور والمصادقة متعددة العوامل. يمكن لـ Access Server أن يحتفظ بشهادات وأذونات لكل مستخدم في الحالات الأربع، وهذا ما يجعل الفصل مربكًا.
تحقق من الطريقة الفعلية لهذا المستخدم بعينه لا من الافتراضي العام. يستطيع Access Server 2.10 وما بعده تطبيق طرق مصادقة مختلفة لكل مجموعة أو لكل مستخدم، لذا فإن كون الافتراضي محليًا لا يثبت أن الحساب أمامك يُتحقق منه محليًا.
استحقاق الوصول قرار منفصل
المصادقة تجيب عن من هو الشخص؛ واستحقاق الوصول يجيب عما يمكنه الوصول إليه. احتفظ بهذين كخطوتين، لأن تسجيل الدخول الناجح ليس منحًا. خصّص المسارات المقصودة وأذونات الموارد والحقوق الإدارية عن قصد، وتأكد من بقاء الوصول غير ذي الصلة مرفوضًا. حيث يدعم النشر هويات فردية، أصدر هوية لكل شخص بدلًا من تمرير ملف تعريف شخص آخر، لأن الملف المشترك لا يمكن إلغاؤه لشخص واحد وحده.
مادة العميل مهمة أيضًا. ملف التعريف بالدخول التلقائي وتسجيل دخول المستخدم التفاعلي يمثلان علاقتي مصادقة مختلفتين، وتبديل أحدهما بالآخر يغيّر ما يتحقق منه الخادم فعليًا.
إيقاف الوصول جزء من التسجيل
دوّن ثلاثة مالكين أثناء إنشاء المستخدم: من يتحقق من الحساب، ومن يأذن بالوصول إلى VPN، وأي جهاز أو ملف تعريف يمثل الاتصال. قد تكون هذه ثلاثة أنظمة مختلفة، وخطة إلغاء تسمّي واحدًا منها فقط تترك مسارًا مفتوحًا. عندما يغادر الشخص، أزل الاستحقاق من مالكه وأوقف كل بيانات اعتماد صادرة لدى مالكها. حذف ملف تم تنزيله ليس إلغاءً، وكذلك حذف إدخال محلي إذا كانت هوية خارجية لا تزال تصادق.
ثم اختبر التسجيل كما يفعل المهاجم: اتصل مرة واحدة بالهوية الجديدة، وتأكد من الوصول إلى المورد المقصود، وتأكد من أن موردًا غير ذي صلة ما زال يرفض. اتصال أول يعمل مع اختبار سلبي هو تسجيل مكتمل.
احتفظ بالسجل مع ملف التعريف الذي ينتمي إليه. سيسأل المدقق التالي من كان بإمكانه الاتصال خلال شهر معين، والجواب يكمن في هؤلاء المالكين الثلاثة.