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

الأسطورة: تغيير واحد، في كل مكان دفعة واحدة

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

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

احصر النسخ قبل أن تدوّر

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

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

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

grep -rl auth-user-pass /etc/openvpn /etc/NetworkManager
grep -rl auth-user-pass ~/.config 2>/dev/null

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

أي سرّ تدوّره فعليًا

كلمة مرور الحساب ليست إلا بيانات اعتماد واحدة في نشر VPN. عبارة مرور مفتاح وهوية شهادة وسرّ نظير اختياري لكل منها مسار استبدال خاص ومالك خاص. تغيير كلمة مرور الحساب لا يفعل شيئًا لجهاز يصادق بشهادة، وإعادة إصدار شهادة لا تفعل شيئًا لعميل يحمل كلمة مرور محفوظة. سمِّ السرّ قبل أن تسمّي الحل.

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

استبدل القيمة المخزنة حيث تعيش

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

العميل الذي يخزّن ملف كلمة مرور يحتاج إلى إعادة كتابة الملف، بينما العميل الذي يسأل يحتاج إلى تسجيل دخول مكتمل. يحتفظ NetworkManager بالسرّ داخل ملف تعريف الاتصال، لذا يمرّ التغيير عبر nmcli لا عبر محرّر نصوص:

nmcli connection modify work vpn.secrets "password=NEW"
nmcli connection up work

ملف التعريف الذي يقرأ ملف بيانات اعتماد هو حالة ثالثة. استبدل محتويات ذلك الملف، وأبقِ أذوناته مغلقة، وأعد تحميل العميل بدل تعديل ملف التعريف الذي يشير إليه. لم يتغيّر ملف التعريف؛ بل تغيّر السرّ الذي يقرأه فقط.

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

الجلسات والرموز تعيش أطول من كلمة المرور

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

إن إرشادات دورة حياة بيانات الاعتماد في NIST SP 800-63B تُبقي المصادِقات والجلسات في فئتين منفصلتين، ولهذا فإن تغيير كلمة المرور وتسجيل الخروج الشامل عمليتان مختلفتان. تعامل معهما كمهمتين بمعياري إنجاز. الأولى تنتهي عندما تعمل القيمة الجديدة، والثانية تنتهي عندما تزول الجلسات القديمة.

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

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