ملحقات النظام وملحقات Kernel في macOS
يتيح macOS 10.15 أو أحدث للمطورين توسيع إمكانات macOS عن طريق تثبيت وإدارة ملحقات النظام التي تعمل في مساحة المستخدم بدلاً من العمل على مستوى kernel. من خلال التشغيل في مساحة المستخدم، تزيد ملحقات النظام من استقرار وأمن macOS. وبالرغم من تمتع kexts بطبيعتها بالوصول الكامل إلى نظام التشغيل بأكمله، فإن الملحقات التي تعمل في مساحة المستخدم لا تُمنح إلا الامتيازات اللازمة لتنفيذ وظيفتها المحددة.
تدعم ملحقات النظام الإدارة الفعالة باستخدام MDM، بما في ذلك القدرة على السماح بتحميل جميع الملحقات من مطور معين أو من نوع معين (مثل ملحقات الشبكة) دون تدخل المستخدم. اختياريًا، بإمكان MDM عدم السماح للمستخدمين بالموافقة على تحميل ملحقات النظام الخاصة بهم.
في macOS 11.3 إلى macOS 11.6.4، يؤثر إجراء تغييرات في أحد ملفات تعريف ملحقات النظام في حالة الملحق بشكل مباشر. على سبيل المثال، في حالة وجود ملحق مُعلّق في انتظار الموافقة بينما تم إرسال ملف تعريف تكوين يسمح بالملحق، يُسمح بتحميل الملحق. على العكس من ذلك، إذا تم إلغاء الموافقة، يتم إلغاء تحميل ملحق النظام ووضع علامة عليه للإزالة عند إعادة التشغيل التالية لكمبيوتر Mac. إذا حاول أحد ملحقات النظام إلغاء تحميل نفسه، يظهر مربع حوار تفاعلي للمصادقة يتطلب بيانات اعتماد المسؤول لتخويل عملية إلغاء التحميل.
في macOS 12.0.1 أو أحدث، يسمح قاموس في حمولة ملحقات النظام—يسمى RemovableSystemExtensions
—لمسؤول MDM بتحديد التطبيقات التي ينبغي تمكينها من إزالة ملحقات النظام الخاص بها. لا يلزم مصادقة المسؤول المحلي لإزالة ملحقات النظام. وهذا الخيار مفيد بشكل خاص للموردين الذين قد يوفرون برامج إلغاء التثبيت التلقائية لتطبيقاتهم.
ملحقات Kernel
في macOS 11 أو أحدث، إذا تم تمكين ملحقات kernel (kexts) تابعة لجهات خارجية، فلا يمكن تحميلها في kernel عند الطلب. وتتطلب موافقة المستخدم وإعادة تشغيل macOS لتحميل التغييرات إلى kernel، وتتطلب أيضًا تكوين التمهيد الآمن على مستوى التأمين المُخفَّض على Mac مزوّد برقاقات Apple.
يمكن للمطورين استخدام إطارات العمل مثل DriverKit و NetworkExtension لكتابة برامج تشغيل USB والواجهات البشرية وأدوات أمن نقطة النهاية (مثل منع فقدان البيانات أو وكلاء نقطة النهاية الآخرين) و VPN وأدوات الشبكة، كل ذلك دون الحاجة إلى كتابة kexts. ولا ينبغي استخدام وكلاء الأمن التابعين لجهات خارجية إلا إذا استخدموا واجهات API هذه أو كانت لديهم خريطة طريق قوية للانتقال إليها وبعيدًا عن ملحقات kernel.
هام: لم يعد من المستحسن تشغيل Kexts على macOS. تُخاطر ملحقات Kexts بتكامل وموثوقية نظام التشغيل. وينبغي للمستخدمين تفضيل الحلول التي لا تتطلب توسيع kernel واستخدام ملحقات النظام بدلاً منها.
إضافة kexts على Mac مستند إلى Intel أو مزود برقاقات Apple ومثبت عليه macOS 11 أو أحدث
إذا كان يجب عليك استخدام ملحقات kernel، فراجع طرق الموافقة بناءً على نوع التسجيل.
نوع تسجيل MDM | طريقة الاعتماد | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
غير مسجل تسجيل المستخدم | عند تثبيت ملحق kext جديد مع وجود محاولة لتحميله، يجب أن يبدأ المستخدم إعادة التشغيل من مربع حوار التحذير الذي يظهر في:
وتبدأ عملية إعادة التشغيل هذه في إعادة إنشاء AuxKC قبل تمهيد kernel. | ||||||||||
تسجيل الجهاز تسجيل الجهاز التلقائي | في كل مرة يتم فيها تثبيت kext جديد مع وجود محاولة لتحميله، يجب بدء إعادة التشغيل بواسطة أيٍ مما يلي:
ملاحظة: يجب أولاً تثبيت ملف تعريف قائمة ملحقات kext المسموح بها بواسطة حل MDM الذي يحدد kext. يسمح macOS 11.3 أو أحدث اختياريًا لحل MDM بإبلاغ المستخدم بإكمال إعادة التشغيل في الوقت الذي يناسبه. |
خطوات إضافية لإضافة kexts على جهاز Mac مزود برقاقات Apple
إذا كنت تضيف ملحقات kernel على جهاز Mac مزود برقاقات Apple، فيجب عليك اتخاذ خطوات إضافية.
نوع تسجيل MDM | طريقة الاعتماد | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
غير مسجل | تتطلب إدارة Kext بواسطة المستخدم إعادة التشغيل في recoveryOS لخفض مستوى إعدادات الأمن. يجب على المستخدم الضغط مطولاً على زر الطاقة لإعادة التشغيل في recoveryOS والمصادقة كمسؤول. ولن يقبل Secure Enclave تغيير السياسة إلا عند الدخول في recoveryOS بالضغط على زر الطاقة. يجب على المستخدم بعد ذلك تحديد خانة اختيار التأمين المُخفَّض وخيار "السماح بإدارة المستخدم لملحقات kernel من المطورين المعروفين" وإعادة تشغيل Mac. | ||||||||||
تسجيل المستخدم | يجب على المستخدم إعادة التشغيل في recoveryOS لخفض مستوى إعدادات الأمن. يجب على المستخدم الضغط مطولاً على زر الطاقة لإعادة التشغيل في recoveryOS والمصادقة كمسؤول محلي. ولن يقبل Secure Enclave تغيير السياسة إلا عند الدخول في recoveryOS بالضغط على زر الطاقة. يجب على المستخدم بعد ذلك تحديد التأمين المُخفَّض، وخيار "السماح بإدارة المستخدم لملحقات kernel من المطورين المعروفين"، وإعادة تشغيل Mac. | ||||||||||
تسجيل الجهاز | يجب أن يُبلغ حل MDM المستخدم بأنه يجب عليه إعادة التشغيل في recoveryOS لخفض مستوى إعدادات الأمن. يجب على المستخدم الضغط مطولاً على زر الطاقة لإعادة التشغيل في recoveryOS والمصادقة كمسؤول. ولن يقبل Secure Enclave تغيير السياسة إلا عند الدخول في recoveryOS بالضغط على زر الطاقة. يجب على المستخدم بعد ذلك تحديد التأمين المُخفَّض، وخيار "السماح بالإدارة عن بُعد لملحقات kernel وتحديثات البرامج التلقائية"، وإعادة تشغيل Mac. لمعرفة ما إذا كانت هذه الميزة مدعومة لأجهزتك، راجع وثائق بائع حل MDM. | ||||||||||
تسجيل الجهاز التلقائي (يجب ظهور الرقم التسلسلي للـ Mac في Apple School Manager أو Apple Business Manager أو Apple Business Essentials، ويجب تسجيل الـ Mac في حل MDM مرتبط بالخدمة). | يمكن لحلول MDM إدارة هذا الخيار تلقائيًا. لمعرفة ما إذا كانت هذه الميزة مدعومة لأجهزتك، راجع وثائق بائع حل MDM. |
ملحقات Kernel مع حماية تكامل النظام
إذا تم تمكين حماية تكامل النظام (SIP)، يتم التحقق من توقيع كل kext قبل تضمينه في AuxKC.
إذا تم تعطيل SIP، فلا يتم فرض توقيع kext.
يسمح هذا الأسلوب لتدفقات التأمين المتساهل لدى المطورين أو المستخدمين الذين لا يشكلون جزءًا من برنامج مطوري Apple باختبار ملحقات kexts قبل التوقيع عليها.