इसे छोड़कर कंटेंट पर जाएं

एकीकृत करें

F5 XC ऑरिजिन पूल एकीकरण

Section titled “F5 XC ऑरिजिन पूल एकीकरण”

यह ऑरिजिन सर्वर एक F5 Distributed Cloud HTTP लोड बैलेंसर के पीछे ऑरिजिन पूल सदस्य के रूप में उपयोग किए जाने के लिए डिज़ाइन किया गया है। F5 XC प्लेटफ़ॉर्म इस ऑरिजिन के सामने वेब ऐप फ़ायरवॉल (WAF), Bot Defense, API सुरक्षा, और क्लाइंट-साइड डिफेंस प्रदान करता है।

End User -> F5 XC HTTP LB (WAF/Bot/API/CSD) -> Origin Server VM (nginx -> Docker apps)

ऑरिजिन पूल कॉन्फ़िगरेशन

Section titled “ऑरिजिन पूल कॉन्फ़िगरेशन”

इस VM के सार्वजनिक IP की ओर इंगित करते हुए एक F5 XC ऑरिजिन पूल बनाएं:

सेटिंगमान
ऑरिजिन सर्वर प्रकारऑरिजिन सर्वर का सार्वजनिक IP
IP पता<terraform output public_ip>
पोर्ट80
हेल्थ चेकHTTP, पाथ /health

HTTP लोड बैलेंसर कॉन्फ़िगरेशन

Section titled “HTTP लोड बैलेंसर कॉन्फ़िगरेशन”

ऑरिजिन पूल के साथ एक HTTP लोड बैलेंसर बनाएं:

सेटिंगमान
डोमेनआपका डेमो डोमेन (जैसे, demo.example.com)
ऑरिजिन पूलऊपर बनाया गया पूल
WAFअपनी WAF नीति संलग्न करें
Bot Defenseआवश्यकतानुसार सक्षम करें
API DiscoveryVAmPI एंडपॉइंट के लिए सक्षम करें

पाथ-आधारित रूटिंग

Section titled “पाथ-आधारित रूटिंग”

प्रत्येक एप्लिकेशन लोड बैलेंसर के माध्यम से अपने पाथ प्रीफ़िक्स के द्वारा सुलभ है:

F5 XC LB URLऑरिजिन पाथएप्लिकेशन
https://demo.example.com/juice-shop//juice-shop/Juice Shop (4 इंस्टेंस, cookie sticky)
https://demo.example.com/dvwa//dvwa/DVWA (4 इंस्टेंस + MariaDB, cookie sticky)
https://demo.example.com/vampi//vampi/VAmPI (4 इंस्टेंस, ip_hash sticky)
https://demo.example.com/httpbin//httpbin/httpbin (4 इंस्टेंस, round-robin)
https://demo.example.com/whoami//whoami/अनुरोध डायग्नोस्टिक्स (4 इंस्टेंस)
https://demo.example.com/csd-demo//csd-demo/CSD Demo (4 इंस्टेंस, ip_hash sticky)
https://demo.example.com/dvga//dvga/DVGA (4 इंस्टेंस, ip_hash sticky)
https://demo.example.com/restaurant//restaurant/RESTaurant (4 इंस्टेंस, round-robin)
https://demo.example.com/health/healthहेल्थ चेक (nginx direct)

F5 XC हेडर इंजेक्शन सत्यापित करें

Section titled “F5 XC हेडर इंजेक्शन सत्यापित करें”

whoami एंडपॉइंट का उपयोग करके सत्यापित करें कि F5 XC ऑरिजिन तक पहुँचने वाले अनुरोधों में कौन से हेडर इंजेक्ट करता है:

Terminal window
LB_DOMAIN="demo.example.com"
curl -sk "https://${LB_DOMAIN}/whoami/"

प्रतिक्रिया में इन F5 XC इंजेक्टेड हेडर की तलाश करें:

हेडरअर्थ
X-Forwarded-ForF5 XC के माध्यम से क्लाइंट IP चेन
True-Client-IPमूल क्लाइंट IP
X-Forwarded-Protohttps यदि TLS F5 XC पर समाप्त होता है
X-Volterra-Bot-TypeBot वर्गीकरण (जब Bot Defense सक्षम हो)
X-Request-IDF5 XC अनुरोध ट्रैकिंग ID

F5 XC के माध्यम से WAF परीक्षण

Section titled “F5 XC के माध्यम से WAF परीक्षण”

HTTP लोड बैलेंसर से जुड़ी WAF नीति के साथ, अटैक पेलोड का परीक्षण करें:

Terminal window
LB_DOMAIN="demo.example.com"
# SQL Injection (WAF द्वारा ब्लॉक किया जाना चाहिए)
curl -sk "https://${LB_DOMAIN}/dvwa/vulnerabilities/sqli/?id=%27+OR+1%3D1--&Submit=Submit"
# XSS (WAF द्वारा ब्लॉक किया जाना चाहिए)
curl -sk "https://${LB_DOMAIN}/juice-shop/rest/products/search?q=<script>alert(1)</script>"
# Command Injection (WAF द्वारा ब्लॉक किया जाना चाहिए)
curl -sk "https://${LB_DOMAIN}/dvwa/vulnerabilities/exec/" \
-d "ip=127.0.0.1;cat+/etc/passwd&Submit=Submit"
# सामान्य अनुरोध (पास होना चाहिए)
curl -sk "https://${LB_DOMAIN}/httpbin/get" | jq .

API सुरक्षा परीक्षण

Section titled “API सुरक्षा परीक्षण”

VAmPI के API एंडपॉइंट को मैप करने के लिए HTTP लोड बैलेंसर पर API Discovery सक्षम करें:

Terminal window
# ये अनुरोध F5 XC में API इन्वेंटरी बनाते हैं
curl -sk "https://${LB_DOMAIN}/vampi/users/v1"
curl -sk -X POST "https://${LB_DOMAIN}/vampi/users/v1/register" \
-H "Content-Type: application/json" \
-d '{"username":"apitest","password":"test123","email":"api@test.com"}'
curl -sk -X POST "https://${LB_DOMAIN}/vampi/users/v1/login" \
-H "Content-Type: application/json" \
-d '{"username":"apitest","password":"test123"}'

crAPI एकीकरण (पोर्ट 8888)

Section titled “crAPI एकीकरण (पोर्ट 8888)”

crAPI एक समर्पित पोर्ट (8888) पर चलता है क्योंकि यह एक सिंगल-पेज एप्लिकेशन है जो अपने API पाथ को हार्डकोड करता है और पाथ प्रीफ़िक्स के पीछे सर्व नहीं किया जा सकता। crAPI को F5 XC के साथ एकीकृत करने के लिए:

सेटिंगमान
ऑरिजिन सर्वर प्रकारऑरिजिन सर्वर का सार्वजनिक IP
IP पता<terraform output public_ip>
पोर्ट8888
हेल्थ चेकHTTP, पाथ /

पोर्ट 8888 पर crAPI के लिए एक अलग ऑरिजिन पूल बनाएं, या पोर्ट 8888 के साथ अपने मौजूदा पूल में दूसरा ऑरिजिन पूल सदस्य जोड़ें और ट्रैफ़िक निर्देशित करने के लिए रूट नियमों का उपयोग करें:

Terminal window
# F5 XC के माध्यम से crAPI का परीक्षण करें (यदि कॉन्फ़िगर किया गया है)
curl -sk "https://${LB_DOMAIN}:8888/"
# या यदि उसी LB डोमेन पर रूट नियमों का उपयोग कर रहे हैं:
# Host हेडर या पाथ प्रीफ़िक्स से मिलान करने वाला एक F5 XC रूट नियम कॉन्फ़िगर करें
# crAPI ऑरिजिन पूल (पोर्ट 8888) को ट्रैफ़िक अग्रेषित करने के लिए

स्टिकी सेशन जागरूकता

Section titled “स्टिकी सेशन जागरूकता”

ऑरिजिन सर्वर स्टेटफुल एप्लिकेशन को सुसंगत बैकएंड कंटेनर में रूट करने के लिए आंतरिक रूप से nginx स्टिकी सेशन का उपयोग करता है। F5 XC HTTP लोड बैलेंसर कॉन्फ़िगर करते समय, ध्यान रखें:

एप्लिकेशनस्टिकी विधिकारण
Juice Shophash $cookie_tokenNode.js सेशन स्टेट
DVWAhash $cookie_PHPSESSIDPHP सेशन स्टेट
VAmPIip_hashप्रति इंस्टेंस SQLite डेटाबेस
CSD Demoip_hashप्रति इंस्टेंस इन-मेमोरी एक्सफिल लॉग
DVGAip_hashप्रति इंस्टेंस SQLite डेटाबेस
RESTaurantRound-robinसाझा PostgreSQL बैकएंड
crAPI— (सिंगल पोर्ट 8888)7 माइक्रोसर्विस, PostgreSQL + MongoDB
httpbinRound-robinस्टेटलेस
whoamiRound-robinस्टेटलेस

F5 XC को इन स्टिकी सेशन को दोहराने की आवश्यकता नहीं है — ऑरिजिन VM पर nginx बैकएंड रूटिंग को संभालता है। F5 XC को ऑरिजिन को एकल एंडपॉइंट (पोर्ट 80 पर VM का सार्वजनिक IP) के रूप में मानना चाहिए।

मल्टी-कॉम्पोनेंट आर्किटेक्चर

Section titled “मल्टी-कॉम्पोनेंट आर्किटेक्चर”

CDN सिम्युलेटर के साथ संयुक्त होने पर, पूर्ण लैब आर्किटेक्चर इस प्रकार है:

End User -> CDN Simulator (nginx cache) -> F5 XC HTTP LB -> Origin Server (this component)

CDN सिम्युलेटर F5 XC HTTP लोड बैलेंसर VIP को अपने ऑरिजिन के रूप में उपयोग करता है, और F5 XC लोड बैलेंसर इस ऑरिजिन सर्वर को अपने बैकएंड के रूप में उपयोग करता है। यह व्यापक परीक्षण के लिए एक यथार्थवादी बहु-स्तरीय आर्किटेक्चर बनाता है।