[{"data":1,"prerenderedAt":118},["ShallowReactive",2],{"seo-verification":3,"blog-routine-correctifs-apps-self-hosted-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":23,"intro":26,"sections":27,"ctaTitle":70,"ctaBody":71,"ctaButton":72,"ctaUrl":73,"relatedPosts":74},224,"routine-correctifs-apps-self-hosted","التطبيقات المستضافة ذاتيًا: روتين التصحيحات","الجرد ونشرات الأمان ونافذة التصحيح والنسخ الاحتياطي والتحقق: الروتين الذي تفتقده معظم المنظومات المستضافة ذاتيًا.",7,0,false,"2026-08-05T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Froutine-correctifs-apps-self-hosted-poster.svg","الاستضافة الذاتية تعني استعادة عمل كان الناشر يقوم به عنكم دون أن يفوتره على حدة: تطبيق تصحيحاته الأمنية. جاء التذكير في يوليو 2026 مع CVE-2026-63077 في JetBrains TeamCity، وقد عولجت أصلًا في نسخة الناشر السحابية بينما انتظرت كل نسخة On-Premises يد مديرها. وهذا هو الروتين الذي يسدّ الفجوة.",[28,32,41,44,63,67],{"type":29,"title":30,"body":31},"h2","التصحيح جزء ممّا تستعيدونه","في منتج SaaS يكون تحديث الأمان غير مرئي: يطرحه الناشر على أسطوله الخاص، أحيانًا قبل الإعلان العلني. أما الثغرة ذاتها على نسخة تستضيفونها بأنفسكم فتظل مفتوحة حتى يطبّق أحدهم الإصلاح. توضّح CVE-2026-63077 هذه الفجوة: أتاحت الثغرة تنفيذ أوامر النظام دون مصادقة على TeamCity On-Premises، وصُحّحت في الإصدارين `2025‎.11‎.7` و`2026‎.1‎.3`، بينما لم تتطلّب نشرات الناشر السحابية أي إجراء من عملائها. الفجوة ليست تقنية، بل تنظيمية.",{"type":33,"title":34,"items":35},"ul","ما الذي ينكسر حين لا يتولّاه أحد",[36,37,38,39,40],"**يصبح الإصدار المثبَّت غير معروف** — بلا جرد لا يعرف أحد أي مكوّن يعمل على أي جهاز، ولا يمكن حتى فرز نشرة أمنية.","**تصل النشرة إلى عنوان ميت** — تذهب إشعارات الناشر إلى بريد مزوّد غادر، أو إلى اسم مستعار لم يعد أحد يقرأه.","**يتراكم التأخّر حتى الطريق المسدود** — التأخّر بثلاثة إصدارات رئيسية يحوّل تصحيحًا من عشر دقائق إلى ترحيل من يومين.","**يجري التحديث بلا شبكة أمان** — بلا نسخة احتياطية متحقَّق منها، لا يمكن التراجع عن ترحيل مخطَّط قاعدة البيانات بعد تطبيقه.","**لا يتحقّق أحد بعد ذلك** — تُعاد الخدمة، وتستجيب الصفحة الرئيسية، ويبقى مستهلك طابور المهام ميتًا أسابيع دون أي إشارة.",{"type":29,"title":42,"body":43},"المتطلبات الأربعة لروتين قابل للاستمرار","لا يقوم روتين التصحيحات على حسن النية، بل على أربعة أمور مكتوبة. جرد: كل تطبيق وإصداره ومضيفه والمسؤول عنه. مصادر نشرات محصورة في المكوّنات المثبَّتة فعلًا، لأن التغذية العامة تُغرق الإشارة. نافذة معلنة: موعد متكرر يُقبل فيه الانقطاع، وإلا انتظر التصحيح لحظة هدوء لا تأتي أبدًا. نسخة احتياطية قابلة للاستعادة، مجرَّبة قبل الحاجة إليها. بدون هذه الأربعة، يعود كل تحديث مشروعًا يُتفاوض عليه.",{"type":45,"title":46,"steps":47},"steps","الروتين في خمس خطوات",[48,51,54,57,60],{"title":49,"body":50},"جرد ما يعمل فعلًا","أدرجوا كل تطبيق مكشوف وإصداره الدقيق ومضيفه والمسؤول عنه. يعطي `docker compose ls` ثم `docker image inspect` الحالة الحقيقية للحاويات، ويعطي `dpkg -l` أو `rpm -qa` حالة حزم النظام. ضعوا هذا الملف تحت إدارة الإصدارات إلى جانب إعداداتكم: الجرد الذي يعيش في ذاكرة بشرية فقط غير موجود.",{"title":52,"body":53},"الاشتراك في نشرات المكوّنات المثبَّتة، لا في الإنترنت كله","لكل سطر في الجرد افتحوا اشتراكًا مسمّى: تغذية Atom لإصدارات المستودع (`https:\u002F\u002Fgithub‎.com\u002Forg\u002Frepo\u002Freleases‎.atom`)، أو قائمة الأمان البريدية للناشر، أو استعلام NVD مرشَّحًا على المنتج. اشتراك واحد لكل مكوّن يبقى قابلًا للفرز. وجّهوها إلى بريد مشترك، لا إلى عنوان شخصي.",{"title":55,"body":56},"تحديد نافذة تصحيح ومسار سريع","احجزوا موعدًا متكررًا يُقبل فيه الانقطاع ويُعلن عنه. تكفي فئتان: التصحيحات العادية تنتظر النافذة، والثغرة الحرجة المستغَلة فعليًا تستوجب تطبيقًا فوريًا خارج النافذة. كتابة هذه القاعدة قبل الحادثة تعفيكم من التفاوض عليها أثناءها.",{"title":58,"body":59},"النسخ الاحتياطي قبل التطبيق مباشرة، وإثبات الاستعادة","قبل التطبيق خذوا تصديرًا لقاعدة البيانات (`mysqldump`، `pg_dump`) ونسخة مؤرَّخة من وحدة تخزين البيانات، وسجّلوا الإصدار الذي تغادرونه. لقطة على مستوى المُشرف الافتراضي ونسخة احتياطية على مستوى التطبيق (`restic`، `borg`) لا تغطّيان الخطر ذاته: احتفظوا بالاثنتين، واختبروا استعادة ما دامت غير عاجلة.",{"title":61,"body":62},"التحقق من السلوك بعد التطبيق، ثم تسليمه إلى مِجَسّ","المنفذ المفتوح لا يثبت شيئًا. بعد كل تصحيح تحقّقوا ممّا يفعله التطبيق فعلًا: استجابة نقطة الصحة (`curl -fsS https:\u002F\u002Fyour-domain‎.com\u002Fhealth`)، واستهلاك الطوابير، وإرسال بريد اختباري، وغياب أخطاء جديدة في السجلات. ثم أدرجوا هذه الفحوص في مراقبة دائمة، مع Uptime Kuma مثلًا، تعيد تشغيلها دونكم.",{"type":64,"title":65,"body":66},"tip","تقليص سطح الهجوم بدل الجري خلف التصحيحات","لوحة إدارة أو بروتوكول وكيل مكشوف على الإنترنت العام يحوّل كل ثغرة غير مصادَق عليها إلى حادثة فورية. ضعوا هذه الواجهات خلف شبكة خاصة أو VPN أو قائمة عناوين مسموح بها. يبقى التحديث إلزاميًا، لكن المهلة بين نشر النشرة وتصحيحكم تتوقّف عن كونها نافذة انكشاف مفتوحة للجميع.",{"type":29,"title":68,"body":69},"من يحدّث ماذا، بالضبط","على خادم تديرونه بأنفسكم يجب أن يبقى التقسيم واضحًا. يوفّر المستضيف الأساس ويصونه: الجهاز والشبكة والتخزين وتوافر المُشرف الافتراضي. أما التطبيقات التي تثبّتونها فوقه — إصداراتها وتصحيحاتها وإعداداتها — فتبقى تحت إدارتكم. لن يحدّثها أحد نيابة عنكم، وذلك ثمن التحكّم الذي اخترتموه. الروتين الموصوف هنا هو ما يجعل هذا التقسيم قابلًا للاستمرار: يحوّل عبئًا منتشرًا إلى موعد قصير ومتوقَّع.","الأساس علينا، وجدول تصحيحاتكم يبقى لكم","صلاحية root وسجلات كاملة وحرية تثبيت أدوات النسخ الاحتياطي والمراقبة الخاصة بكم: البنية التحتية التي نشغّلها تتيح لكم تطبيق تصحيحاتكم في اللحظة التي قرّرتموها.","اطّلعوا على نهجنا في الأمن","\u002Fpourquoi\u002Fsecurite",[75,90,104],{"id":76,"slug":77,"title":78,"excerpt":79,"readTime":11,"views":12,"isPinned":13,"publishedAt":80,"category":81,"categories":87,"featuredImage":23,"bgImage":24,"posterImage":89,"relatedSolution":23},202,"securiser-chaine-approvisionnement-npm-ci","تأمين سلسلة توريد npm في CI بعد حادثة AsyncAPI","سياسة lockfile والتحقق من الهاشات وإثبات SLSA وفحص SCA التلقائي: كيف تقوّي خط CI بعد حادثة AsyncAPI في يوليو 2026.","2026-08-01T00:00:00+00:00",{"id":82,"name":83,"slug":84,"color":85,"icon":86},4,"التطوير","developpement","bg-warning\u002F10 text-warning","dev",[88],{"id":82,"name":83,"slug":84,"color":85,"icon":86},"\u002Fblog\u002Fcovers\u002Fsecuriser-chaine-approvisionnement-npm-ci-poster.svg",{"id":91,"slug":92,"title":93,"excerpt":94,"readTime":11,"views":95,"isPinned":13,"publishedAt":96,"category":97,"categories":98,"featuredImage":23,"bgImage":24,"posterImage":100,"relatedSolution":101},113,"sauvegardes-restic-vps","أتمتة نسخ خادمك VPS الاحتياطية باستخدام Restic","أتمتة نسخ خادمك VPS الاحتياطية باستخدام Restic: لقطات (snapshots) مشفّرة، وإزالة التكرار (deduplication)، والإرسال إلى S3 أو أي واجهة تخزين كائني.",781,"2026-02-27T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[99],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fsauvegardes-restic-vps-poster.svg",{"categorySlug":102,"appSlug":103},"securite","restic",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":109,"views":110,"isPinned":13,"publishedAt":111,"category":112,"categories":113,"featuredImage":23,"bgImage":24,"posterImage":115,"relatedSolution":116},105,"superviser-vps-uptime-kuma","مراقبة خادمك الافتراضي VPS باستخدام Uptime Kuma","انشر Uptime Kuma على خادمك الافتراضي VPS لمراقبة مواقعك وخدماتك ذاتيًا، مع تنبيهات وصفحة حالة عامة.",6,1520,"2026-03-07T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[114],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":102,"appSlug":117},"uptime-kuma",1785896852952]