Nota

Misura l'impatto della latenza di Oracle Cloud Infrastructure Web Application Firewall su Oracle Cloud Infrastructure Load Balancer

Introduzione

In questa esercitazione viene confrontato l'impatto delle prestazioni di Oracle Cloud Infrastructure Web Application Firewall (OCI WAF) su un load balancer OCI utilizzando Siege, uno strumento di test del carico HTTP(s) ad alte prestazioni.

Eseguendo i test Siege su OCI Load Balancer con e senza OCI WAF abilitato, misuriamo le metriche delle prestazioni chiave come latenza, throughput, frequenza delle transazioni e concorrenza. L'obiettivo è capire quanto overhead OCI WAF introduce e determinare i suoi compromessi tra sicurezza e prestazioni.

Questo benchmarking consentirà di determinare se l'abilitazione di OCI WAF influisce in modo significativo sui tempi di risposta e se i vantaggi di una maggiore sicurezza superano i costi delle prestazioni in un ambiente a traffico elevato.

Introduzione

In questa esercitazione verrà distribuito un load balancer OCI privato con un WAF OCI regionale collegato per analizzarne l'impatto sulla latenza. L'architettura è composta da:

Perché questo tutorial è essenziale?

Sicurezza e performance sono due fattori fondamentali nelle moderne applicazioni cloud. Sebbene OCI WAF aiuti a proteggersi dalle minacce informatiche, può introdurre una latenza aggiuntiva che influisce sulla user experience. Capire in che modo OCI WAF influisce sulle prestazioni in un load balancer OCI con TLS end-to-end è fondamentale per architetti e ingegneri che mirano a ottimizzare sia la sicurezza che la reattività.

Questa esercitazione fornisce un approccio pratico per misurare la latenza indotta da WAF OCI. Per ulteriori informazioni su OCI WAF, consulta OCI WAF.

Che cos'è Oracle Cloud Infrastructure Flexible Network Load Balancer?

Un load balancer flessibile in OCI è un servizio completamente gestito che distribuisce automaticamente il traffico HTTP, HTTPS e TCP su più server backend. Offre scalabilità, alta disponibilità e gestione del traffico senza richiedere interventi manuali. Il load balancer di rete flessibile OCI può essere facilmente configurato con l'interruzione SSL/TLS, l'integrazione WAF OCI e le funzioni di instradamento avanzate per soddisfare le esigenze delle applicazioni moderne. Per ulteriori informazioni, consulta Oracle Cloud Infrastructure Flexible Network Load Balancer.

Architettura

Questa progettazione architettonica illustra una virtual machine (VM) client basata sulla utility benchmark HTTPS Siege, che si connette a un load balancer privato che collegherà un WAF OCI locale/regionale, con tre diversi server backend Apache Tomcat che utilizzano anche HTTPS. Testeremo il load balancer con e senza WAF OCI.

Architettura

Destinatari

Questa esercitazione è dedicata ad architetti cloud, ingegneri DevOps e professionisti della sicurezza che lavorano con OCI Load Balancer e OCI WAF. Se è necessario ottimizzare la sicurezza senza compromettere le prestazioni, è possibile utilizzare questa esercitazione.

Obiettivi

Prerequisiti

Task 1: Distribuisci componente di networking (VCN, subnet, load balancer OCI e WAF OCI)

  1. Distribuire una rete cloud virtuale (VCN) con almeno tre subnet (Siege, LB e WebTier) nella tenancy, utilizzando un CIDRIPv4 CIDR IPv4 di propria scelta o seguendo l'architettura consigliata. Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.

  2. Distribuisci un load balancer di rete flessibile OCI con WAF nella subnet del load balancer OCI. Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.

Per questo test, il criterio WAF OCI è stato caricato con almeno 300 regole di protezione consigliate, come indicato di seguito.

Regole di protezione WAF

Task 2: distribuire le VM nelle subnet per gli scopi di test

È necessario distribuire l'immagine Oracle Linux 9 per installare lo strumento di benchmark HTTP denominato Siege e Apache Tomcat come server backend in un secondo momento.

Fare riferimento a questa documentazione per creare una VM: Distribuzione dell'istanza OCI

Dovrai distribuire una VM for Siege nella subnet client.

Task 3: Installa Siege su Oracle Linux

  1. Abilita il repository EPEL (Extra Packages for Enterprise Linux) nel tuo Oracle Linux. Per ulteriori informazioni, vedere Come abilitare il repository EPEL su Oracle Linux 8/9.

  2. Eseguire il comando seguente come root per installare Siege.

    yum install siege
    

    installazione Siege

  3. Eseguire il comando seguente per verificare la versione dell'assedio.

    siege -v
    

    È necessario visualizzare la versione corrente dell'assedio insieme ad altri comandi della Guida.

Task 4: installare Apache Tomcat su Oracle Linux

A questo punto, disponiamo di un load balancer di rete flessibile OCI senza server backend configurati. Ora, installeremo la versione Linux di Apache Tomcat su Oracle Linux 8 o 9.

  1. Distribuisci due o tre VM linux nella subnet Web Private. Per ulteriori informazioni, vedere Distribuzione dell'istanza OCI.

  2. Installare il server Web Apache in tali VM. Per ulteriori informazioni, vedere Installazione del server Web Apache e Installazione di Tomcat su Oracle Linux in Oracle Cloud.

  3. Una volta che i Web server Apache sono attivi e in esecuzione, assicurati che la subnet del load balancer OCI possa raggiungere la subnet privata Web, consentendo il traffico HTTPS verso la subnet privata Web (porta 443) dalla subnet del load balancer OCI. Per aggiungere i server backend, fare riferimento al passo 8 del Task 3: configurare il load balancer OCI.

  4. Andare alla console OCI, accedere a Networking, Load balancer, Load balancer, Dettagli load balancer, Set backend, Dettagli set backend e fare clic su Backend. Dovrebbero essere visualizzati due server backend.

    Server Bacnend

    Ora puoi testare le prestazioni del load balancer OCI con e senza WAF OCI.

Task 5: Analisi del benchmark Siege - Prestazioni del load balancer OCI con e senza OCI WAF

Ora, OCI Load Balancer e OCI WAF sono configurati insieme ai server backend. È necessario eseguire alcuni passi iniziali per consentire a Siege di funzionare sulle connessioni HTTPS.

Abbiamo utilizzato un certificato CA (Lab Certification Authority) per firmare i certificati server installati su OCI Load Balancer e server backend. Tuttavia, dobbiamo concentrarci solo sul certificato server di OCI Load Balancer poiché OCI Load Balancer interromperà la connessione TLS e stabilirà una seconda connessione TLS ai server backend. Questa seconda connessione è trasparente a Siege (il cliente).

Ad esempio, il file del certificato CA è denominato my-ca.crt:

  1. Caricare my-ca.cert nel computer Linux ed eseguire il comando sudo cp my-ca.crt /etc/pki/ca-trust/source/anchors/. Questa operazione copierà la CA nell'archivio CA sicuro.

  2. Eseguire il comando seguente per aggiornare l'area di memorizzazione CA sicura.

    sudo update-ca-trust extract
    

    o se si utilizza Oracle Linux 9,

    sudo update-ca-trust
    
  3. Eseguire il comando seguente per verificare l'installazione.

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

    ed elencare tutti i certificati protetti.

    trust list | grep "my-ca"
    
  4. Ora, quando Siege si connette a OCI Load Balancer tramite HTTPS, sarà in grado di verificare il certificato ricevuto. Si sta utilizzando www.fwtest.com come nome comune (CN) e nome alternativo oggetto (SAN).

    Poiché non stiamo utilizzando un DNS privato, è sufficiente aggiungere la seguente voce al file Linux /etc/hosts:

    IP privato LB www.fwtest.com

    Ad esempio:

    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. Per ottenere l'IP privato del load balancer, andare a Networking, Load balancer, Load balancer e fare clic su Dettagli load balancer.

    installazione Siege

  6. Se si desidera eseguire il test della connessione TLS, incluso il certificato del server del load balancer OCI installato in precedenza, eseguire il comando seguente:

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

    Si otterrà qualcosa come:

    Controllo connessione LB

  7. Eseguire un primo test con Siege, 250 client HTTPS concorrenti utilizzando le dimensioni dell'intestazione HTTP casuale.

    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\
    

    Ora, esegui lo stesso comando senza WAF OCI.

    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\
    

Impatto sulle prestazioni di OCI WAF (benchmark Siebel)

Confronto metriche chiave:

Metrica Con OCI WAF Senza WAF OCI Impatto
Transazioni 237.238 238.843 -1.605 (-0,67%)
Disponibilità (%) 100.00 100.00 Nessuna modifica
Tempo trascorso (s) 60,79 60,54 +0.25s
Dati trasferiti (MB) 192,67 193,98 -1.31 MB (-0.68%)
Tempo di risposta (ms) 27,81 17,97 +9.84 ms (+54.8%)
Velocità transazione (trans/sec) 3.902,58 3.945,21 -42.63 trans/sec (-1.08%)
Throughput (MB/sec) 3,17 3,2 -0.03 MB/sec (-0.94%)
Accesso concorrente 108,51 70,88 +37,63 (53,1% in più con OCI WAF)

Osservazioni e punti chiave:

Conclusione

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.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.