Vaultwarden 1.36.0: دليل الترقية

الاستضافة الذاتية تعني أنك المسؤول عن فريق الأمان الخاص بك.

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

يعالج Vaultwarden 1.36.0 منطقتين حرجتين: • مصادقة لوحة المسؤول (Admin panel). • التعامل مع رموز الجلسة (Session tokens).

لوحة المسؤول هي هدف شائع. يقوم العديد من المستخدمين بتشغيلها على نطاق فرعي (subdomain) عام. إذا لم تقم بحظر المسار /admin على مستوى البروكسي (proxy) الخاص بك، فأنت في خطر.

التحسينات الرئيسية في 1.36.0:

• تحديد معدل الطلبات من جانب الخادم (Server-side rate limiting): يتعامل التطبيق الآن مع تحديد معدل الطلبات داخلياً، ولم يعد يعتمد فقط على إعدادات Nginx أو Caddy الخاصة بك. وهذا يمنع المهاجمين من تجاوز الحدود باستخدام رؤوس IP (IP headers) مزيفة.

• أمان أفضل للجلسات: يتحقق الخادم الآن من انتهاء صلاحية الرمز (token) عند كل استدعاء لـ API. وهذا يمنع الرموز المسروقة من العمل لفترة أطول مما ينبغي.

• تحديث التبعيات (Dependencies): تعالج الإصلاحات الخاصة بـ OpenSSL و tower-http مخاطر هجمات حجب الخدمة (denial-of-service).

كيفية الترقية دون فقدان البيانات:

  1. قم بعمل نسخة احتياطية لقاعدة البيانات بشكل صحيح. لا تكتفِ بنسخ الملفات فقط. استخدم أمر النسخ الاحتياطي لـ SQLite داخل الحاوية (container) لتجنب تلف البيانات. قم بتشغيل: docker exec vaultwarden sqlite3 /data/db.sqlite3 '.backup /data/db_backup.sqlite3'

  2. تحقق من النسخة الاحتياطية. قم بإجراء فحص للسلامة (integrity check) على الملف الجديد. إذا لم تظهر كلمة "ok"، فلا تستمر.

  3. استخدم طريقة الترقية الذرية (atomic upgrade). لا توقف الحاوية أولاً، لأن ذلك سيؤدي إلى توقف الخدمة (downtime). بدلاً من ذلك، قم بسحب الصورة (image) الجديدة بينما لا تزال القديمة تعمل، ثم أعد إنشاء الخدمة. قم بتشغيل: docker compose pull vaultwarden docker compose up -d vaultwarden

  4. قم بضبط رأس الـ IP الخاص بك. لضمان عمل خاصية تحديد معدل الطلبات، أخبر Vaultwarden بأي رأس (header) يستخدمه البروكسي الخاص بك. أضف هذا إلى متغيرات البيئة (environment): IP_HEADER=X-Forwarded-For

تحصين إعداداتك:

• توقف عن استخدام ADMIN_TOKEN بنص صريح. استخدم هاش argon2 بدلاً من ذلك. • قيد الوصول إلى المسار /admin لشبكتك المحلية فقط عبر البروكسي العكسي (reverse proxy). • اضبط SIGNUPS_ALLOWED على false إذا كنت المستخدم الوحيد.

تستغرق الترقية خمس دقائق، بينما يستغرق التحضير الجيد عشر دقائق. لا تتجاهل عملية النسخ الاحتياطي.

المصدر: https://dev.to/ericwoooo_kr/vaultwarden-1360-what-changed-what-to-patch-and-how-to-upgrade-without-losing-your-vault-3gd2