محرك القواعد
يستخدم PRX-WAF محرك قواعد تصريحياً يعتمد على YAML لكشف هجمات الويب وحجبها. تصف القواعد ما يجب فحصه وكيفية المطابقة والإجراء الواجب اتخاذه. يُقيِّم المحرك كل طلب وارد مقابل جميع القواعد المُفعَّلة عبر 16 مرحلة كشف متسلسلة.
كيف تعمل القواعد
تتكون كل قاعدة من أربعة مكوِّنات رئيسية:
- الحقل -- أي جزء من الطلب يتم فحصه (المسار والاستعلام والجسم والرؤوس وغيرها)
- العامل -- كيفية مطابقة القيمة (regex وcontains وdetect_sqli وغيرها)
- القيمة -- النمط أو العتبة للمطابقة
- الإجراء -- ما يجب فعله عند تطابق القاعدة (حجب أو تسجيل أو سماح)
- 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 CRS | 21 | 310 | مجموعة القواعد الأساسية لـ OWASP ModSecurity الإصدار 4 (مُحوَّلة إلى YAML) |
| ModSecurity | 4 | 46 | قواعد مجتمعية لسمعة IP وDoS وتسريب البيانات |
| تصحيحات CVE | 7 | 39 | تصحيحات افتراضية مستهدفة لـ Log4Shell وSpring4Shell وMOVEit وغيرها |
| مخصصة | 1 | 3 | قوالب أمثلة لقواعد خاصة بالتطبيق |
بالإضافة إلى ذلك، يتضمن 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 ميلي ثانية).
يمكنك أيضاً تشغيل إعادة التحميل يدوياً:
# عبر 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الخطوات التالية
- بنية YAML -- مرجع مخطط القاعدة الكامل
- القواعد المدمجة -- تغطية تفصيلية لـ OWASP CRS وتصحيحات CVE
- القواعد المخصصة -- كتابة قواعد الكشف الخاصة بك