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

एकीकरण

संपूर्ण आर्किटेक्चर

Section titled “संपूर्ण आर्किटेक्चर”

ट्रैफ़िक जनरेटर एक मल्टी-लेयर डेमो वातावरण में एक घटक है। जब सभी घटक तैनात होते हैं तो संपूर्ण आर्किटेक्चर इस प्रकार होता है:

Traffic Generator -> F5 XC HTTP LB (WAF/Bot/API/CSD) -> Origin Server
|
CDN Simulator (optional)
graph LR
    TG[Traffic Generator VM] -->|Attack Traffic<br/>HTTPS| XCHLB[F5 XC HTTP LB]
    XCHLB -->|WAF / Bot / API / CSD| ORIGIN[Origin Server VM<br/>Juice Shop, DVWA,<br/>VAmPI, httpbin, whoami]
    CDN[CDN Simulator<br/>optional] -->|Cached Requests| XCHLB
    TG -.->|Direct Baseline<br/>HTTP optional| ORIGIN

प्रत्येक घटक को Terraform के माध्यम से स्वतंत्र रूप से तैनात और कॉन्फ़िगर किया जाता है। ट्रैफ़िक जनरेटर F5 XC लोड बैलेंसर FQDN को लक्षित करता है, न कि ऑरिजिन सर्वर को सीधे।

ऑरिजिन सर्वर एकीकरण

Section titled “ऑरिजिन सर्वर एकीकरण”

ऑरिजिन सर्वर बैकएंड एप्लिकेशन प्रदान करता है जिन्हें ट्रैफ़िक जनरेटर के अटैक सूट लक्षित करते हैं:

ट्रैफ़िक सूटऑरिजिन एप्लिकेशनपथ
api-attacksVAmPI/vampi/
bot-simulationसभी एप्लिकेशनसभी पथ
cdn-load-testingCDN सिम्युलेटरCDN एंडपॉइंट
crapi-exploitscrAPI/crapi/
csd-demo-attacksCSD डेमो/csd-demo/
dvga-exploitsDVGA/dvga/
dvwa-exploitsDVWA/dvwa/
javascript-exploitsCSD डेमो/csd-demo/
juice-shop-exploitsJuice Shop/juice-shop/
mitre-attackसभी एप्लिकेशनसभी पथ
owasp-scanningसभी एप्लिकेशनसभी पथ
performance-testingसभी एप्लिकेशनसभी पथ
reconnaissanceसभी एप्लिकेशनसभी पथ
restaurant-exploitsRestaurant API/restaurant/
ssl-scanningF5 XC LB (ऑरिजिन सीधे नहीं)N/A
traffic-generationसभी एप्लिकेशनसभी पथ
web-app-attacksJuice Shop, DVWA/juice-shop/, /dvwa/

डिप्लॉयमेंट क्रम

Section titled “डिप्लॉयमेंट क्रम”
  1. पहले ऑरिजिन सर्वर तैनात करें — यह बैकएंड एप्लिकेशन प्रदान करता है
  2. ऑरिजिन सर्वर को ऑरिजिन पूल के रूप में F5 XC HTTP लोड बैलेंसर कॉन्फ़िगर करें
  3. लोड बैलेंसर पर WAF, Bot Defense, API सुरक्षा, और CSD पॉलिसी संलग्न करें
  4. F5 XC LB डोमेन पर target_fqdn सेट करके ट्रैफ़िक जनरेटर तैनात करें

टार्गेटिंग कॉन्फ़िगरेशन

Section titled “टार्गेटिंग कॉन्फ़िगरेशन”

ट्रैफ़िक जनरेटर का config.env इसे शेष आर्किटेक्चर से जोड़ता है:

Terminal window
# Target the F5 XC load balancer (traffic passes through security policies)
TARGET_FQDN=demo.example.com
# Optional: target the origin server directly (bypasses F5 XC)
TARGET_ORIGIN_IP=20.10.5.100

जब TARGET_FQDN सेट होता है, तो सभी सूट स्क्रिप्ट https://<TARGET_FQDN>/... पर ट्रैफ़िक भेजती हैं। F5 XC लोड बैलेंसर अनुरोध प्राप्त करता है, सुरक्षा पॉलिसी लागू करता है, और अनुमत ट्रैफ़िक को ऑरिजिन सर्वर पर अग्रेषित करता है।

javascript-exploits सूट विशेष रूप से ऑरिजिन सर्वर पर क्लाइंट-साइड डिफेंस डेमो के लिए डिज़ाइन किया गया है। यह सूट CSD Phase 2 कार्यक्षमता को मान्य करता है:

Phase 2 प्रवाह:

  1. ऑरिजिन सर्वर CSD डेमो पेज को /csd-demo/ पर होस्ट करता है
  2. F5 XC CSD अपना मॉनिटरिंग JavaScript पेज में इंजेक्ट करता है
  3. ट्रैफ़िक जनरेटर का javascript-exploits सूट निम्नलिखित का प्रयास करता है:
    • इनलाइन स्क्रिप्ट इंजेक्ट करना जो Magecart स्किमर की नकल करती हैं
    • फॉर्म सबमिशन को रीडायरेक्ट करने के लिए DOM तत्वों को संशोधित करना
    • अनधिकृत थर्ड-पार्टी JavaScript लोड करना
  4. F5 XC CSD इन संशोधनों का पता लगाता है और उन्हें CSD डैशबोर्ड में रिपोर्ट करता है

javascript-exploits सूट उपयोग करने के लिए:

Terminal window
# Ensure CSD is enabled on the F5 XC HTTP LB for the /csd-demo/ path
# Then run the suite
/opt/traffic-generator/suites/runner.sh javascript-exploits

CDN सिम्युलेटर एकीकरण

Section titled “CDN सिम्युलेटर एकीकरण”

जब CDN सिम्युलेटर तैनात होता है, तो आर्किटेक्चर में एक कैशिंग लेयर जुड़ जाती है:

Traffic Generator -> CDN Simulator -> F5 XC HTTP LB -> Origin Server

CDN सिम्युलेटर F5 XC लोड बैलेंसर के सामने स्थित होता है, प्रतिक्रियाओं को कैश करता है और CDN-जैसे हेडर जोड़ता है। CDN के माध्यम से ट्रैफ़िक लक्षित करने के लिए:

Terminal window
# Set TARGET_FQDN to the CDN Simulator's endpoint instead of F5 XC directly
TARGET_FQDN=cdn.demo.example.com

यह प्रदर्शित करने के लिए उपयोगी है कि F5 XC CDN के माध्यम से आने वाले ट्रैफ़िक को कैसे संभालता है, जिसमें शामिल हैं:

  • CDN प्रॉक्सी हेडर के पीछे वास्तविक क्लाइंट IP की पहचान करना
  • उन अनुरोधों पर WAF नियम लागू करना जिन्हें CDN ने संशोधित किया हो
  • जब CDN ब्राउज़र फिंगरप्रिंट संशोधित करता है तो Bot उन्नत रक्षा वर्गीकरण

डायरेक्ट बनाम LB ट्रैफ़िक तुलना

Section titled “डायरेक्ट बनाम LB ट्रैफ़िक तुलना”

ट्रैफ़िक जनरेटर F5 XC के माध्यम से और ऑरिजिन को सीधे दोनों तरह से ट्रैफ़िक भेजने का समर्थन करता है। यह तुलना F5 XC सुरक्षा सुविधाओं का मूल्य प्रदर्शित करती है:

F5 XC के माध्यम से (डिफ़ॉल्ट)

Section titled “F5 XC के माध्यम से (डिफ़ॉल्ट)”
Terminal window
# Traffic goes: Generator -> F5 XC LB -> Origin
TARGET_FQDN=demo.example.com /opt/traffic-generator/suites/runner.sh web-app-attacks

अपेक्षित: WAF SQL इंजेक्शन, XSS, और कमांड इंजेक्शन पेलोड को ब्लॉक करता है। सुरक्षा इवेंट डैशबोर्ड उल्लंघन विवरण के साथ ब्लॉक किए गए अनुरोध दिखाता है।

ऑरिजिन पर सीधे (बेसलाइन)

Section titled “ऑरिजिन पर सीधे (बेसलाइन)”
Terminal window
# Traffic goes: Generator -> Origin (no security layer)
TARGET_FQDN=20.10.5.100 /opt/traffic-generator/suites/runner.sh web-app-attacks

अपेक्षित: सभी पेलोड बिना फ़िल्टर किए ऑरिजिन एप्लिकेशन तक पहुँचते हैं। Juice Shop और DVWA अटैक पेलोड को प्रोसेस करते हैं। यह प्रदर्शित करता है कि F5 XC सुरक्षा के बिना क्या होता है।

साइड-बाय-साइड डेमो प्रवाह

Section titled “साइड-बाय-साइड डेमो प्रवाह”

एक प्रभावशाली डेमो के लिए, एक ही सूट को दोनों तरीकों से चलाएं:

  1. ऑरिजिन के विरुद्ध सीधे web-app-attacks चलाएं — दिखाएं कि अटैक सफल होते हैं
  2. F5 XC के माध्यम से web-app-attacks चलाएं — दिखाएं कि अटैक ब्लॉक होते हैं
  3. ब्लॉक किए गए अनुरोध प्रदर्शित करने के लिए F5 XC सुरक्षा इवेंट डैशबोर्ड खोलें
  4. सूट meta.json परिणामों की तुलना करें: डायरेक्ट रन में अधिक “passed” (अटैक सफल) दिखते हैं, LB रन में अधिक “failed” (अटैक ब्लॉक) दिखते हैं
Terminal window
TGEN_IP=$(terraform output -raw public_ip)
ORIGIN_IP="20.10.5.100"
LB_FQDN="demo.example.com"
# Run 1: Direct (baseline)
ssh azureuser@${TGEN_IP} "TARGET_FQDN=${ORIGIN_IP} /opt/traffic-generator/suites/runner.sh web-app-attacks"
# Run 2: Through F5 XC
ssh azureuser@${TGEN_IP} "TARGET_FQDN=${LB_FQDN} /opt/traffic-generator/suites/runner.sh web-app-attacks"
# Compare results
ssh azureuser@${TGEN_IP} 'for d in $(ls -t /opt/traffic-generator/results/ | head -2); do echo "=== $d ==="; cat /opt/traffic-generator/results/$d/meta.json; echo; done'

मल्टी-कॉम्पोनेंट Terraform डिप्लॉयमेंट

Section titled “मल्टी-कॉम्पोनेंट Terraform डिप्लॉयमेंट”

संपूर्ण लैब वातावरण तैनात करते समय, प्रत्येक घटक के लिए अलग Terraform वर्कस्पेस या डायरेक्टरी का उपयोग करें:

Terminal window
# 1. Deploy origin server
cd origin-server
terraform apply -var="subscription_id=YOUR_SUB_ID"
ORIGIN_IP=$(terraform output -raw public_ip)
# 2. Configure F5 XC (manual or via separate Terraform)
# Create origin pool -> HTTP LB -> attach WAF/Bot/API/CSD policies
# LB_FQDN=demo.example.com
# 3. Deploy traffic generator targeting the F5 XC LB
cd ../traffic-generator
terraform apply \
-var="subscription_id=YOUR_SUB_ID" \
-var="target_fqdn=demo.example.com" \
-var="target_origin_ip=${ORIGIN_IP}"
# 4. Generate traffic
TGEN_IP=$(terraform output -raw public_ip)
ssh azureuser@${TGEN_IP} '/opt/traffic-generator/suites/runner.sh web-app-attacks'