Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

محرك القواعد

يستخدم PRX-WAF محرك قواعد تصريحياً يعتمد على YAML لكشف هجمات الويب وحجبها. تصف القواعد ما يجب فحصه وكيفية المطابقة والإجراء الواجب اتخاذه. يُقيِّم المحرك كل طلب وارد مقابل جميع القواعد المُفعَّلة عبر 16 مرحلة كشف متسلسلة.

كيف تعمل القواعد

تتكون كل قاعدة من أربعة مكوِّنات رئيسية:

  1. الحقل -- أي جزء من الطلب يتم فحصه (المسار والاستعلام والجسم والرؤوس وغيرها)
  2. العامل -- كيفية مطابقة القيمة (regex وcontains وdetect_sqli وغيرها)
  3. القيمة -- النمط أو العتبة للمطابقة
  4. الإجراء -- ما يجب فعله عند تطابق القاعدة (حجب أو تسجيل أو سماح)
yaml
- id: "CUSTOM-001"
  name: "Block admin path from external IPs"
  category: "access-control"
  severity: "high"
  field: "path"
  operator: "regex"
  value: "(?i)^/admin"
  action: "block"

مصادر القواعد

يُشحن PRX-WAF مع 398 قاعدة عبر أربع فئات:

المصدرالملفاتالقواعدالوصف
OWASP CRS21310مجموعة القواعد الأساسية لـ OWASP ModSecurity الإصدار 4 (مُحوَّلة إلى YAML)
ModSecurity446قواعد مجتمعية لسمعة IP وDoS وتسريب البيانات
تصحيحات CVE739تصحيحات افتراضية مستهدفة لـ Log4Shell وSpring4Shell وMOVEit وغيرها
مخصصة13قوالب أمثلة لقواعد خاصة بالتطبيق

بالإضافة إلى ذلك، يتضمن PRX-WAF أكثر من 10 أدوات كشف مدمجة مُجمَّعة في الملف الثنائي:

  • حقن SQL (libinjection + regex)
  • البرمجة النصية عبر المواقع (libinjection + regex)
  • تنفيذ الأوامر عن بُعد / حقن الأوامر
  • تضمين الملفات المحلي/البعيد
  • تزوير الطلبات من جانب الخادم (SSRF)
  • تجاوز المسار/الدليل
  • كشف الماسحات (Nmap وNikto وغيرها)
  • كشف الروبوتات (الروبوتات الضارة وزاحفات الذكاء الاصطناعي والمتصفحات بلا رأس)
  • كشف انتهاكات البروتوكول
  • كشف الكلمات الحساسة (مطابقة متعددة الأنماط بـ Aho-Corasick)

تنسيقات القواعد

يدعم PRX-WAF ثلاثة تنسيقات لملفات القواعد:

التنسيقالامتدادالوصف
YAML.yaml، .ymlالتنسيق الأصلي لـ PRX-WAF (موصى به)
ModSecurity.confتوجيهات SecRule (مجموعة فرعية أساسية: ARGS وREQUEST_HEADERS وREQUEST_URI وREQUEST_BODY)
JSON.jsonمصفوفة JSON من كائنات القواعد

راجع بنية YAML للحصول على مرجع المخطط الكامل.

مستويات الذعر

تُعلن كل قاعدة عن مستوى ذعر (1-4) يتحكم في مدى عدوانية المطابقة. تلتقط المستويات الأعلى هجمات أكثر لكنها تزيد من خطر النتائج الإيجابية الخاطئة.

المستوىالاسمالوصفخطر النتائج الإيجابية الخاطئة
1الافتراضيقواعد عالية الثقة وآمنة للإنتاجمنخفض جداً
2موصى بهتغطية أوسع مع مخاطر صغيرة للنتائج الخاطئةمنخفض
3عدوانياستدلال مكثف يتطلب الضبطمتوسط
4الحد الأقصىكل شيء بما فيها الأنماط الافتراضيةعالٍ

TIP

ابدأ بمستوى الذعر 1 في الإنتاج. راقب السجلات واضبط الاستثناءات ثم فعِّل المستويات الأعلى تدريجياً.

إعادة التحميل الساخنة

يراقب PRX-WAF دليل rules/ لتغييرات الملفات ويُعيد تحميل القواعد تلقائياً عند إنشاء ملف أو تعديله أو حذفه. تسري التغييرات خلال نافذة debounce المُهيَّأة (الافتراضي: 500 ميلي ثانية).

يمكنك أيضاً تشغيل إعادة التحميل يدوياً:

bash
# عبر CLI
prx-waf rules reload

# عبر SIGHUP (Unix فقط)
kill -HUP $(pgrep prx-waf)

إعادة تحميل القواعد ذرية -- تستمر مجموعة القواعد القديمة في خدمة الحركة حتى تُجمَّع المجموعة الجديدة وتصبح جاهزة.

تخطيط الدليل

rules/
├── owasp-crs/          # OWASP CRS v4 (21 files, 310 rules)
│   ├── sqli.yaml       # SQL injection (CRS 942xxx)
│   ├── xss.yaml        # Cross-site scripting (CRS 941xxx)
│   ├── rce.yaml        # Remote code execution (CRS 932xxx)
│   └── ...
├── modsecurity/        # ModSecurity community rules
├── cve-patches/        # CVE virtual patches (Log4Shell, Spring4Shell, etc.)
├── custom/             # Your application-specific rules
└── tools/              # Rule validation and sync utilities

الخطوات التالية

Released under the Apache-2.0 License.