Note:

Mida el impacto de latencia de Oracle Cloud Infrastructure Web Application Firewall en Oracle Cloud Infrastructure Load Balancer

Introducción

En este tutorial, analizamos el impacto en el rendimiento de Oracle Cloud Infrastructure Web Application Firewall (OCI WAF) en un equilibrador de carga de OCI mediante Siege, una herramienta de prueba de carga HTTP(s) de alto rendimiento.

Al ejecutar pruebas de Siege en OCI Load Balancer con y sin OCI WAF activado, medimos métricas clave de rendimiento como latencia, rendimiento, ratio de transacciones y simultaneidad. El objetivo es comprender cuánta sobrecarga introduce OCI WAF y determinar sus compensaciones entre seguridad y rendimiento.

Esta evaluación comparativa ayudará a acceder a si la activación de OCI WAF afecta significativamente a los tiempos de respuesta y si las ventajas de la seguridad adicional superan el costo de rendimiento en un entorno de alto tráfico.

Introducción

En este tutorial, desplegaremos un OCI Load Balancer privado con un OCI WAF regional asociado para analizar su impacto en la latencia. La arquitectura consta de:

¿Por qué es esencial este tutorial?

La seguridad y el rendimiento son dos factores fundamentales en las aplicaciones modernas en la nube. Aunque OCI WAF ayuda a protegerse contra las amenazas cibernéticas, puede introducir una latencia adicional que afecta a la experiencia del usuario. Comprender cómo OCI WAF afecta al rendimiento en un equilibrador de carga de OCI con TLS integral es crucial para los arquitectos e ingenieros que buscan optimizar tanto la seguridad como la capacidad de respuesta.

En este tutorial se proporciona un enfoque práctico para medir la latencia inducida por OCI WAF. Para obtener más información sobre OCI WAF, consulte OCI WAF.

¿Qué es Oracle Cloud Infrastructure Flexible Network Load Balancer?

Un equilibrador de carga flexible en OCI es un servicio totalmente gestionado que distribuye automáticamente el tráfico HTTP, HTTPS y TCP entre varios servidores backend. Proporciona escalabilidad, alta disponibilidad y gestión del tráfico sin necesidad de intervención manual. OCI Flexible Network Load Balancer se puede configurar fácilmente con terminación SSL/TLS, integración con OCI WAF y funciones de enrutamiento avanzadas para satisfacer las necesidades de las aplicaciones modernas. Para obtener más información, consulte Oracle Cloud Infrastructure Flexible Network Load Balancer.

Arquitectura

Este diseño arquitectónico ilustra una máquina virtual (VM) de cliente basada en la utilidad de referencia Siege HTTPS, que se conecta a un equilibrador de carga privado que asociará un OCI WAF local/región, con tres servidores backend Apache Tomcat diferentes que también utilizan HTTPS. Probaremos el equilibrador de carga con y sin OCI WAF.

Arquitectura

Público Objetivo

Este tutorial está dirigido a arquitectos de nube, ingenieros de DevOps y profesionales de seguridad que trabajan con OCI Load Balancer y OCI WAF. Si necesita optimizar la seguridad sin comprometer el rendimiento, puede utilizar este tutorial.

Objetivos

Requisitos

Tarea 1: Despliegue del componente de red (VCN, subredes, OCI Load Balancer y OCI WAF)

  1. Despliegue una red virtual en la nube (VCN) con al menos tres subredes (Siege, LB y WebTier) en su arrendamiento mediante un CIDRIPv4 CIDR IPv4 de su elección o siguiendo la arquitectura recomendada. Para obtener más información, consulte:

  2. Despliegue un equilibrador de carga de red flexible de OCI con WAF en la subred del equilibrador de carga de OCI. Para obtener más información, consulte:

Para esta prueba, hemos cargado la política de OCI WAF con al menos 300 reglas de protección recomendadas de la siguiente forma:

Reglas de protección de WAF

Tarea 2: Despliegue de las VM en las subredes para fines de prueba

Necesitamos desplegar la imagen de Oracle Linux 9 para instalar la herramienta de referencia HTTP denominada Siege, así como Apache Tomcat como servidores backend posteriormente.

Consulte esta documentación para crear la VM: Despliegue de la instancia de OCI

Tendrá que desplegar una VM para Siege en la subred del cliente.

Tarea 3: Instalación de Siege en Oracle Linux

  1. Active los paquetes adicionales para el repositorio de Enterprise Linux (EPEL) en Oracle Linux. Para obtener más información, consulte How To Enable EPEL Repository on Oracle Linux 8/9.

  2. Ejecute el siguiente comando como root para instalar Siege.

    yum install siege
    

    instalación de Siege

  3. Ejecute el siguiente comando para verificar la versión de Siege.

    siege -v
    

    Debe ver la versión actual de Siege junto con otros comandos de ayuda.

Tarea 4: Instalación de Apache Tomcat en Oracle Linux

En este punto, tenemos un equilibrador de carga de red flexible de OCI sin servidores de backend configurados. Ahora, instalaremos la versión de Linux de Apache Tomcat en Oracle Linux 8 o 9.

  1. Despliegue dos o tres máquinas virtuales de linux en la subred privada web. Para obtener más información, consulte Despliegue de la instancia de OCI.

  2. Instale el servidor web Apache en esas máquinas virtuales. Para obtener más información, consulte Instalación del servidor web Apache e Instalación de Tomcat en Oracle Linux en Oracle Cloud.

  3. Una vez que tenga los servidores web Apache activos y en ejecución, asegúrese de que la subred del equilibrador de carga de OCI pueda acceder a la subred privada web, lo que permite el tráfico HTTPS a la subred privada web (puerto 443) desde la subred del equilibrador de carga de OCI. Ahora, para agregar los servidores de backend, consulte el paso 8 de la Tarea 3: configurar OCI Load Balancer.

  4. Vaya a la consola de OCI, vaya a Networking, Equilibradores de carga, Equilibrador de carga, Detalles del equilibrador de carga, Juegos de backends, Detalles del juego de backends y haga clic en Backends. Debe ver dos servidores backend.

    Servidores Bacnend

    Ahora, prueba el rendimiento del equilibrador de carga de OCI con y sin OCI WAF.

Tarea 5: Análisis de referencia del sitio: rendimiento del equilibrador de carga de OCI con y sin OCI WAF

Ahora, tenemos OCI Load Balancer y OCI WAF configurados junto con los servidores de backend, debemos realizar algunos pasos iniciales para permitir que Siege funcione sobre conexiones HTTPS.

Hemos utilizado un certificado de autoridad de certificación (CA) de laboratorio para firmar los certificados de servidor instalados en OCI Load Balancer y los servidores backend. Sin embargo, solo necesitamos centrarnos en el certificado de servidor del equilibrador de carga de OCI, ya que el equilibrador de carga de OCI terminará la conexión TLS y establecerá una segunda conexión TLS a los servidores backend. Esta segunda conexión es transparente para Siege (el cliente).

Por ejemplo, el archivo de certificado de CA se denomina my-ca.crt:

  1. Cargue my-ca.cert en la máquina de Linux y ejecute el comando sudo cp my-ca.crt /etc/pki/ca-trust/source/anchors/. De esta forma, se copiará la CA en el almacén de CA de confianza.

  2. Ejecute el siguiente comando para actualizar el almacén de CA de confianza.

    sudo update-ca-trust extract
    

    o si utiliza Oracle Linux 9,

    sudo update-ca-trust
    
  3. Ejecute el siguiente comando para verificar la instalación.

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

    y enumere todos los certificados de confianza.

    trust list | grep "my-ca"
    
  4. Ahora, cuando Siege se conecte al equilibrador de carga de OCI a través de HTTPS, podrá verificar el certificado recibido. Estamos utilizando www.fwtest.com como nombre común (CN) y nombre alternativo de sujeto (SAN).

    Dado que no estamos utilizando un DNS privado, simplemente agregue la siguiente entrada a su archivo /etc/hosts de Linux:

    IP privada de LB www.fwtest.com

    Por ejemplo:

    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. Para obtener la IP privada del equilibrador de carga, vaya a Networking, Load Balancers, Load Balancer y haga clic en Load Balancer details.

    instalación de Siege

  6. Si desea probar la conexión TLS, incluido el certificado del servidor OCI Load Balancer que ha instalado antes, ejecute el siguiente comando:

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

    Obtendrá algo como:

    Comprobación de conexión de LB

  7. Realice una primera prueba con Siege, 250 clientes HTTPS simultáneos mediante tamaños de cabecera HTTP aleatorios.

    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\
    

    Ahora, ejecute el mismo comando sin OCI WAF.

    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\
    

Impacto en el rendimiento de OCI WAF (referencia de Siege)

Comparación de métricas clave:

Métrica Con OCI WAF Sin OCI WAF Impacto
Transacciones 237.238 238.843 -1.605 (-0,67%)
Disponibilidad (%) 100.00 100.00 Sin Cambios
Tiempo Transcurrido (s) 60,79 60,54 +0.25s
Datos transferidos (MB) 192,67 193,98 -1.31 MB (-0.68%)
Tiempo de Respuesta (ms) 27,81 17,97 +9.84 ms (+54.8%)
Ratio de transacciones (transacciones/seg) 3.902,58 3.945,21 -42.63 trans/s (-1.08%)
Rendimiento Global (MB/seg) 3,17 3,2 -0.03 MB/seg (-0.94%)
Simultaneidad 108,51 70,88 +37,63 (53,1 % más con OCI WAF)

Observaciones y conclusiones clave:

Conclusión

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.

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.