أين يجب أن يحفظ لينكس كلمة مرور VPN؟ ليس في الملف الشخصي
تحدد أعلام الأسرار في NetworkManager ما إذا كان الملف الشخصي أو وكيل حلقة مفاتيح أو لا أحد يحتفظ بكلمة المرور. تعتمد الإجابة على وقت بدء الاتصال.
لا بد لكلمة مرور VPN أن تسكن في مكان ما: في ملف الاتصال، أو في حلقة مفاتيح يفتحها سطح المكتب، أو في لا مكان إطلاقًا. يسمي NetworkManager هذا الخيار علم سر، واختيار العلم الخاطئ هو سبب عمل الاتصال بعد تسجيل الدخول وفشله كخدمة. العلم سطر واحد من الإعداد، وهو يحدد أيًّا من تلك النتائج الثلاث ستحصل عليه.
ثلاثة أعلام تغطي تقريبًا كل حالة، والقرار يتعلق بوقت بدء الاتصال.
ثلاثة أعلام سر، ثلاثة سلوكات
علم بقيمة 0 يعني أن السر يُحفظ مع الاتصال، في أي مخزن يحتفظ بالملف الشخصي. العلم بقيمة 1 يجعله مملوكًا لوكيل: يأتي السر من وكيل سر مثل حلقة مفاتيح على سطح المكتب، ويطلبه NetworkManager عند التنشيط. العلم بقيمة 2 يعني غير محفوظ، فلا يُكتب السر أبدًا ويجب تقديمه في كل مرة. العلم 4 يعلّم السر بأنه غير مطلوب، للاتصالات التي لا تحتاج إليه فعلًا.
| Flag | Where it lives | Works unattended |
|---|---|---|
| 0 saved | Connection profile | Yes, if the store is readable |
| 1 agent-owned | Secret agent or keyring | Only if that agent is available |
| 2 not-saved | Nowhere | No |
اضبط الأعلام لكل سر بدلًا من كل اتصال. يمكن أن يكون للاتصال الواحد كلمة مرور مملوكة لوكيل وعبارة مرور مفتاح خاص محفوظة.
قرر حسب وقت بدء الاتصال
إذا بدأ مستخدم مسجَّل الدخول الاتصال، فالمملوك لوكيل هو الافتراضي المعقول: تُفتح حلقة المفاتيح عند تسجيل الدخول ولا يستقر السر في ملف أبدًا. وإذا كان على الاتصال أن ينهض قبل أن يسجل أي شخص الدخول، فالمملوك لوكيل هو الخيار الخاطئ، لأنه لا توجد حلقة مفاتيح جلسة لفتحها.
هذا هو القرار كله. كل ما تبقى هو صيغة منه.
بالنسبة لخدمة تعمل قبل تسجيل الدخول، فالمخزن على مستوى النظام أو ملف مفتاح محمي هو النمط المدعوم، وتصبح أذونات الملف هي الحماية. لا تحل المطالبة بلصق كلمة المرور في نصوص برمجية شل تعمل عند الإقلاع.
ما تمنحه حلقة المفاتيح وما لا تمنحه
تُبقي حلقة المفاتيح السر خارج ملف الاتصال وتربطه بجلسة مستخدم. لكنها لا تجعل السر متاحًا لخدمة بلا جلسة، ولا تشفر شيئًا على الشبكة. هذه خصائص منفصلة يخلط الناس بينها كثيرًا. أما ما تشتريه فعلًا فهو نطاق أثر أصغر عند تسرب ملف التعريف.
المفتاح الخاص الذي يشير إليه الملف الشخصي يحتاج إلى أذوناته الخاصة، بغض النظر عن مكان كلمة المرور.
التشخيص دون إفراغ الأسرار
أسماء الاتصالات ومعرفات UUID والأعلام عادةً كافية لتفسير فشل ما. nmcli connection show يسرد الملف الشخصي، وتخبرك أعلام السر من أين كان يفترض أن تأتي كلمة المرور.
تجنب --show-secrets في التذاكر والدردشة. بمجرد لصقه يصبح اعتمادًا في نص محادثة.
التخزين ليس إبطالًا
إزالة سر من حلقة مفاتيح واحدة لا تبطل الاعتماد الذي قبله المشغل البعيد بالفعل. إبطال الحساب إجراء من جهة الخادم، والتخزين المحلي مسألة منفصلة بمالك منفصل.
قرر الاثنين قبل الحادث لا أثناءه. اتصال مستخدم تفاعلي وخدمة تعمل قبل تسجيل الدخول يحتاجان إجابتين مختلفتين، والنص البرمجي المشترك ليس أيًّا منهما. وثائق NetworkManager لأعلام السر تسرد القيم كاملة.