Observação:

Avalie o Impacto da Latência do Oracle Cloud Infrastructure Web Application Firewall no Oracle Cloud Infrastructure Load Balancer

Introdução

Neste tutorial, comparamos o impacto no desempenho do Oracle Cloud Infrastructure Web Application Firewall (OCI WAF) em um Balanceador de Carga do OCI usando o Siege, uma ferramenta de teste de carga HTTP(s) de alto desempenho.

Ao executar testes de Cerco no OCI Load Balancer com e sem o OCI WAF ativado, medimos as principais métricas de desempenho, como latência, throughput, taxa de transação e simultaneidade. O objetivo é entender a sobrecarga que o OCI WAF apresenta e determinar suas compensações entre segurança e desempenho.

Esse benchmarking ajudará a acessar se a ativação do OCI WAF afeta significativamente os tempos de resposta e se os benefícios da segurança adicional superam o custo de desempenho em um ambiente de alto tráfego.

Introdução

Neste tutorial, implantaremos um Balanceador de Carga do OCI privado com um OCI WAF regional anexado para analisar seu impacto na latência. A arquitetura consiste em:

Por que este tutorial é essencial?

A segurança e o desempenho são dois fatores críticos em aplicativos de nuvem modernos. Embora o OCI WAF ajude a proteger contra ameaças cibernéticas, ele pode introduzir latência adicional que afeta a experiência do usuário. Entender como o OCI WAF afeta o desempenho em um Balanceador de Carga da OCI com TLS de ponta a ponta é crucial para arquitetos e engenheiros que buscam otimizar a segurança e a capacidade de resposta.

Este tutorial fornece uma abordagem prática para medir a latência induzida pelo OCI WAF. Para obter mais informações sobre o OCI WAF, consulte OCI WAF.

O que é o Oracle Cloud Infrastructure Flexible Network Load Balancer?

Um balanceador de carga flexível no OCI é um serviço totalmente gerenciado que distribui automaticamente o tráfego HTTP, HTTPS e TCP entre vários servidores de backend. Ele fornece escalabilidade, alta disponibilidade e gerenciamento de tráfego sem exigir intervenção manual. O Balanceador de Carga de Rede Flexível da OCI pode ser facilmente configurado com terminação SSL/TLS, integração OCI WAF e recursos avançados de roteamento para atender às necessidades de aplicativos modernos. Para obter mais informações, consulte Oracle Cloud Infrastructure Flexible Network Load Balancer.

Arquitetura

Esse design de arquitetura ilustra uma máquina virtual (VM) cliente com base no utilitário de benchmark Siege HTTPS, conectando-se a um balanceador de carga privado que anexará um OCI WAF local/regional, com três servidores de backend Apache Tomcat diferentes usando HTTPS também. Testaremos o balanceador de carga com e sem o OCI WAF.

Arquitetura

Público-alvo

Este tutorial é para arquitetos de nuvem, engenheiros DevOps e profissionais de segurança que trabalham com o OCI Load Balancer e o OCI WAF. Se você precisar otimizar a segurança sem comprometer o desempenho, poderá usar este tutorial.

Objetivos

Pré-requisitos

Tarefa 1: Implantar Componente de Rede (VCN, Sub-redes, Balanceador de Carga do OCI e OCI WAF)

  1. Implante uma VCN (Virtual Cloud Network) com pelo menos três sub-redes (Siege, LB e WebTier) em sua tenancy, usando um IPv4 CIDR de sua escolha ou seguindo a arquitetura recomendada. Para obter mais informações, consulte:

  2. Implante um Balanceador de Carga de Rede Flexível do OCI com o WAF na sub-rede do Balanceador de Carga do OCI. Para obter mais informações, consulte:

Para este teste, carregamos a política de WAF do OCI com pelo menos 300 regras recomendadas de proteção da seguinte forma:

Regras de proteção do serviço WAF

Tarefa 2: Implantar a(s) VM(s) nas Sub-redes para Fins de Teste

Precisamos implantar a imagem do Oracle Linux 9 para instalar a ferramenta de benchmark HTTP chamada Siege, bem como o Apache Tomcat como servidores de backend posteriormente.

Consulte esta documentação para criar a VM: Implantando a Instância do OCI

Você precisará implantar uma VM para Cerco na sub-rede do cliente.

Tarefa 3: Instalar Cerco no Oracle Linux

  1. Ative o repositório Extra Packages for Enterprise Linux (EPEL) no seu Oracle Linux. Para obter mais informações, consulte Como Ativar o Repositório EPEL no Oracle Linux 8/9.

  2. Execute o seguinte comando como raiz para instalar o Siege.

    yum install siege
    

    instalando Cerco

  3. Execute o comando a seguir para verificar a versão do Cerco.

    siege -v
    

    Você deverá ver a versão atual do Cerco junto com outros comandos de ajuda.

Tarefa 4: Instalar o Apache Tomcat no Oracle Linux

Neste ponto, temos um Balanceador de Carga de Rede Flexível do OCI sem servidores de backend configurados. Agora, vamos instalar a versão Linux do Apache Tomcat no Oracle Linux 8 ou 9.

  1. Implante duas ou três VMs linux na sub-rede Web Private. Para obter mais informações, consulte Implantando a Instância do OCI.

  2. Instale o servidor Web Apache nessas VMs. Para obter mais informações, consulte Instalar o Servidor Web Apache e Instalando o Tomcat no Oracle Linux no Oracle Cloud.

  3. Depois de ter os servidores Web Apache ativos e em execução, certifique-se de que a sub-rede do Balanceador de Carga do OCI possa acessar a sub-rede privada da Web, permitindo tráfego HTTPS para a sub-rede privada da Web (porta 443) pela sub-rede do Balanceador de Carga do OCI. Agora, para adicionar os servidores de backend, consulte a etapa 8 da Tarefa 3: Configurar o OCI Load Balancer.

  4. Vá para a Console do OCI, navegue até Rede, Balanceadores de carga, Balanceador de carga, Detalhes do balanceador de carga, Conjuntos de backend, Detalhes do conjunto de backend e clique em Backends. Você deverá ver dois servidores de backend.

    Servidores Bacnend

    Agora, teste o desempenho do OCI Load Balancer com e sem o OCI WAF.

Tarefa 5: Análise de Benchmark de Cerco - Desempenho do Balanceador de Carga do OCI com e sem o OCI WAF

Agora, temos o OCI Load Balancer e o OCI WAF configurados junto com os servidores de backend. Precisamos tomar algumas etapas iniciais para permitir que o Siege funcione em conexões HTTPS.

Usamos um certificado de autoridade de certificação (CA) de laboratório para assinar os certificados de servidor instalados no OCI Load Balancer e nos servidores de backend. No entanto, só precisamos nos concentrar no certificado do servidor do Balanceador de Carga do OCI, pois o Balanceador de Carga do OCI encerrará a conexão TLS e estabelecerá uma segunda conexão TLS com os servidores de backend. Essa segunda conexão é transparente com o Siege (o cliente).

Por exemplo, o arquivo de certificado da CA é chamado my-ca.crt:

  1. Faça upload de my-ca.cert para sua máquina Linux e execute o comando sudo cp my-ca.crt /etc/pki/ca-trust/source/anchors/. Isso copiará a CA para o armazenamento de CA confiável.

  2. Execute o comando a seguir para atualizar o armazenamento de CA confiável.

    sudo update-ca-trust extract
    

    ou se você estiver usando o Oracle Linux 9,

    sudo update-ca-trust
    
  3. Execute o comando a seguir para verificar a instalação.

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

    e liste todos os certificados confiáveis.

    trust list | grep "my-ca"
    
  4. Agora, quando o Siege estabelecer conexão com o OCI Load Balancer por meio de HTTPS, ele poderá verificar o certificado recebido. Estamos usando www.fwtest.com como o Nome Comum (CN) e o Nome Alternativo do Assunto (SAN).

    Como não estamos usando um DNS privado, basta adicionar a seguinte entrada ao seu arquivo Linux /etc/hosts:

    IP privado do LB www.fwtest.com

    Por exemplo:

    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 obter o IP privado do seu balanceador de carga, navegue até Rede, Balanceadores de Carga, Balanceador de Carga e clique em Detalhes do Balanceador de Carga.

    instalando Cerco

  6. Se você quiser testar a conexão TLS, incluindo o certificado do servidor do Balanceador de Carga do OCI instalado antes, execute o seguinte comando:

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

    Você receberá algo como:

    Verificação de conexão LB

  7. Faça um primeiro teste com Siege, 250 clientes HTTPS simultâneos usando tamanhos de cabeçalho HTTP aleatórios.

    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\
    

    Agora, execute o mesmo comando sem o 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 do Desempenho do OCI WAF (Siege Benchmark)

Comparação de Métricas Principais:

Métrica Com o OCI WAF Sem o OCI WAF Impacto
Transações 237,238 238,843 -1,605 (-0.67%)
Disponibilidade (%) 100.00 100.00 Não há alteração
Tempo Decorrido (s) 60.79 60.54 +0.25s
Dados Transferidos (MB) 192.67 193.98 -1.31 MB (-0.68%)
Tempo de Resposta (ms) 27.81 17.97 +9.84 ms (+54.8%)
Taxa de Transação (trans/seg) 3,902.58 3,945.21 -42.63 trans/seg (-1.08%)
Throughput (MB/seg) 3.17 3.2 -0.03 MB/seg. (-0.94%)
Simultaneidade 108.51 70.88 +37,63 (53,1% maior com o OCI WAF)

Observações e principais conclusões:

Conclusão

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.

Confirmações

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.