1. الترتيب: أولوية تصاعدية، أول مطابقة تفوز
داخل السياسة، تُقيَّم القواعد بترتيبpriority ASC, id ASC:
- الأولوية الأدنى تُشغَّل أولاً. قاعدة بـ
priority: 0تُفحص قبل واحدة بـpriority: 10. فكّر فيها كموضع في الطابور، لا درجة قوة — الرقم الأصغر يأخذ الكلمة أولاً. - تُحسم التعادلات بمعرّف القاعدة. قاعدتان عند نفس
priorityتُشغَّلان بترتيب الإنشاء (معرّف قاعدة تصاعدي)، فتفوز القاعدة الأقدم بالتعادل. استخدم أولويات متمايزة حين يهمّ الترتيب فعلاً بدلاً من الاعتماد على حسم تعادل المعرّف. - أول مطابقة تفوز. يتوقف المحرك عند أول قاعدة تتحقق كل شروطها ويطبّق حكمها. القواعد الأبعد في القائمة لا تُستشار أبداً لذلك الاستدعاء.
- لا مطابقة ← الحكم الافتراضي. إذا لم يطابق شيء، يُطبَّق
default_verdictللسياسة —auditما لم تغيّره.
تطابق القاعدة فقط عندما يتحقق كل شرط معلَن دفعةً واحدة:
السطح، و
glob اسم الأداة، وglob المهارة
الاختياري، وعبارات الوسائط
الاختيارية، ونطاق egress (قواعد egress فقط). المطابقة الجزئية ليست مطابقة،
وينتقل التقييم إلى القاعدة التالية.
2. مثال ملموس واحد: المحدّد قبل العريض
مهمة الترتيب النموذجية هي السماح لـallow ضيّق بأن ينجو من deny عريض. ضع القاعدة المحدّدة عند أولوية أدنى كي يُبلَغ إليها أولاً:shell.echo يصطدم بـ Rule A أولاً (أولوية 10)، ويطابق،
ويُسمح به — لا يصل المحرك إلى Rule B أبداً. استدعاء shell.exec يسقط عبر
A (لا يطابق glob)، ويصطدم بـ Rule B، ويُرفض.
اقلب الأولويات وسيصطاد deny العريض shell.* عند أولوية 10 shell.echo
أولاً، وسيصير allow الخاص بك عند أولوية 20 كوداً ميتاً. القاعدة العامة:
الأكثر تحديداً أولاً، الأعرض أخيراً.
3. تحقّق من الترتيب قبل أن تعتمد عليه
التفكير في الأولوية على الورق عرضة للخطأ بمجرد أن يتجاوز عدد قواعد السياسة حفنةً. صندوق الرمل Test يشغّل المحرك الحقيقي مقابل استدعاء أداة عينة ويخبرك ليس فقط بالحكم بل بـأي قاعدة فازت — فيمكنك تأكيد أن القاعدة التي توقّعتها أُطلقت فعلاً:أرسِل استدعاءً عينةً
أدخِل اسم أداة (ووسائط، إن كانت قواعدك تفحصها) وشغّله. لا يُرسَل شيء ولا
يُحفظ شيء — إنه تشغيل تجريبي.
4. فرض المهارة يركب فوق
تقرر أولوية القواعد حكم القاعدة الفائزة — لكن ذلك ليس دائماً الجواب النهائي. إذا كان استدعاء الأداة مملوكاً لـمهارة محكومة، يُطبَّق وضع فرض المهارة فوق الحكم الفائز، بعد حسم أول مطابقة:| وضع المهارة | الأثر على الحكم الفائز |
|---|---|
allow | لا تغيير — يبقى حكم القاعدة قائماً. |
quarantine | يصعّد أي شيء دون deny إلى pending_approval؛ ويُترَك deny قائم كما هو. |
block | يفرض deny بغضّ النظر عن حكم القاعدة. |
quarantine يمكنها تحويل allow لقاعدة إلى استدعاء مُعلَّق، ومهارة
block ترفض استدعاءً حتى عندما لا تسمّي أي قاعدة أدواتها. الحجر الصحي
يصعّد فقط — ولا يخفّض deny أبداً إلى شيء أنعم. لهذا تبقى مهارة كُشِفت
تلقائياً كخطرة محجوزةً في الحجر الصحي حتى تراجعها، مهما كانت قواعدك
متساهلة.
5. أشياء لا تركب أول مطابقة
بضع آليات تقع خارج اجتياز الأولوية لكل قاعدة — اعرف أين تحطّ كي لا تحاول ترتيبها:cap_cost — يُحَل، لا يُرتَّب
cap_cost — يُحَل، لا يُرتَّب
قاعدة
cap_cost تحت سقفها تُعامَل
كـغير مطابقة، فيستمر التقييم إلى القاعدة التالية بدلاً من السماح لها
بالفوز أول-مطابقة كمنحة. فوق السقف تُحَل إلى deny. لا تقصر دائرة
قاعدة بأولوية أدنى لمجرد أنه بُلِغ إليها.التسلسلات — تفاعلية، لا مضمَّنة
التسلسلات — تفاعلية، لا مضمَّنة
تطابق قاعدة التسلسل سلسلة
استدعاءات عبر نافذة زمنية، فتُفرَض تفاعلياً بمُطابِق غير متزامن بدلاً من
الاستدعاء المفرد الذي يُكمل السلسلة. تُشعل تغذية الأحداث لكنها لا تفوز
اجتياز أول-مطابقة لاستدعاء منفرد.
وضع الظل — يُطبَّق بعد الحكم
وضع الظل — يُطبَّق بعد الحكم
وضع الظل لا يغيّر أيّ قاعدة تفوز
— بل يخفّض الحكم الفارض الفائز إلى
audit (يُسبَق السبب بـ
[shadow] would …) بعد حسم أول-مطابقة، فيمكنك قياس أثر سياسة قبل أن
تغيّر حركة المرور.6. تجميع كل ذلك
لأي استدعاء أداة، الحل الكامل هو:- حُلّ السياسة — تلك المرتبطة بالمفتاح المستدعي، أو افتراضي مساحة العمل. انظر النطاق.
- اجتَز القواعد بـ
priority ASC, id ASC— أول مطابقة تفوز؛ لا مطابقة ←default_verdict. - طبّق فرض المهارة — يركب وضع المهارة المحكومة فوق الحكم الفائز
(
blockيفرض deny، وquarantineيصعّد). - طبّق وضع الظل — إن كان مفعّلاً، اخفض الأحكام الفارضة إلى
audit. - سجّل الحدث — يحطّ الحكم، والسطح، والأداة، والقاعدة المطابقة في تغذية الأحداث.
تعديل أولوية قاعدة يحدث أثره في الاستدعاء التالي لكل مفتاح مرتبط
بالسياسة — بدون إعادة نشر، بدون تغيير في كود الوكيل. أعد تشغيل صندوق رمل
Test بعد إعادة الترتيب لتأكيد الفائز
الجديد قبل أن تعتمد عليه حركة المرور الحية.
إلى أين تذهب بعد ذلك
الأحكام
ماذا يفعل كل حكم فائز فعلاً.
نحو الـ glob
كيف تقرر مطابقة اسم الأداة ما إذا كانت القاعدة مرشَّحة أصلاً.
اختبار القواعد
شغّل سياسة تجريبياً وانظر أيّ قاعدة تفوز.
قائمة سماح الأدوات
نمط الحجب الافتراضي الذي يتّكئ أشدّ ما يكون على الترتيب.
