Hinweis:

Latenzauswirkung von Oracle Cloud Infrastructure Web Application Firewall auf Oracle Cloud Infrastructure Load Balancer messen

Einführung

In diesem Tutorial vergleichen wir die Performanceauswirkungen von Oracle Cloud Infrastructure Web Application Firewall (OCI WAF) auf einen OCI Load Balancer mit Siege, einem leistungsstarken HTTP(s)-Lasttesttool.

Durch die Ausführung von Siege-Tests für den OCI Load Balancer mit und ohne OCI WAF-Aktivierung messen wir wichtige Performancemetriken wie Latenz, Durchsatz, Transaktionsrate und Nebenläufigkeit. Ziel ist es, zu verstehen, wie viel Gemeinkosten OCI WAF einführt, und die Kompromisse zwischen Sicherheit und Performance zu ermitteln.

Dieses Benchmarking hilft beim Zugriff darauf, ob sich die Aktivierung von OCI WAF erheblich auf die Reaktionszeiten auswirkt und ob die Vorteile der zusätzlichen Sicherheit die Performancekosten in einer Umgebung mit hohem Traffic überwiegen.

Einführung

In diesem Tutorial stellen wir einen privaten OCI Load Balancer mit einer angehängten regionalen OCI-WAF bereit, um die Auswirkungen auf die Latenz zu analysieren. Die Architektur besteht aus:

Warum ist dieses Tutorial unerlässlich?

Sicherheit und Performance sind zwei wichtige Faktoren in modernen Cloud-Anwendungen. OCI WAF schützt zwar vor Cyberbedrohungen, kann jedoch zusätzliche Latenzzeiten verursachen, die sich auf die Benutzererfahrung auswirken. Das Verständnis dafür, wie sich OCI WAF auf die Performance in einem OCI Load Balancer mit End-to-End-TLS auswirkt, ist für Architekten und Ingenieure von entscheidender Bedeutung, die sowohl Sicherheit als auch Reaktionsfähigkeit optimieren möchten.

Dieses Tutorial bietet einen praktischen Ansatz zur Messung der OCI WAF-induzierten Latenz. Weitere Informationen zu OCI WAF finden Sie unter OCI WAF.

Was ist Oracle Cloud Infrastructure Flexible Network Load Balancer?

Ein flexibler Load Balancer in OCI ist ein vollständig verwalteter Service, der HTTP-, HTTPS- und TCP-Traffic automatisch auf mehrere Backend-Server verteilt. Sie bietet Skalierbarkeit, High Availability und Trafficmanagement, ohne dass manuelle Eingriffe erforderlich sind. OCI Flexible Network Load Balancer kann einfach mit SSL-/TLS-Beendigung, OCI-WAF-Integration und erweiterten Routing-Features konfiguriert werden, um die Anforderungen moderner Anwendungen zu erfüllen. Weitere Informationen finden Sie unter Oracle Cloud Infrastructure Flexible Network Load Balancer.

Architektur

Dieses Architekturdesign veranschaulicht eine virtuelle Client-Maschine (VM), die auf dem Benchmark-Utility Siege HTTPS basiert und eine Verbindung zu einem privaten Load Balancer herstellt, der eine lokale/regionale OCI WAF anhängt, mit drei verschiedenen Apache Tomcat-Backend-Servern, die auch HTTPS verwenden. Wir testen den Load Balancer mit und ohne OCI WAF.

Architektur

Zielgruppe

Dieses Tutorial richtet sich an Cloud-Architekten, DevOps-Ingenieure und Sicherheitsexperten, die mit OCI Load Balancer und OCI WAF arbeiten. Wenn Sie die Sicherheit optimieren müssen, ohne die Performance zu beeinträchtigen, können Sie dieses Tutorial verwenden.

Ziele

Voraussetzungen

Aufgabe 1: Netzwerkkomponente bereitstellen (VCN, Subnetze, OCI Load Balancer und OCI WAF)

  1. Stellen Sie ein virtuelles Cloud-Netzwerk (VCN) mit mindestens drei Subnetzen (Siege, LB und WebTier) in Ihrem Mandanten bereit, indem Sie ein IPv4 CIDR Ihrer Wahl verwenden oder die empfohlene Architektur befolgen. Weitere Informationen:

  2. Stellen Sie einen OCI Flexible Network Load Balancer mit WAF im OCI Load Balancer-Subnetz bereit. Weitere Informationen:

Für diesen Test haben wir die OCI-WAF-Policy mit mindestens 300 empfohlenen Schutzregeln wie folgt geladen:

WAF-Schutzregeln

Aufgabe 2: VMs in den Subnetzen zu Testzwecken bereitstellen

Wir müssen das Oracle Linux 9-Image bereitstellen, um das HTTP-Benchmarktool Siege sowie den Apache Tomcat später als Backend-Server zu installieren.

In dieser Dokumentation finden Sie Informationen zum Erstellen einer VM: OCI-Instanz bereitstellen

Sie müssen eine VM für die Belagerung im Clientsubnetz bereitstellen.

Aufgabe 3: Belagerung auf Oracle Linux installieren

  1. Aktivieren Sie Extra Packages for Enterprise Linux-(EPEL-)Repository in Oracle Linux. Weitere Informationen finden Sie unter So aktivieren Sie EPEL Repository auf Oracle Linux 8/9.

  2. Führen Sie den folgenden Befehl als root aus, um Siege zu installieren.

    yum install siege
    

    Belagerung installieren

  3. Führen Sie den folgenden Befehl aus, um die Belagerungsversion zu prüfen.

    siege -v
    

    Sie sollten die aktuelle Belagerungsversion zusammen mit anderen Hilfebefehlen sehen.

Aufgabe 4: Apache Tomcat auf Oracle Linux installieren

Zu diesem Zeitpunkt haben wir einen OCI Flexible Network Load Balancer ohne konfigurierte Backend-Server. Jetzt installieren wir die Linux-Version von Apache Tomcat auf Oracle Linux 8 oder 9.

  1. Stellen Sie zwei oder drei Linux-VMs im privaten Web-Subnetz bereit. Weitere Informationen finden Sie unter OCI-Instanz bereitstellen.

  2. Installieren Sie den Apache-Webserver in diesen VMs. Weitere Informationen finden Sie unter Apache-Webserver installieren und Tomcat unter Oracle Linux in Oracle Cloud installieren.

  3. Wenn die Apache-Webserver ausgeführt werden, stellen Sie sicher, dass das OCI-Load-Balancer-Subnetz das private Websubnetz erreichen kann, sodass HTTPS-Traffic vom OCI-Load-Balancer-Subnetz zum privaten Websubnetz (Port 443) ermöglicht wird. Informationen zum Hinzufügen der Backend-Server finden Sie in Schritt 8 von Aufgabe 3: OCI Load Balancer konfigurieren.

  4. Gehen Sie zur OCI-Konsole, navigieren Sie zu Networking, Load Balancer, Load Balancer, Load-Balancer-Details, Backend-Sets, Backend-Setdetails, und klicken Sie auf Backends. Es werden zwei Backend-Server angezeigt.

    Bacnend-Server

    Testen Sie jetzt die OCI Load Balancer-Performance mit und ohne OCI WAF.

Aufgabe 5: Belagerungsbenchmarkanalyse – OCI Load Balancer-Performance mit und ohne OCI WAF

Jetzt haben wir den OCI Load Balancer und OCI WAF zusammen mit den Backend-Servern konfiguriert. Wir müssen einige erste Schritte unternehmen, damit Siege über HTTPS-Verbindungen arbeiten kann.

Wir haben ein Zertifizierungsstellen-(CA-)Zertifikat für Übungen verwendet, um die Serverzertifikate zu signieren, die auf dem OCI Load Balancer und den Backend-Servern installiert sind. Wir müssen uns jedoch nur auf das Serverzertifikat des OCI Load Balancers konzentrieren, da der OCI Load Balancer die TLS-Verbindung beendet und eine zweite TLS-Verbindung zu den Backend-Servern herstellt. Diese zweite Verbindung ist für Siege (den Client) transparent.

Beispiel: Die CA-Zertifikatsdatei heißt my-ca.crt:

  1. Laden Sie my-ca.cert auf den Linux-Rechner hoch, und führen Sie den Befehl sudo cp my-ca.crt /etc/pki/ca-trust/source/anchors/ aus. Dadurch wird die CA in den vertrauenswürdigen CA-Speicher kopiert.

  2. Führen Sie den folgenden Befehl aus, um den vertrauenswürdigen CA-Speicher zu aktualisieren.

    sudo update-ca-trust extract
    

    oder wenn Sie Oracle Linux 9 verwenden,

    sudo update-ca-trust
    
  3. Führen Sie den folgenden Befehl aus, um die Installation zu überprüfen.

    openssl verify /etc/pki/ca-trust/source/anchors/my-ca.crt
    

    und alle vertrauenswürdigen Zertifikate auflisten.

    trust list | grep "my-ca"
    
  4. Wenn Siege jetzt über HTTPS eine Verbindung zum OCI Load Balancer herstellt, kann es das empfangene Zertifikat prüfen. Wir verwenden www.fwtest.com als Common Name (CN) und Subject Alternative Name (SAN).

    Da wir kein privates DNS verwenden, fügen Sie einfach den folgenden Eintrag zu Ihrer Linux-Datei /etc/hosts hinzu:

    Private LB-IP www.fwtest.com

    Beispiel:

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4\
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6\
    192.168.4.99 linux9-siege-intravcntest-v2.siegesubnet.vcn1inter.oraclevcn.com linux9-siege-intravcntest-v2\
    192.168.6.237  www.fwtest.com  <--- Add this entry
    
  5. Um die private IP des Load Balancers abzurufen, navigieren Sie zu Networking, Load Balancer, Load Balancer, und klicken Sie auf Load-Balancer-Details.

    Belagerung installieren

  6. Wenn Sie die TLS-Verbindung testen möchten, einschließlich des OCI Load Balancer-Serverzertifikats, das Sie zuvor installiert haben, führen Sie den folgenden Befehl aus:

    openssl s_client -connect www.fwtest.com:443 -tls1_2
    

    Sie erhalten Folgendes:

    LB-Verbindungsprüfung

  7. Machen Sie einen ersten Test mit Siege, 250 gleichzeitigen HTTPS-Clients mit zufälligen HTTP-Headergrößen.

    siege -c 250  -t1m --header="User-Agent: $(head -c 500 </dev/urandom | base64)"  https://www.fwtest.com/request.php
    
    Lifting the server siege...\
    Transactions:              237238    hits\
    Availability:                 100.00 %\
    Elapsed time:                  60.79 secs\
    Data transferred:             192.67 MB\
    **Response time:                 27.81 ms**\
    **Transaction rate:            3902.58 trans/sec**\
    **Throughput:                     3.17 MB/sec**\
    Concurrency:                  108.51\
    **Successful transactions:   237421**\
    Failed transactions:            0\
    Longest transaction:          440.00 ms\
    Shortest transaction:           0.00 ms\
    

    Führen Sie jetzt denselben Befehl ohne OCI WAF aus.

    Lifting the server siege...
    Transactions:              238843    hits\
    Availability:                 100.00 %\
    Elapsed time:                  60.54 secs\
    Data transferred:             193.98 MB\
    **Response time:                 17.97 ms**\
    **Transaction rate:            3945.21 trans/sec**\
    **Throughput:                     3.20 MB/sec**\
    Concurrency:                   70.88\
    **Successful transactions:   239018**\
    Failed transactions:            0\
    Longest transaction:          540.00 ms\
    Shortest transaction:           0.00 ms\
    

Performanceauswirkungen von OCI WAF (Siege Benchmark)

Kennzahlenvergleich:

Metrik Mit OCI WAF Ohne OCI WAF Auswirkung
Transaktionen 237.238 238.843 -1.605 (-0,67%)
Verfügbarkeit (%) 100.00 100.00 Keine Änderung
Abgelaufene Zeit (s) 60,79 60,54 +0.25s
Übertragene Daten (MB) 192,67 193,98 -1.31 MB (-0.68%)
Antwortzeit (ms) 27,81 17,97 +9.84 ms (+54.8%)
Transaktionsrate (Trans./Sek.) 3.902,58 3.945,21 -42.63 Trans. (-1.08%)
Durchsatz (MB/s) 3,17 3,2 -0.03 MB/s (-0.94%)
Nebenläufigkeit 108,51 70,88 +37,63 (53,1% höher mit OCI WAF)

Beobachtungen und wichtige Erkenntnisse:

Schlussfolgerung

Note: The test results obtained using Siege depend highly on various factors, including network conditions, hardware/software configurations, and software settings specific to your environment. As such, these results may differ significantly from those in other environments. Do not use these results to make any definitive conclusions about the expected performance of your network or equipment. They should be considered as indicative rather than absolute measures of performance.

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.