نقل قيود حجم التحميل في F5 iRules إلى RELIANOID

عرض الفئات

نقل قيود حجم التحميل في F5 iRules إلى RELIANOID

3 دقائق للقراءة

نظرة عامة #

تشرح هذه المقالة كيفية ترحيل قاعدة iRule الخاصة بـ F5 BIG-IP المستخدمة لتقييد أحجام تحميل HTTP إلى RELIANOID باستخدام التكامل WAF (جدار حماية تطبيق الويب) مدعوم من ModSecurity و OWASP CRS.

تقوم قاعدة iRule الأصلية بالفحص:

  • طريقة HTTP (POST)
  • Content-Length رأس

ويحظر تحميل الملفات الأكبر من 200 MB باستخدام بروتوكول HTTP 413 Payload Too Large استجابة.

قاعدة F5 الأصلية #

عند إرسال طلب HTTP، إذا كان نوع الطلب POST، يتم تعيين قيمة `content_length` في ترويسة `Content-Length`. إذا كانت قيمة `content_length` لا تساوي "" وأكبر من 200000000، يتم رفض الطلبات التي يزيد حجمها عن 200 ميجابايت، ويتم إرسال رد HTTP برمز 413 مع رسالة "حجم التحميل يتجاوز الحد المسموح به". يتم تعطيل الحدث.

RELIANOID نهج الهجرة #

In RELIANOIDيمكن تنفيذ هذه الوظيفة باستخدام:

  • وحدة WAF / IPDS
  • قواعد ModSecurity
  • تكامل OWASP CRS

ويوفر هذا النهج:

  • تطبيق الأمن المركزي
  • تحسين تسجيل البيانات والرؤية
  • صيانة أسهل
  • فحص طلب HTTP الأصلي

النشر عبر مجموعة القواعد اليدوية #

RELIANOID مثال على تكوين جدار حماية تطبيقات الويب #

تحت المسار /usr/local/relianoid/config/ipds/waf/sets/ أنشئ ملف إعدادات بالمحتويات التالية:

## بدء تهيئة محرك قواعد الأمان SecRuleEngine on SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:1" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:2" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:3" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:4" ## نهاية تهيئة قاعدة الأمان REQUEST_METHOD "POST" \ "id:910001,\ phase:1,\ t:none,\ chain,\ deny,\ status:413,\ msg:'Upload size exceeds limit.',\ log" SecRule REQUEST_HEADERS:Content-Length "@gt 200000000"

كيف تعمل القاعدة #

تُنفذ القاعدة المنطق التالي:

REQUEST_METHOD "POST": يفحص طلبات POST فقط
REQUEST_HEADERS:Content-Lengthيقرأ حجم التحميل
@gt 200000000يتحقق مما إذا كان الحجم يتجاوز 200 ميجابايت
deny,status:413يرفض الطلب
msg:'Upload size exceeds limit.': يُنشئ رسالة سجل التدقيق

رسم خرائط السلوك المكافئ من F5 iRule إلى RELIANOID WAF #

HTTP::method: REQUEST_METHOD
HTTP::header "Content-Length": REQUEST_HEADERS:Content-Length
HTTP::respond 413: deny,status:413
event disable: Immediate WAF deny

النشر عبر واجهة المستخدم الرسومية #

يمكن أيضًا نشر هذا التكوين مباشرةً من خلال RELIANOID واجهة المستخدم على الويب.

مسار تكوين واجهة المستخدم الرسومية #

انتقل إلى IPDS > جدار حماية تطبيقات الويب > القواعد

ثم إنشاء مجموعة قواعد جدار حماية تطبيقات الويب (WAF) تحتوي على قاعدة بها شرطان كما هو موضح أدناه.

حد طول محتوى relanoid ipds waf

التحقق #

اختبر باستخدام CURL #

طلب مثال:

curl -k -X POST -H "Content-Length: 250000000" https://LB_VIP/upload -v

نتيجة متوقعة #

يجب أن تكون الاستجابة كالتالي:

HTTP/1.1 413 حجم البيانات كبير جدًا

ويجب حظر الطلب قبل وصوله إلى الواجهة الخلفية.

التحقق من صحة التسجيل #

تحقق من سجلات جدار حماية تطبيقات الويب (WAF) بحثاً عن:

حجم التحميل يتجاوز الحد المسموح به.

ملاحظات هامة #

الاعتماد على طول المحتوى #

تعتمد هذه القاعدة على إرسال العميل لبيانات صحيحة Content-Length رأس الصفحة. إذا كانت عمليات التحميل تستخدم ترميز النقل المجزأ أو عمليات التحميل المتدفقة، فقد يلزم توفير حماية إضافية.

تقييد عناوين URL محددة فقط #

يمكن ربط القاعدة بالتحقق من صحة عنوان URI.

على سبيل المثال:

SecRule REQUEST_URI "@beginsWith /upload"

فحص الجهاز #

القاعدة غير مفعلة #

التحقق:

  • تم تفعيل جدار حماية تطبيقات الويب (WAF) على المزرعة
  • تم إرفاق القاعدة بشكل صحيح
  • طريقة الطلب هي POST
  • يوجد رأس Content-Length

لا تزال عمليات التحميل تصل إلى الواجهة الخلفية #

الأسباب المحتملة:

  • لم يتم تطبيق WAF على المزرعة الصحيحة
  • مشكلة في بناء الجملة
  • يستخدم التحميل ترميزًا مجزأً

ايجابيات مزيفة #

قد تتطلب بعض التطبيقات بشكل مشروع تحميل ملفات كبيرة.

التوصية:

  • إنشاء استثناءات خاصة بالتطبيق
  • اضبط العتبات بعناية

أفضل الممارسات #

  • استخدم حدود التحميل الخاصة بالتطبيق
  • يمكن دمجها مع تحديد معدل نقل البيانات عند الإمكان
  • قم بمراقبة سجلات جدار حماية تطبيقات الويب (WAF) بانتظام
  • تجنب حدود التحميل العالية غير الضرورية
  • التحقق من صحة سلوك التحميل بعد النشر

ملخص #

يمكن نقل قواعد F5 iRules المستخدمة لتقييد أحجام التحميل إلى RELIANOID باستخدام قواعد WAF/ModSecurity الأصلية المدمجة مع OWASP CRS.

ويوفر هذا النهج:

  • مركزية إنفاذ السياسات
  • تحسين تسجيل البيانات والرؤية
  • سهولة التوسع
  • تقليل تعقيد البرمجة النصية
  • طلب فحص قائم على المعايير

📄 قم بتنزيل هذه الوثيقة بصيغة PDF #

    ُ:البريد الالكتروني *