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

مرجع الإعداد

توثِّق هذه الصفحة كل مفتاح إعداد في ملف إعداد PRX-WAF بصيغة TOML. ملف الإعداد الافتراضي هو configs/default.toml.

إعدادات الوكيل ([proxy])

الإعدادات التي تتحكم في مُستمع الوكيل العكسي.

المفتاحالنوعالافتراضيالوصف
listen_addrstring"0.0.0.0:80"عنوان مُستمع HTTP
listen_addr_tlsstring"0.0.0.0:443"عنوان مُستمع HTTPS
worker_threadsinteger | nullnull (عدد وحدات CPU)عدد خيوط عمل الوكيل. عند null، يستخدم عدد أنوية CPU المنطقية.

إعدادات API ([api])

إعدادات واجهة برمجة الإدارة وواجهة المستخدم الإدارية.

المفتاحالنوعالافتراضيالوصف
listen_addrstring"127.0.0.1:9527"عنوان مُستمع API الإدارة + واجهة المستخدم. اربط بـ 127.0.0.1 في الإنتاج لتقييد الوصول على المضيف المحلي.

إعدادات التخزين ([storage])

اتصال قاعدة بيانات PostgreSQL.

المفتاحالنوعالافتراضيالوصف
database_urlstring"postgresql://prx_waf:[email protected]:5432/prx_waf"عنوان URL لاتصال PostgreSQL
max_connectionsinteger20الحد الأقصى لعدد اتصالات قاعدة البيانات في المجمع

إعدادات التخزين المؤقت ([cache])

إعداد تخزين الاستجابات المؤقت باستخدام ذاكرة تخزين مؤقت moka LRU في الذاكرة.

المفتاحالنوعالافتراضيالوصف
enabledbooleantrueتفعيل تخزين الاستجابات المؤقت
max_size_mbinteger256الحجم الأقصى للتخزين المؤقت بالميغابايت
default_ttl_secsinteger60مدة الصلاحية الافتراضية للاستجابات المخزَّنة مؤقتاً (بالثواني)
max_ttl_secsinteger3600الحد الأقصى لمدة الصلاحية (بالثواني). لا يمكن تخزين الاستجابات مؤقتاً لمدة أطول من هذه بغض النظر عن رؤوس الخادم الخلفي.

إعدادات HTTP/3 ([http3])

HTTP/3 عبر QUIC (مكتبة Quinn).

المفتاحالنوعالافتراضيالوصف
enabledbooleanfalseتفعيل دعم HTTP/3
listen_addrstring"0.0.0.0:443"عنوان مُستمع QUIC (UDP)
cert_pemstring--مسار شهادة TLS (تنسيق PEM)
key_pemstring--مسار مفتاح TLS الخاص (تنسيق PEM)

WARNING

يتطلب HTTP/3 شهادات TLS صالحة. يجب تعيين كلاً من cert_pem وkey_pem عند تعيين enabled = true.

إعدادات الأمن ([security])

إعداد أمن API الإدارة والوكيل.

المفتاحالنوعالافتراضيالوصف
admin_ip_allowliststring[][]قائمة IPs/CIDRs المسموح لها بالوصول إلى API الإدارة. فارغة تعني السماح للجميع.
max_request_body_bytesinteger10485760 (10 ميغابايت)الحجم الأقصى لجسم الطلب بالبايت. الطلبات التي تتجاوز هذا تُرفض بـ 413.
api_rate_limit_rpsinteger0حد معدل لكل IP لـ API الإدارة (طلب في الثانية). 0 يعني مُعطَّل.
cors_originsstring[][]مصادر CORS المسموح بها لـ API الإدارة. فارغة تعني السماح لجميع المصادر.

إعدادات القواعد ([rules])

إعداد محرك القواعد.

المفتاحالنوعالافتراضيالوصف
dirstring"rules/"الدليل الحاوي على ملفات القواعد
hot_reloadbooleantrueتفعيل مراقبة نظام الملفات لإعادة التحميل التلقائية للقواعد
reload_debounce_msinteger500نافذة debounce لأحداث تغيير الملفات (بالميلي ثانية)
enable_builtin_owaspbooleantrueتفعيل قواعد OWASP CRS المدمجة
enable_builtin_botbooleantrueتفعيل قواعد كشف الروبوتات المدمجة
enable_builtin_scannerbooleantrueتفعيل قواعد كشف الماسحات المدمجة

مصادر القواعد ([[rules.sources]])

تهيئة مصادر قواعد متعددة (أدلة محلية أو URLs بعيدة):

المفتاحالنوعمطلوبالوصف
namestringنعماسم المصدر (مثل "custom" أو "owasp-crs")
pathstringلامسار الدليل المحلي
urlstringلاURL بعيد لجلب القواعد
formatstringنعمتنسيق القاعدة: "yaml" أو "json" أو "modsec"
update_intervalintegerلافترة التحديث التلقائي بالثواني (للمصادر البعيدة فقط)
toml
[[rules.sources]]
name   = "custom"
path   = "rules/custom/"
format = "yaml"

[[rules.sources]]
name            = "owasp-crs"
url             = "https://example.com/rules/owasp.yaml"
format          = "yaml"
update_interval = 86400

إعدادات CrowdSec ([crowdsec])

تكامل استخبارات تهديدات CrowdSec.

المفتاحالنوعالافتراضيالوصف
enabledbooleanfalseتفعيل تكامل CrowdSec
modestring"bouncer"وضع التكامل: "bouncer" أو "appsec" أو "both"
lapi_urlstring"http://127.0.0.1:8080"عنوان URL لـ CrowdSec LAPI
api_keystring""مفتاح API لـ Bouncer
update_frequency_secsinteger10فترة تحديث ذاكرة التخزين المؤقت للقرارات (بالثواني)
fallback_actionstring"allow"الإجراء عند عدم إمكانية الوصول إلى LAPI: "allow" أو "block" أو "log"
appsec_endpointstring--عنوان URL لنقطة نهاية فحص AppSec HTTP (اختياري)
appsec_keystring--مفتاح API لـ AppSec (اختياري)

إعداد المضيف ([[hosts]])

إدخالات المضيف الثابتة (يمكن أيضاً إدارتها عبر واجهة المستخدم الإدارية/API):

المفتاحالنوعمطلوبالوصف
hoststringنعماسم النطاق للمطابقة
portintegerنعممنفذ الاستماع (عادةً 80 أو 443)
remote_hoststringنعمIP أو اسم مضيف الخادم الخلفي الخارج
remote_portintegerنعممنفذ الخادم الخلفي الخارج
sslbooleanلااستخدام HTTPS للخادم الخلفي (الافتراضي: false)
guard_statusbooleanلاتفعيل حماية WAF لهذا المضيف (الافتراضي: true)

إعدادات الكتلة ([cluster])

إعداد الكتلة متعددة العقد. راجع وضع الكتلة للتفاصيل.

المفتاحالنوعالافتراضيالوصف
enabledbooleanfalseتفعيل وضع الكتلة
node_idstring"" (تلقائي)معرِّف عقدة فريد. يُنشَأ تلقائياً إذا كان فارغاً.
rolestring"auto"دور العقدة: "auto" أو "main" أو "worker"
listen_addrstring"0.0.0.0:16851"عنوان استماع QUIC للاتصال بين العقد
seedsstring[][]عناوين العقد الأولية للانضمام إلى الكتلة

تشفير الكتلة ([cluster.crypto])

المفتاحالنوعالافتراضيالوصف
ca_certstring--مسار شهادة CA (PEM)
ca_keystring--مسار المفتاح الخاص لـ CA (العقدة الرئيسية فقط)
node_certstring--مسار شهادة العقدة (PEM)
node_keystring--مسار المفتاح الخاص للعقدة (PEM)
auto_generatebooleantrueإنشاء الشهادات تلقائياً عند أول تشغيل
ca_validity_daysinteger3650صلاحية شهادة CA (بالأيام)
node_validity_daysinteger365صلاحية شهادة العقدة (بالأيام)
renewal_before_daysinteger7تجديد تلقائي بهذا العدد من الأيام قبل انتهاء الصلاحية

مزامنة الكتلة ([cluster.sync])

المفتاحالنوعالافتراضيالوصف
rules_interval_secsinteger10فترة التحقق من إصدار القاعدة
config_interval_secsinteger30فترة مزامنة الإعداد
events_batch_sizeinteger100تفريغ دفعة الأحداث عند هذا العدد
events_flush_interval_secsinteger5تفريغ الأحداث حتى لو لم تمتلئ الدفعة
stats_interval_secsinteger10فترة الإبلاغ عن الإحصاءات
events_queue_sizeinteger10000حجم قائمة انتظار الأحداث (يُسقط الأقدم عند الامتلاء)

انتخاب الكتلة ([cluster.election])

المفتاحالنوعالافتراضيالوصف
timeout_min_msinteger150الحد الأدنى لمهلة الانتخاب (بالميلي ثانية)
timeout_max_msinteger300الحد الأقصى لمهلة الانتخاب (بالميلي ثانية)
heartbeat_interval_msinteger50فترة نبضة القلب من العقدة الرئيسية إلى العمال (بالميلي ثانية)
phi_suspectfloat8.0عتبة الشك لكاشف فشل phi accrual
phi_deadfloat12.0عتبة الموت لكاشف فشل phi accrual

صحة الكتلة ([cluster.health])

المفتاحالنوعالافتراضيالوصف
check_interval_secsinteger5تكرار فحص الصحة
max_missed_heartbeatsinteger3وسم النظير بأنه غير صحي بعد N من الإغفالات

الإعداد الافتراضي الكامل

للمرجع، راجع ملف default.toml في المستودع.

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

Released under the Apache-2.0 License.