احتفظ برموز Plex المميّزة، ومفاتيح API، وكلمات المرور، والشهادات خارج ملفات Compose الخاضعة لإدارة الإصدارات، واستبعد المواد السرية من النسخ الاحتياطية العادية للإعدادات.
لا يقتصر الخطر على المستودعات العامة. فقد توسّع ملفات البيئة، وسجلات تصحيح الأخطاء، وحِزم Compose المنسوخة، وأرشيفات النسخ الاحتياطية نطاق الوصول إلى بيانات الاعتماد. أحصِ القيم السرية فعلًا، ومرّرها أثناء التشغيل، واجعل تدويرها ممكنًا من دون إعادة بناء المكدس بأكمله.
صنّف الأسرار قبل تغيير طريقة تخزينها
ليست كل متغيرات البيئة حساسة، لكن ينبغي التعامل مع الرموز المميّزة، وكلمات المرور، والمفاتيح الخاصة، وبيانات اعتماد API بطريقة مختلفة عن الإعدادات العادية.
توصي OWASP بـ حقن الأسرار في الحاويات بدلًا من تضمين الأسرار في الصور أو تركها مكشوفة ضمن الإعدادات العامة.
أدرج كل بيانات الاعتماد التي يستخدمها Plex، والوكلاء الوسيطون، وأدوات الطلبات، والأتمتة. حدّد مكان تخزين كل قيمة، ومن يمكنه قراءتها، وكيفية تدويرها.
لا تضمّن بيانات الاعتماد مباشرةً في Compose
غالبًا ما يُنسخ ملف Compose أو يُلتزم به في المستودع أو يُرسل بالبريد الإلكتروني أو يُضمّن في حِزم النسخ الاحتياطية. وتنتقل الأسرار المضمّنة فيه معه، وقد تبقى فترة طويلة بعد استبدال الخادم الأصلي.
يستخدم نمط Docker الأكثر أمانًا معالجة منفصلة للأسرار، بحيث تُمنح القيم الحساسة للخدمة من دون أن تصبح نصًا عاديًا ضمن الإعدادات.
استبدل القيم المضمّنة مباشرةً بسرّ أو بمصدر محمي أثناء التشغيل. وتحقّق من أن مخرجات Compose المعروضة وسجل المستودع لا يزالان لا يحتويان على بيانات الاعتماد القديمة.
أبقِ ملفات البيئة خارج النسخ الاحتياطية واسعة النطاق
قد يكون ملف `.env` مريحًا، لكنه يظل يحتوي على نص واضح ما لم تحمِه طبقة أخرى. وقد يؤدي نسخه احتياطيًا بجانب الإعدادات العامة إلى توسيع نطاق الجهات التي تتلقى بيانات الاعتماد من دون ملاحظة.
يغيّر نطاق متغيرات البيئة في Compose كيفية حل `.env` و`env_file` ومتغيرات الخدمة، لذا اعرف أي ملف يحتوي فعليًا على السر المستخدم.
افصل نسخ الأسرار الاحتياطية عن إعدادات التطبيقات الروتينية، وقيّد الوصول إليها. وإذا لم تكن بحاجة إلى استعادة قيمة ما لأنها قابلة لإصدارها من جديد، ففضّل التدوير الموثّق على الاحتفاظ بها إلى أجل غير مسمى. احتفظ ببيانات الاعتماد خارج تخطيط بيانات التطبيقات الدائمة حتى لا تتحول النسخ الاحتياطية العادية لبيانات التطبيقات تلقائيًا إلى أرشيفات أسرار.
دوّر الأسرار بعد انكشافها أو تغيير سير العمل
لا يؤدي حذف رمز مميّز مسرّب من ملف إلى إبطال النسخ التي أُنشئت منه مسبقًا. تعامل مع الاشتباه في انكشافه باعتباره حدثًا يستلزم تدوير بيانات الاعتماد، لا مجرد مهمة لتنظيف ملف.
قد تؤدي سعة النسخ الاحتياطية المعتادة وتغيّرها إلى إنشاء نسخ تاريخية كثيرة، ولذلك يكتسب تدوير الأسرار أهمية عندما يكون أحد الأرشيفات قد يحتوي بالفعل على القيمة القديمة.
دوّر الرمز المميّز المتأثر، وحدّث مصدر التشغيل، وتحقّق من أن القيمة القديمة لم تعد تُستخدم للمصادقة. أضف خطوة لفحص الأسرار قبل تصدير ملفات Compose أو النسخ الاحتياطية مستقبلًا.
الدعم والنصائح
المزيد للقراءة

هل ينبغي نسخ Jellyfin احتياطيًا أثناء تشغيله أم إيقاف الخدمة أولًا؟
للتبسيط، يُفضَّل استخدام النسخ الاحتياطية للخدمات المتوقفة؛ ولا تستخدم اللقطات الحية إلا عندما تكون حالة التطبيق ملتقطة بشكل متسق وتكون عمليات الاستعادة قد اختُبرت.

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

متى ينبغي إعادة بناء Jellyfin بدلًا من إصلاحه؟
اختر إعادة البناء بدلًا من الإصلاح عندما يكون انجراف بيئة التشغيل هو المشكلة وتكون الحالة الدائمة قد نُسخت احتياطيًا؛ لا تُجرِ «إعادة بناء» بحذف...

