محتويات الدورة

أمن Linux / متقدم: التصميم المقيد والتغيير المتحقق / الدرس 13

فهم حدود مساحات الأسماء و seccomp والعزل

فصل عروض الموارد وترشيح الاستدعاءات والسلطة والثقة المشتركة التي يظل العزل محتاجا إليها.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • شرح أن عرض مساحة الأسماء ليس تفويضا كاملا للموارد.
  • تحديد دور seccomp وحدوده دون تثبيت مرشح.

تحديد الحد الذي تعالجه كل آلية

تعطي مساحات الأسماء العمليات عروضا مقيدة لموارد مختارة، وتحكم الاعتمادات والقدرات السلطة بقواعدها. يقيد seccomp واجهات استدعاء النظام وفق مرشح، ولا يستبدل سياسة تطبيق أو ملفات كاملة. قد تجمع الحاويات هذه الآليات وتظل معتمدة على الثقة بالنواة والتشغيل. لا تسم كل حاوية آلة افتراضية، ولا تفترض أن اسم مضيف مختلفا يعني سلطة أمن مستقلة. يقارن الدرس خصائص معلنة فقط، ولا ينفذ clone أو unshare أو تركيبا أو تثبيت مرشح أو عملية حاوية أو استعلام نواة أو فحص مضيف.

فصل اختلاف العرض عن منع السلطة

ينمذج البرنامج الأول عرضين لتسمية مورد مع علم إدارة مستقل؛ ولا يجعل اختلاف العرض العلم خطأ. ليس تنفيذا لمساحات Linux ، بل يبين قصور الانفصال المرئي عن ادعاء العزل. تختلف نطاقات المستخدم والتركيب والعمليات والشبكة وغيرها وتفاعلاتها. يراجع التصميم الحقيقي الهويات المعينة والواصفات الموروثة والموارد المركبة ومنح بيئة التشغيل. حدد نوع المساحة المناسب بدلا من استخدام isolated=true دليلا عاما على الاحتواء.

python مقارنة العرض والسلطة المختلقين كحقيقتين
contexts = [{"view":"namespace-a", "canAdminister":True}, {"view":"namespace-b", "canAdminister":True}]
assert contexts[0]["view"] != contexts[1]["view"]
assert all(c["canAdminister"] is True for c in contexts)
assert not all(c["canAdminister"] is False for c in contexts)
print("different modeled views do not remove declared authority")
الناتج المتوقع
different modeled views do not remove declared authority

يقيم البرنامج الكامل قاموسين ولا ينشئ مساحة أو قدرة. لا يدعي امتياز حاوية فعلية؛ فعلم الإدارة بيانات تدريب معلنة، لا ملاحظة نواة.

معاملة قيد الاستدعاءات جزءا من التصميم

تحتاج قائمة استدعاءات مسموحة عمليات البرنامج ومعمارياته ومكتباته وحياته المدعومة فعلا. قد يعمل استدعاء واسع على كائنات كثيرة، وتحتاج مؤشرات الوسائط ودلالات التطبيق ضوابط مختلفة. السجل الثاني قائمة مراجعة خيالية، لا برنامج BPF أو ملف seccomp صالح؛ ويحفظ جهل تغطية المعمارية والتشغيل. تميز وثائق seccomp الترشيح والعزل الكامل صراحة. لا يثبت مرشح أو يجرب استدعاء محظور. لا تثبت قائمة أسماء عجز العملية عن كشف البيانات عبر قناة مسموحة قائمة.

json قائمة مراجعة عزل مخصصة غير تنفيذية
{"format":"classroom-sandbox-review","workload":"report-worker-lab","namespaceTypesReviewed":["mount","user"],"syscallPolicyProposed":true,"architecturesVerified":false,"libraryBehaviorVerified":false,"existingChannelsReviewed":false,"actualFilterInstalled":false}

هذا JSON بيانات تخطيط، لا إعداد seccomp أو حاوية أو نواة صالح. لا يشغل بيئة أو يثبت دعما، ويبقى الاقتراح مختلفا عن القيود الفعالة المتحققة.

جمع الضوابط دون مضاعفة ضمانات غير مدعومة

اجمع أقل الصلاحيات والوصول الضيق للملفات وترشيح الاستدعاءات المدعوم والسياسة الإلزامية وصلاحية التطبيق وفق نموذج التهديد. قد تضعف التفاعلات الافتراضات؛ مثل تركيب مضيف قابل للكتابة أو منح تشغيل واسع يهزم الانفصال المقصود. لا يصلح المرشح قاعدة صلاحية عمل مفقودة. افصل قيود الموارد والتوفر عن السرية والتكامل. ليست التسمية التسويقية دليلا على المراجعة. اشرح الثقة بالنواة والتشغيل والنتيجة المحمية المحددة، حتى يناقش المراجع التصميم لا كلمة عزل.

الإبلاغ عن حدود النواة والتشغيل غير المنفذة

يرصد تحقق مؤقت معتمد العمل المشروع والبدائل السليمة المرفوضة وافتراضات تجاوز السلطة المناسبة دون أهداف حقيقية. سجل إصدارات النواة والتشغيل والخصائص المدعومة بدقة. يشغل المساق نموذج القاموس ويعرض سجلا غير تنفيذي فقط، ولا يتحقق من أمن حاوية أو ملف seccomp. عند غياب خاصية أظهر القيد ولا تعامل ضابطا آخر كمكافئ بصمت. سم فرق العرض والسلطة المنمذج وادعاءات الإنفاذ الفعلي التي ما زالت تحتاج أدلة.

الأخطاء الشائعة وإصلاحها

يثبت اسم مضيف مستقل عزلا كاملا

لماذا يحدث؟
يستبدل عرض واحد تحليل السلطة.
كيف تصلحه؟
راجع الأنواع والمنح والموارد.
كيف تتجنب تكراره؟
حدد كل حد مستقلا.

تسمى قائمة الاستدعاء عزلا كاملا

لماذا يحدث؟
تهمل سلطة الكائن والتطبيق.
كيف تصلحه؟
اجمع الضوابط وراجع القنوات.
كيف تتجنب تكراره؟
وضح نطاق الترشيح.

يعلم ملف غير مختبر منفذا

لماذا يحدث؟
يخلط الاقتراح وتنفيذ النواة.
كيف تصلحه؟
احفظ فحوص الدعم والتشغيل المنتظرة.
كيف تتجنب تكراره؟
ارفق دليل الإنفاذ الفعلي.

اختبر فهمك

1. اختلف العرض وبقي canAdminister=true. ماذا ثبت؟

اعرض الحل المشروح

يثبت النموذج عرضين بسلطة معلنة لم تتغير، ولا يقيم مساحة أو امتياز مضيف. حدد المورد والسلطة المقصود تقييدهما قبل الآلية أو ادعاء الاحتواء.

2. كيف قد يكشف فعل كتابة مسموح معلومات؟

اعرض الحل المشروح

قد يبلغ قناة مخرجات مفتوحة أو متاحة. لا تعبر أسماء الاستدعاءات كل مورد أو قاعدة عمل. راجع الإرث والوجهة والصلاحية مستقلة؛ ولا يجري التمرين كتابة أو ترشيحا أو اتصالا.

أهم ما تعلمته

  • يختلف عرض المساحة والسلطة.
  • الترشيح مكون لا سياسة كاملة.
  • تظل ثقة النواة والتشغيل والموارد الموروثة مهمة.

المراجع الرسمية