يعد تطبيق تحديثات الأمان المهمة أمرًا مهمًا للحفاظ على خادم Linux في مأمن من المهاجمين المحتملين ، ولكنه قد يتسبب في حدوث تعطل ، وهو أمر غير جيد أيضًا. يمكن لتطبيق ترقيع kernel المباشر تطبيق تحديثات مهمة لـ kernel دون قطع اتصال الخادم الخاص بك.
ما هو Live Kernel Patching؟
قبل الترقيع المباشر للنواة ، كان على مسؤولي النظام الاختيار بين الاحتفاظ بخادمهم قيد التشغيل أو تطبيق تحديثات الأمان. من الواضح أن هذا ليس مثاليًا ، لذلك في عام 2008 أنشأ جيف أرنولد من معهد ماساتشوستس للتكنولوجيا KSplice ، وهي أداة يمكنها تطبيق التحديثات عن طريق أخذ فرق ثنائي وتطبيق تصحيحات على النواة قيد التشغيل في الذاكرة.

يتطلب ذلك كتابة تصحيح مخصص لكل تحديث ، لذلك فهو مخصص فقط للثغرات الأمنية الهامة التي تحتاج إلى إصلاحات سريعة ، وليس تحديثات يومية منتظمة. ولكن ، عند الحاجة ، يوفر هذا الحل البسيط طريقة لتطبيق تلك الإصلاحات دون التأثير على وقت تشغيل الخادم.
في الواقع ، يعد الترقيع المباشر للنواة أقل فائدة مما قد يبدو. إذا كنت تهتم بوقت تشغيل الخادم ، فمن المحتمل أنك تريد أيضًا تلبية نوع من اتفاقية مستوى الخدمة أو الحصول على خدمة مهمة لمواصلة العمل. في شبكة عالية الإتاحة ، يجب أن يكون أي خادم فردي قادرًا نظريًا على الاحتراق تلقائيًا دون التأثير على وقت تشغيل التطبيق. من الناحية المثالية ، يجب أن يكون لديك خادمان أو أكثر خلف موازين التحميل ، وإذا كان لديك أكثر من خادم واحد ، فيمكن تحديثها واحدًا تلو الآخر دون التأثير بشكل كبير على توفر الخدمة ، على الرغم من أنك قد تكون سعة تحميل بنسبة 50٪ لفترة قصيرة.
مع مراعاة ذلك ، عادةً ما يتم إجراء الترقيع المباشر للنواة تلقائيًا بمجرد توفر تصحيح جديد. من خلال تشغيل التصحيح المباشر ، يجب أن يظل نظامك محدثًا تلقائيًا ، ولن تضطر إلى وجود شخص ما ينسق تحديثًا متجددًا للخادم مع حدوث تعطل محتمل. هذا ارتفاع كبير بالنسبة لمعظم مسؤولي النظام.
سلبيات الترقيع المباشر
لا يزال الترقيع المباشر للنواة معقدًا جدًا بحيث يجب كتابة التصحيحات بواسطة خبراء ، لكل نظام ، وهي مخصصة فقط لتصحيحات الأمان المهمة. حتى ذلك الحين ، ليس مضمونًا عدم تعطل نظامك. يدير Ubuntu هذه المخاطر من خلال طرح التصحيحات ببطء لعدد قليل من المستخدمين في وقت واحد ، أثناء مراقبة الأعطال.
لا يستطيع تصحيح النواة الحية أيضًا القيام بكل شيء - يمكن تطبيقه فقط على أجزاء صغيرة ومحددة من كود kernel ، ولا يمكن استخدامه لأي تحديثات رئيسية تؤثر على مكونات متعددة أو تغير هياكل البيانات.
من يدعم Live Patching؟
لسوء الحظ ، لم يعد برنامج KSplice الأصلي مفتوح المصدر ، بعد أن استحوذت عليه Oracle في 2011 للتكامل مع Oracle Linux.
مع تحول KSplice إلى مصدر مغلق ، طورت العديد من الشركات الأخرى في مساحة خادم Linux نسختها الخاصة. مع الحاجة إلى كتابة التصحيحات بشكل مخصص واختبارها لكل نظام ، فإنه يجعل الحفاظ على مصدر مفتوح واحد "Live Kernel Patcher" صعبًا للغاية.
معظم الشركات تقدمه كخدمة مدفوعة. KernelCare هو أقرب شيء إلى حل للأغراض العامة ، ويدعم معظم التوزيعات باشتراك مدفوع. يعد Amazon Linux 2 واحدًا من الشركات القليلة التي تقدمه مجانًا. RHEL لديه kpatch. لا يزال Oracle Linux يستخدم ksplice.
يحتوي Ubuntu على Canonical Livepatch. إنه مجاني لما يصل إلى ثلاثة أجهزة ، وبعد ذلك ستحتاج إلى اشتراك Ubuntu Advantage لكل جهاز.