يستطيع NetworkManager حفظ كلمة مرور VPN حتى يبدأ الاتصال دون أن يكتبها أحد، ويستطيع إظهار تلك القيمة عبر المحرر أو عبر nmcli --show-secrets. تتوفر ثلاثة نماذج للملكية، وسلوك العرض ليس إلا عرضًا من أعراض النموذج الذي اخترته. اختر النموذج أولًا، ثم اضبط العلم الذي يطابقه، بدلًا من إخفاء حقل بعنصر نائب يربك الشخص التالي.

ثلاثة نماذج للملكية

النموذج الأول يطلب كلمة المرور في كل مرة. لا يُخزَّن شيء، والسرّ لا يوجد إلا طوال مدة التفعيل، وعلى من يبدأ الاتصال أن يعرف كلمة المرور. إنه الخيار الأقل راحة والأسهل في الدفاع عنه.

النموذج الثاني يسلّم السرّ إلى حلقة مفاتيح يملكها المستخدم. يفتح الوكيل القفل عند بدء الجلسة ويوفّر القيمة عند الطلب، ما يبقيها خارج ملف الاتصال لكنه يربط الاتصال بجلسة ذلك المستخدم. ويترتب على ذلك شرطان: أن يكون الوكيل قيد التشغيل، وأن يكون مفتوح القفل.

النموذج الثالث يخزّن اعتمادًا محميًا لاتصال نظام. يصمد بعد إعادة التشغيل ويعمل قبل أن يسجّل أي شخص الدخول، وفي المقابل تبقى القيمة على القرص محمية بأذونات الملف لا بالتشفير.

كل نموذج معقول في السياق المناسب. الخطأ هو خلطها، وهكذا ينتهي حاسوب محمول بسرّ في مكانين دون جواب واضح عن أيّهما المرجع. اكتب أي نموذج يستخدمه ملف التعريف. سطر واحد في دليل الفريق يوفّر على الشخص التالي اختراع مكان رابع للبحث.

اقرأ الحالة الحالية قبل تغييرها

انظر إلى ملف التعريف وإلى حالة السرّ بصفة المستخدم الذي يدير الاتصال. الأمر الثاني هو الذي يخبرك هل القيمة قابلة للقراءة فعلاً.

nmcli connection show "Office VPN"
nmcli --show-secrets connection show "Office VPN"
sudo stat -c '%U %a %n' /etc/NetworkManager/system-connections/*.nmconnection

ملف المفاتيح في ذلك المجلد مملوك عادةً للجذر بالوضع 600. هذا يبقي المستخدمين العاديين خارجًا، ولا يبقي الجذر خارجًا، وهذا مهم عندما يكون الجهاز نفسه مشتركًا أو عندما يعمل النسخ الاحتياطي بصفة الجذر.

أذونات الملفات حدّ، وليست تشفيرًا. من يستطيع قراءة الملف بصفة الجذر يجد كلمة المرور نصًا صريحًا. هذه مقايضة مقبولة لخادم بلا إشراف وسيئة لجهاز عمل مشترك. وكتابتها مرة واحدة تمنع جدالًا طويلًا حول ما إذا كانت القيمة محمية.

ماذا تفعل كل قيمة من قيم العلم

يحمل سرّ VPN خاصية flags، والقيم ليست بديهية من الأرقام وحدها.

ValueMeaningPractical effect
0No special flagSecret is typically saved with the connection
1Agent-ownedA keyring or secret agent supplies it
2Not savedPrompted at each activation
4Not requiredConnection proceeds without asking

يعتمد السلوك الفعلي أيضًا على المكوّن الإضافي وعلى ما إذا كان وكيل قيد التشغيل، لذا اعتبر الجدول العقد والسلوك الملاحَظ هو ما تتحقق منه. القيمة التي تعمل على سطح مكتب قد تتصرف بشكل مختلف على خادم بلا جلسة. هذه الفجوة هي حيث تعيش معظم التذاكر المربكة.

اضبط الخاصية صراحةً بدلًا من حذف سطر والأمل. العلم الغائب ليس سياسة، وقد تملأه تحديثات الحزمة التالية بشيء لم تقصده.

طابق النموذج مع وقت بدء الاتصال

إذا كان الاتصال لا يبدأ إلا أثناء تسجيل مستخدم للدخول، فنموذج ملكية الوكيل مناسب ويُبقي السرّ خارج الملف. إذا كان يبدأ عند الإقلاع، قبل وجود أي جلسة، فلا يستطيع الوكيل مساعدتك.

هذا هو القرار كله في معظم الأجهزة. وهو يفسر أيضًا صنفًا من التقارير المربكة حيث يعمل الاتصال تفاعليًا ويفشل بعد إعادة التشغيل. العلم لم يتغير قط؛ السياق هو الذي تغير.

في حالة عدم الإشراف، الملف المقيّد المملوك للجذر أو مصدر اعتماد معتمد هو الجواب العملي. أبقِه خارج ملف تعريف الاتصال إن كان ذلك الملف سيُصدَّر أو يُنسخ إلى جهاز آخر يومًا ما.

إذا كانت القيمة ظاهرة بالفعل، فبدّلها

تغيير علم لا يمسّ كلمة المرور نفسها. القيمة التي ظهرت في لقطة شاشة أو في سجل الصدفة أو في حزمة أُرسلت إلى الدعم أو في ملف كان بمقدور مستخدمين آخرين فتحه ينبغي اعتبارها مكشوفة.

غيّرها على الخادم، ثم أصلح العميل وأنهِ أي جلسة صدّقت بالكلمة القديمة. حذف الاتصال المحلي لا يلغي شيئًا على الطرف الآخر، وهذا هو الجزء الذي يفوته الناس.

ثم توقف عن وضع كلمة المرور على سطر الأوامر. إنها تنتهي في سجل الصدفة وقد تظهر في قائمة العمليات؛ استخدم الطلب التفاعلي أو الوكيل بدلًا من ذلك.

تحقق بإعادة الاتصال

كرر الأمر الذي أظهر السرّ وتأكد أن الحقل لم يعد يُطبع. ثم افصل وأعد الاتصال، وأعد التشغيل إذا كان الاتصال يبدأ تلقائيًا، لأن العطل المثير لا يظهر إلا عندما يتغير سياق الجلسة.

إذا ظهر السرّ بعد ذلك، فثمة ملف تعريف آخر أو وكيل آخر يوفّره. افحص الاتصال النشط وحلقة المفاتيح بدلًا من حذف الملفات حتى تنتقل العَرَض.

مقالات ذات صلة