OpenVPN client-config-dir: اسم الملف مقابل الاسم الشائع في الشهادة
يأتي اسم ملف CCD من الاسم الشائع في الشهادة، أو من اسم المستخدم عند تفعيل ذلك التعيين. قارن القاعدتين قبل إعادة تسمية أي ملف.
هناك اسمان في اللعبة قبل أن يتصل العميل أصلاً: اسم الملف على الحاسوب المحمول (nuc.ovpn) والهوية التي يستخرجها الخادم من بيانات الاعتماد. بحث client-config-dir يستخدم الثاني. إعادة تسمية الملف الشخصي على العميل، أو إضافة .conf إلى ملف الخادم، لا تغيّر شيئاً في أي ملف يفتحه الخادم.
المقارنة المفيدة ليست «أي اسم استخدمت» بل «أي قاعدة يطبّقها الخادم»، لأن مصادقة الشهادة ومصادقة اسم المستخدم/كلمة المرور قد تنتجان اسمين فعّالين مختلفين من تسجيل الدخول نفسه.
اسم الملف الشخصي مقابل الاسم الشائع في الشهادة
في الإعداد الافتراضي القائم على الشهادة يأخذ الخادم الاسم الشائع X.509 ويبحث عن ملف بهذا الاسم بالضبط داخل client-config-dir. ملف شخصي اسمه nuc.ovpn تقول شهادته tester يُحلّ إلى /etc/openvpn/server/ccd/tester. اسم ملف العميل لا يدخل في الحساب أبداً. هذا أول موضع يختفي فيه عدم التطابق.
لذلك قد يخفق كل مرة دليل مليء بملفات شخصية مسماة بعناية. لا يُطابَق الملف حسب الموضوع أو عنوان البريد الإلكتروني أو الاسم المعروض في واجهة رسومية؛ بل حسب سلسلة الاسم الشائع.
على نظام ملفات حساس لحالة الأحرف يكون Tester و tester ملفين مختلفين، ولا يُفتح إلا أحدهما. تحقق من الاسم الشائع في الشهادة التي يقدمها العميل فعلاً، لا من نسخة في ملاحظاتك.
username-as-common-name يقلب القاعدة
عندما يشغّل الخادم مصادقة اسم المستخدم/كلمة المرور مع username-as-common-name، يحل اسم المستخدم الموثَّق محل الاسم الشائع في الشهادة لهذا البحث.
قارن الحالتين مباشرة: مع هوية الشهادة يتبع الملف الشهادة ويكون تغيير كلمة المرور غير ذي صلة؛ ومع هوية اسم المستخدم يتبع الملف اسم تسجيل الدخول وتكون إعادة إصدار الشهادة غير ذات صلة. وأي حقل يستبدله الخادم هو الذي تُعاد التسمية على أساسه. الشهادة المعاد إصدارها باسم شائع جديد تغيّر هدف البحث بصمت، ويبقى ملف CCD القديم على القرص يبدو صحيحاً.
توجد إعدادات مختلطة، وهنا تبدأ معظم الحيرة. إذا فعّل أحد أقسام الخدمة الاستبدال ولم يفعّله آخر، يعتمد الاسم الفعّال على المثيل الذي عالج الاتصال. أكّد الإعداد النشط بدلاً من افتراض أن الملف العام ينطبق. يوثّق مرجع خيارات الخادم البحث بالملف المسمى والاحتياطي الاختياري.
ما يقرأه الخادم، وما يتخطاه بصمت
فرقان صغيران يحددان ما إذا كان الملف سيُختار. الأول امتداد مضاف. والثاني حرف شارد في الاسم.
لا يضيف OpenVPN الامتداد .conf إلى الاسم الذي يبحث عنه، لذا tester.conf لا يطابق tester. والمحرر الذي يخفي الامتدادات قد يترك ملفاً يبدو صحيحاً في القائمة ولا يطابق أبداً.
عندما لا يوجد ملف مطابق، يمكن للخادم أن يلجأ إلى ملف باسم DEFAULT. وصول بعض الإعدادات ليس دليلاً على أن ملف العميل الخاص استُخدم. قارن العنوان المخصص أو المسارات المدفوعة بما سينتجه ملف العميل الخاص. الأذونات هي المرشح الثالث، لأن الخادم يفتح الملف بعد إسقاط الامتيازات؛ صدفة root تستطيع قراءته لا تثبت شيئاً.
اسم ملف صحيح لا يتحقق من المحتوى
الاختيار والمحتوى فشلان منفصلان. بعد فتح الملف الصحيح، يجب أن تظل توجيهاته صالحة لذلك العميل.
يجب أن يخصص ifconfig-push عنواناً يمكن للطوبولوجيا استخدامه فعلاً، ولا معنى لـ iroute إلا مع شبكة فرعية موجهة خلف ذلك العميل.
هوية واحدة، أجهزة عدة
حاسوبان محمولان يقدمان الاسم الشائع نفسه يختاران الملف نفسه ويتلقيان الإعدادات الخاصة بالعميل نفسها. إذا كنت تحتاج عناوين منفصلة أو إلغاءً منفصلاً، فأنت تحتاج هويات منفصلة، لا نسختين من ملف واحد.
المقارنة بين مشاركة هوية وإصدار شهادة لكل جهاز. المشاركة أسهل في الإدارة وأخشن في الإلغاء، بينما تكلف شهادات كل جهاز إعداداً أكبر وتمنحك وحدة نظيفة لتعطيلها.