نسخ احتياطي محصّن ضد الفدية: لماذا اخترنا Kopia وBackblaze B2
نسخة احتياطية يستطيع مهاجم فدية تشفيرها أو حذفها لا قيمة لها. كان ذلك المتطلب الوحيد الذي أملى الخيار كله — وقادنا إلى استنتاج لا لبس فيه بعد أن قارنّا 11 محرك نسخ احتياطي مفتوح المصدر وأربعة مزوّدي تخزين.
ما المشكلة فعلًا — "احصد ثم شفّر"
في هجوم فدية حديث، يحصل المهاجم على امتيازات على الجهاز ثم يفعل شيئين: يشفّر الملفات، ويحذف أو يشفّر النسخ الاحتياطية أيضًا كي لا تستطيع الاستعادة. إن كان وكيل نسختك الاحتياطية يحمل مفاتيح التخزين، فإن المهاجم الذي استولى على الجهاز يحملها هو أيضًا — ويحذف النسخة. فالسؤال الأول ليس "كم بسرعة تنسخ" بل "هل يمكن حذف النسخة الاحتياطية أصلًا".
بماذا قارنّا — 11 محركًا مفتوح المصدر
مسحنا المشهد بأكمله: restic، BorgBackup، Kopia، Duplicati، Duplicacy، rclone، UrBackup، Bareos، Proxmox Backup Server، ZFS، وClonezilla. لكلٍّ فحصنا: إزالة التكرار + التشفير من جهة العميل، ودعم Windows (بما في ذلك VSS للملفات المفتوحة)، والكتابة المباشرة إلى S3، وقبل كل شيء — Object-Lock الحقيقي.
| المحرك | التشفير + إزالة التكرار | Object-Lock (الفدية) | الترخيص التجاري |
|---|---|---|---|
| Kopia | ✓ | ✓ Compliance أصيل | Apache-2.0 |
| restic | ✓ | لم يُطلَق بعد | BSD |
| BorgBackup | ✓ | append-only فقط | BSD |
| Duplicati | ✓ | يستبدل الملفات | MIT |
| Duplicacy | ✓ | جزئي | الاستخدام التجاري محظور |
| Proxmox Backup | ✓ | Object-Lock يُتلِفه | AGPL |
لماذا اخترنا Kopia
Kopia هو المحرك الوحيد اليوم الذي يقوم بإزالة التكرار + التشفير من جهة العميل ويدعم Object-Lock في وضع Compliance مقابل تخزين S3. restic ممتاز وشائع، لكن دعمه لـ Object-Lock لم يُطلَق بعد. Borg قوي على Linux لكن بلا دعم حقيقي لـ Windows وبلا Object-Lock مقابل S3. Duplicacy مُستبعَد على أساس الترخيص (لا يجوز تضمينه في منتج تجاري). كان الحكم التقني واضحًا.
وفوق ذلك: Kopia ملفّ ثنائي واحد (Go)، يعمل على Windows (مع VSS) وMac وLinux — فندير محركًا واحدًا عبر الأسطول بأكمله، بمخرجات JSON سهلة التنسيق من الوكيل.
ولماذا Backblaze B2 — لا Cloudflare R2
نعمل أصلًا على Cloudflare، فكان R2 الخيار البديهي. لكننا تعمّقنا فوجدنا: "أقفال الحاويات" في R2 ليست واجهة S3 Object-Lock، وليس لها ضمان امتثال مُثبَت بأن "مفتاحًا مخترَقًا لا يستطيع الحذف". هذا لا يلبّي معيار WORM لدينا.
| التخزين | Object-Lock حقيقي | تكلفة الخروج (الاستعادة) | $/تيرابايت/شهر |
|---|---|---|---|
| Backblaze B2 | ✓ Compliance | مجاني عبر CDN من Cloudflare | ~$7 |
| Wasabi | ✓ | محدود | ~$7 |
| AWS S3 | ✓ (المعيار) | $0.09/جيجابايت | ~$23 |
| Cloudflare R2 | غير مُثبَت | ~مجاني | ~$15 |
يمنح B2 معيار WORM حقيقيًا، وأرخص تخزين، وخروجًا مجانيًا عبر CDN من Cloudflare — بحيث تكون الاستعادات شبه مجانية. يبقى R2 لدينا لبيانات التطبيق ونسخة ثانوية رخيصة، لا للطبقة غير القابلة للتغيير.
كيف اختبرنا — لم نعتمد على التسويق
تُحقِّق كل ادّعاء مقابل مصدر أولي: الوثائق الرسمية لكل محرك، ونقاشات المجتمع حول Object-Lock، والتراخيص. اكتشافان حرجان كشفناهما بالضبط عبر هذه القراءة: (1) restic ما زال غير خالٍ من قيود القفل، و(2) Proxmox Backup قد يُتلِف مخزن البيانات إن فعّلت Object-Lock عليه. بلا هذا الفحص لكنا اخترنا خطأً.
حيث نصدق: استعادة كاملة إلى خادم افتراضي
محركات الملفات (Kopia/restic) تستعيد بيانات، لا جهازًا قابلًا للإقلاع. "شغّل البيئة كاملة على جهاز افتراضي بنقرة واحدة" هو بالضبط حيث تتفوق Veeam/Datto/Proxmox على المصدر المفتوح. قرارنا: بناء الملفات + النواة غير القابلة للتغيير على Kopia + B2 (حيث نربح في السعر والسيادة)، وللاستعادة الكاملة للخادم — ندمج/نعيد بيع محرك تجاري بدلًا من البناء من الصفر. الصدق يتفوق على الوعود.
كيف نواصل تحسين هذا — مراقبة جودة مستمرة
نسخة احتياطية لا تُختبَر = أمل، لا خطة. لذا كل ~3 أسابيع يجري اختبار استعادة تلقائي: يستعيد النظام عيّنة من النسخة، ويتحقق من مجموع تحقّق مقابل قيمة معروفة، ويُبلغ بالنجاح/الفشل إلى درجة المؤسسة. فشلٌ = تنبيه فوري. إضافةً إلى ذلك، نعيد تقييم خيار المحرك والحاوية كل ربع سنة — فقد يُطلِق restic دعم Object-Lock، وقد تضيف R2 معيار WORM امتثاليًا حقيقيًا، وعندها سنعيد النظر. الخيار غير مجمَّد.
يصف هذا المقال اعتبارات التصميم وخيارات التقنية. الأسعار وقدرات الترخيص دقيقة حتى منتصف 2026 وقد تتغيّر. لا توجد هنا مفاتيح ولا أسرار ولا تفاصيل تهيئة حسّاسة.
← كل التدوينات