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

العَرَض تحذير صلاحيات، لا انقطاع خدمة

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

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

طابق الوضع مع هوية الخدمة

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

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

ls -l /etc/openvpn/client/
stat -c '%U %G %a %n' /etc/openvpn/client/*.key
id openvpn

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

اعثر على النسخ التي لا يغطيها الوضع

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

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

ابحث عن النسخ قبل أن تعلن انتهاء المهمة: grep -rl عن سطر ترويسة المفتاح في الأدلة المرجحة، وألقِ نظرة على استثناءات النسخ الاحتياطي. النتيجة عادة أكثر إثارة من الملف الذي بدأت به.

بعد الإصلاح: تحقق وأبدل

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

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

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