حماية أمان جدار حماية تطبيقات الويب لتطبيقات HTTP وHTTPS

عرض الفئات

حماية أمان جدار حماية تطبيقات الويب لتطبيقات HTTP وHTTPS

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

نظرة عامة #

توضح المقالة التالية حالة استخدام حقيقية لمزود خدمة الإنترنت أو موفر الاستضافة، حيث يكون الوكيل العكسي HTTP/S Load Balancer هو النقطة الرئيسية للوصول إلى جميع خدمات الويب العامة، ويوضح هذا التكوين مدى سهولة تكوين WAF متقدم وقوي مجموعة القواعد من أجل تأمين تطبيقات الويب بناءً على عناوين IP لمصدر القائمة السوداء، حيث يكون كل منها VirtualHost تدير قائمتها السوداء الخاصة بطريقة يمكن من خلالها منع عنوان IP عام واحد من الاتصال بمجال ويب مثل www.company1.com ولكن يسمح للاتصال www.company2.com.

سنركز المقال في قسمين، في القسم الرئيسي سيعمل تكوين ملف تعريف HTTPS كوكيل عكسي مع قائمة من الخدمات المختلفة، وسيشرح القسم الثاني كيفية تكوين ملف تعريف HTTPS تطبيق الويب جدار الحماية مجموعة القواعد التي ستدير قائمة سوداء مختلفة لكل خدمة HTTP/S.

البيئة #

ويوضح الرسم البياني التالي RELIANOID WAF الداخلية. كما هو موضح، الطبقة الأولى هي وحدة WAF التي يتمثل هدفها في التأكد في مرحلة مبكرة من السماح للطلبات الآمنة فقط بالمرور إلى وحدة موازنة التحميل ثم إعادة توجيه الطلب إلى الواجهات الخلفية.

أولاً، HTTP مضيف يتم تقييم الرأس والتحقق من عنوان IP الخاص بالعميل في القائمة السوداء التي تم تكوينها بالفعل. إذا مضيف يتطابق الرأس وعنوان IP الخاص بالعميل ثم يتم إسقاط الاتصال و 403 المحرمة يتم إرسال استجابة HTTP إلى العميل، ولكن في حالة طلب IP الخاص بالعميل مضيف إذا لم يتطابق الرأس، فسيتم تحديد حركة المرور على أنها ليست ضارة وتم تمريرها إلى وحدة موازن التحميل، حيث يتم اختيار الوجهة بناءً على طلب HTTP مضيف رأس وأخيرًا تمت إعادة توجيهه إلى خادم الواجهة الخلفية المتاح.

يمكنك هنا العثور على مخطط للأجزاء الداخلية لجدار حماية تطبيق الويب للمثال المحدد.

RELIANOID اي بي دي اس واف

تكوين خدمة HTTP الافتراضية #

تكوين واحد مخصص عنوان IP الظاهري، في مثالنا 192.168.100.58، من خلال التصفح إلى الشبكة > الواجهات الافتراضية > إنشاء واجهة افتراضية كما هو مبين أدناه:

RELIANOID إنشاء VIP

الآن دعنا ننتقل إلى تكوين خدمة موازنة تحميل HTTP، انتقل إلى LSLB > المزارع ثم انقر فوق الزر إنشاء مزرعة وأدخل تفاصيل الخدمة الافتراضية كما هو موضح أدناه:

RELIANOID إنشاء استضافة مزرعة HTTP

ثم اضغط إنشاء.

الآن انقر على علامة التبويب العلوية الخدمات وإنشاء العديد من الخدمات مثل مواقع الويب المختلفة التي تديرها، انقر فوق الزر خدمة جديدة، في حالتنا، سنقوم بإنشاء خدمتين مختلفتين، واحدة لإدارة الخدمة من أجلها www.mycompany1.com وواحد آخر ل www.mycompany2.com.

RELIANOID إنشاء خدمة HTTP

بمجرد إنشاء الخدمة، قم بإضافة استضافة افتراضية التصفية والواجهات الخلفية كما هو موضح في الصورة أدناه.

RELIANOID تكوين خدمات HTTP

إذا كان لديك عدة مواقع ويب، فما عليك سوى إضافة المزيد من الخدمات لتحديد خدمة واحدة مخصصة لإدارة كل موقع ويب من نفس عنوان IP.

الآن تم الانتهاء من تكوين موازنة التحميل، فلنتمكن من تكوين وحدة جدار حماية تطبيق ويب IPDS.

تكوين القوائم السوداء #

سنقوم بإنشاء قائمة سوداء واحدة لكل خدمة ويب لإدخال عناوين IP المطلوبة في كل قائمة سوداء لمنع الوصول. في مثالنا، سنقوم بإنشاء قائمتين أسودتين مختلفتين بالاسم القائمة السوداءmycompany1 و القائمة السوداءmycompany2، واحد لكل خدمة على التوالي.

RELIANOID القائمة السوداء IPDS1

سيتم حفظ هذه القائمة السوداء في المسار /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistmycompany1.txt.

لقد قمنا بتضمين عنواني IP لأغراض الاختبار، يرجى التفكير في إضافة أي عدد من عناوين IP حسب الحاجة. وكذلك الموجود بالفعل القوائم السوداء في اي بي دي اس يمكن استخدام الوحدة.

RELIANOID إنشاء القائمة السوداء IPDS2

سيتم حفظ هذه القائمة السوداء الثانية في المسار /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistmycompany2.txt.

ضع في اعتبارك أننا قمنا بتضمين عنوان IP في هذه القائمة السوداء 192.168.1.191، سيتم استخدام عنوان IP هذا لأغراض الاختبار فقط، حيث سنقوم بتشغيل طلبات HTTP.

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

الغرض من هذا التكوين هو الاحتفاظ بقوائم سوداء مختلفة لعناوين IP لكل موقع ويب، وذلك لتجنب الاحتفاظ بنفس القائمة السوداء لنقطة وصول المزرعة بأكملها.

سنقوم بتكوين أ مجموعة الأوامر، وهي مجموعة من القواعد، بالاسم استضافة القائمة السوداء. ستتكون مجموعة القواعد هذه من قاعدتين بسيطتين (معرف القاعدة 1000 ومعرف القاعدة 1001 في مثالنا)، ويتم تعريف كل قاعدة على أنها مطابقة وإجراء، حيث إذا تطابق الشرط، فسيتم تنفيذ الإجراء. في مثالنا، سوف نستخدم نفس الإجراء في كلا القاعدتين، إذا كان الشرط يطابق أ رفض الإجراء يتم تنفيذه مع 403 تم رفض الوصول استجابة.

انتقل إلى البرنامج المساعد في التأليف إي بي دي إس > واف، ثم انقر على إنشاء مجموعة قواعد WAF وقم بتعيين اسم مجموعة قواعد وصفية، في مثالنا استضافة القائمة السوداء.

تكوين المجال المرحلة الافتراضية إلى يتم تلقي رؤوس الطلب. يعني هذا الحقل أن وحدة WAF ستقوم بتحليل رؤوس الطلبات الواردة من العميل.

RELIANOID IPDS إنشاء مجموعة قواعد WAF

ثم انتقل إلى علامة التبويب قوانيـن وإنشاء الأول قاعدة من النوع اكشن كما هو مبين أدناه.

RELIANOID IPDS إنشاء مجموعة قواعد WAF

الآن تم إنشاء القاعدة الأولى لمجموعة القواعد، لنتمكن من إنشاء الشروط لمطابقة عنوان IP للعميل في القائمة السوداء لكل منها مضيف header. اذهب إلى الشروط وإنشاء شرط وفقا ل REMOTE_ADDR المتغير كما هو موضح أدناه.

RELIANOID مطابقة القائمة السوداء IPDS

ثم قم بإنشاء شرط آخر لل استضافة افتراضية المباراة وفقا ل SERVER_NAME المتغير على النحو التالي:

RELIANOID تطابق IPDS SERVER_NAME

في هذه المرحلة، تم إنشاء أول موقع ويب مستضاف www.mycompany1.com يدير عنوان IP الخاص بالقائمة السوداء لتطبيق الويب من القائمة السوداء التي تم تكوينها بالفعل، والمشار إليها Blacklistmycompany1.txt.

لنقم بإنشاء قاعدة أخرى للموقع الثاني www.mycompany2.com وكرر نفس التكوين مثل تكوين القاعدة السابقة ولكن في هذه الحالة، عليك تغيير SERVER_NAME إلى mycompany2.com وقم بالرجوع إلى ما يلي القائمة السوداء2.txt.

راجع التكوين الكامل لمجموعة قواعد WAF المركبة:

RELIANOID IPDS WAF تكوين مجموعة القواعد بالكامل

أخيرًا، أضف مجموعة القواعد هذه إلى المزرعة التي تم إنشاؤها بالفعل، وانتقل إلى علامة التبويب المزارع وتحريك المزرعة استضافة، في مثالنا، إلى المزارع الممكنة القسم كما هو موضح أدناه.

RELIANOID IPDS WAF - تخصيص المزرعة

الآن ابدأ مجموعة قواعد WAF للمزرعة، وانقر فوق الإجراء بلايستشن في الجزء العلوي الأيسر من هذه النافذة، وسيبدأ النظام في تصفية حركة مرور HTTP للمزرعة استضافة.

اختبار مجموعة قواعد جدار حماية تطبيق الويب #

IP العميل 192.168.1.191 سوف يطلب الموقع http://www.mycompany1.com و http://www.mycompany2.com ووفقًا للتكوين الخاص بنا، سيسمح نظام WAF بالاتصال بالخدمة الأولى التي تحمل الاسم نفسه ولكن سيتم رفض الاتصال mycompany2.com لأنه تم إدراج عنوان IP هذا في القائمة السوداء بالاسم القائمة السوداءmycompany2.

من عنوان IP 192.168.1.191 إلى VIP الذي يطلب موقع الويب www.mycompany1.com من خلال موازن التحميل:

root@192.168.1.191:# الضفيرة -H "المضيف: www.mycompany1.com" http://192.168.100.58 -v * إعادة إنشاء عنوان URL إلى: http://192.168.100.58/ * تجربة 192.168.100.58... * مجموعة TCP_NODELAY * متصل بالمنفذ 192.168.100.58 (192.168.100.58) 80 (#0) > GET / HTTP/1.1 > المضيف: www.mycompany1.com > وكيل المستخدم: curl/7.52.1 > قبول: */* > HTTP / 1.1 200 OK
< الخادم: nginx/1.10.3 < التاريخ: الثلاثاء، 10 سبتمبر 2019 15:36:22 بتوقيت جرينتش < نوع المحتوى: نص/html < طول المحتوى: 11383 < آخر تعديل: الخميس، 13 ديسمبر 2018 11:01: 49 بتوقيت جرينتش < الاتصال: البقاء على قيد الحياة < ETag: "5c123c1d-2c77" < قبول النطاقات: البايتات 

من عنوان IP 192.168.1.191 إلى VIP الذي يطلب موقع الويب www.mycompany2.com من خلال موازن التحميل:

root@192.168.1.191:# الضفيرة -H "المضيف: www.mycompany2.com" http://192.168.100.58 -v * إعادة إنشاء عنوان URL إلى: http://192.168.100.58/ * تجربة 192.168.100.58... * مجموعة TCP_NODELAY * متصل بالمنفذ 192.168.100.58 (192.168.100.58) 80 (#0) > GET / HTTP/1.1 > المضيف: www.mycompany2.com > وكيل المستخدم: curl/7.52.1 > قبول: */* > * HTTP 1.0، افترض أنه قريب من النص HTTP/1.0 403 الطلب محظور
< نوع المحتوى: نص/html < طول المحتوى: 17 < انتهاء الصلاحية: الآن < براغما: لا يوجد ذاكرة تخزين مؤقت < التحكم في ذاكرة التخزين المؤقت: لا يوجد ذاكرة تخزين مؤقت، لا يوجد مخزن < * Curl_http_done: يسمى سابق لأوانه == 0 * إغلاق الاتصال 0 تم الرد ممنوعp

بمجرد ممنوع يتم إنشاء استجابة، تقوم وحدة WAF بإعلام الرفض في ملف Syslog لموازن التحميل.

root@zva6000:# tail -f /var/log/syslog 10 سبتمبر 15:38:44 zva6000 pounds: الاستضافة، ModSecurity: تحذير. تمت مطابقة "المشغل `StrMatch' مع المعلمة `mycompany2.com' مع المتغير `SERVER_NAME' (القيمة: `www.mycompany2.com' ) [ملف "/usr/local/relianoid/config/ipds/waf/sets/HostingBlacklisting.conf"] [السطر "17"] [المعرف "1001"] [المراجعة ""] [الرسالة "مطابقة مخصصة 2"] [البيانات ""] [درجة الخطورة "0"] [الإصدار ""] [النضج "0"] [الدقة "0"] [اسم المضيف "192.168.100.58"] [uri "/"] [معرف فريد "156812992458.770641"] [مرجع "v0,13v21,18"] 10 سبتمبر 15:38:44 zva6000 pounds: Hosting, [WAF,service mycompany2, backend 192.168.100.22:80,] (7f6cfac3c700) [client 192.168.1.191] ModSecurity: تم رفض الوصول بالرمز 403 (المرحلة 1). تم مطابقة "المشغل `StrMatch' مع المعلمة `mycompany2.com' مع المتغير `SERVER_NAME' (القيمة: `www.mycompany2.com' ) [file "/usr/local/relianoid/config/ipds/waf/sets/HostingBlacklisting.conf"] [line "17"] [id "1001"] [rev ""] [msg "Custom Match 2"] [data ""] [severity "0"] [ver ""] [maturity "0"] [دقة "0"] [اسم المضيف "192.168.100.58"] [uri "/"] [معرف فريد "156812992458.770641"] [مرجع "v0,13v21,18"] 10 سبتمبر 15:38:44 zva6ktpl1 pounds: استضافة، خدمة mycompany2، واجهة خلفية 192.168.100.25:80، (7f6cfac3c700) رفض جدار حماية التطبيقات على الويب طلبًا من 192.168.1.191

يمكنك الآن إنشاء مجموعات قواعد جدار الحماية المخصصة الخاصة بك لحماية تطبيقات الويب الخاصة بك باستخدام تقنيات فحص الحزم العميقة لـ HTTP/S.

مقالات ذات صلة #

https://www.relianoid.com/knowledge-base/enterprise-edition/enterprise-edition-v6-0-administration-guide/v6-0-ipds-waf-update/

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

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