Ingerir Logs do Oracle Cloud Infrastructure WAF Usando Oracle Functions e Eventos

O Oracle Cloud Infrastructure (OCI) Web Application Firewall (WAF) é um serviço Oracle Cloud que protege seus aplicativos Web contra ameaças. Os logs estão disponíveis no WAF Service. Este documento descreve a arquitetura para compilar logs do WAF e encaminhar esses logs para o Log do OCI para consumo adicional por terceiros, como o Splunk.

Arquitetura

Esta arquitetura descreve como compilar logs do WAF e encaminhá-los para o Log do OCI para consumo adicional por terceiros, como o Splunk.

O diagrama a seguir ilustra essa arquitetura de referência.

A descrição de waf_logs_function_events.png é exibida a seguir
Descrição da ilustração waf_logs_function_events.png

A arquitetura tem os seguintes componentes:

  • Região

    Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, chamados domínios de disponibilidade. As regiões são independentes de outras regiões e vastas distâncias podem separá-las (entre países ou mesmo continentes).

  • Firewall do Aplicativo Web

    Um WAF (Web Application Firewall) filtra e monitora o tráfego HTTP entre uma aplicação Web e a Internet. É uma defesa de camada 7 de protocolo que protege aplicativos Web da maioria dos ataques maliciosos.

  • Domínios de disponibilidade

    Os domínios de disponibilidade são centros de dados independentes e independentes em uma região. Os recursos físicos em cada domínio de disponibilidade são isolados dos recursos nos outros domínios de disponibilidade, o que fornece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura, como energia ou resfriamento, ou a rede de domínios de disponibilidade interna. Portanto, é improvável que uma falha em um domínio de disponibilidade afete os outros domínios de disponibilidade na região.

  • Tenancy

    Uma tenancy é uma partição segura e isolada que o Oracle configura no Oracle Cloud quando você se inscreve no Oracle Cloud Infrastructure. Você pode criar, organizar e administrar seus recursos no Oracle Cloud em sua tenancy.

  • Rede virtual na nuvem (VCN) e sub-redes

    Um VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle total sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar depois de criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em uma faixa contígua de endereços que não se sobrepõem às outras sub-redes da VCN. É possível alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • Armazenamento de objetos

    O armazenamento de objetos oferece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados analíticos e conteúdo rico, como imagens e vídeos. Use o armazenamento padrão para armazenamento "quente" que você precisa acessar rapidamente, imediatamente e com frequência. Use o armazenamento de arquivos para armazenamento "frio" que você retém por longos períodos de tempo e raramente ou raramente acessa.

  • Log
    O log é um serviço altamente dimensionável e totalmente gerenciado que fornece acesso aos seguintes tipos de logs de seus recursos na nuvem:
    • Logs de auditoria: Logs relacionados a eventos emitidos pelo serviço Audit.
    • Logs de serviço: Logs emitidos por serviços individuais, como Gateway de API, Eventos, Funções, Balanceamento de Carga, Armazenamento de Objetos e logs de fluxo VCN.
    • Logs personalizados: Logs que contêm informações de diagnóstico de aplicativos personalizados, outros provedores de nuvem ou um ambiente local.

Recomendações

Usar as recomendações a seguir como ponto inicial. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
  • VCN e Sub-rede

    Ao anexar a função OCI a uma sub-rede e à VCN, você deve garantir que a sub-rede possa acessar adequadamente o Object Storage e os Pontos Finais de Log do OCI.

  • Serviço Object Storage

    Este serviço coleta os Logs do WAF emitidos automaticamente pelo Serviço WAF. Você precisa garantir que este buck tenha “Emitir Eventos” ativado

  • Serviço de Eventos

    Este serviço observa o Bucket do WAF Log Object Storage para novos Eventos de Criação de Objeto. Recomendamos filtrar somente objetos criados neste bucket específico.

  • Serviço de Funções

    Este serviço é disparado em novos Eventos de Criação de Objeto.

  • Log

    Esta arquitetura captura logs do armazenamento de Objetos gerado pelo Serviço WAF. Também recomendamos que você ative o Log de funções no caso de precisar solucionar problemas.

  • Controle de Acesso
    A Função OCI usada autentica pelo principal do recurso. Para cumprir esse padrão, você precisará de um grupo dinâmico com uma política que permita o seguinte:
    • Allow dynamic-group WAFLogs to use logging-family in compartment compartment
    • Allow dynamic-group WAFLogs to read buckets in compartment compartment_name
    • Allow dynamic-group WAFLogs to read objects in compartment compartment_name
  • Gateway de serviço

    Quando você implantar a Função em suas Sub-redes, use um gateway de serviço para se comunicar com os pontos finais do serviço Object Storage e OCI Logging.

Considerações

Ao implementar essa arquitetura, considere os seguintes fatores:

  • Desempenho

    A arquitetura é dimensionada com base no número de eventos gerados pelo serviço WAF. O serviço de Log do OCI é altamente escalável.

    Eventos, Funções e Streaming também são altamente escaláveis e são usados como um canal temporário para armazenar informações de eventos enviadas do serviço de Log. O Serviço de Streaming também atua como um balanceador de carga. Considere ajustar o número de partições e fluxos, com base na quantidade de dados de log esperada.

  • Disponibilidade

    O Oracle garante a alta disponibilidade dos serviços Funções, Eventos, Streaming, Log, que são nativos da nuvem e totalmente gerenciados.

    O fluxo inclui os seguintes recursos de alta disponibilidade:
    • Fluxo constante de dados de log
    • Serviço multithread e escalável horizontalmente
    • Ingestão quase em tempo real
    • Resiliência contra interrupções de curto prazo
    • Otimizado para uso eficiente de dados
  • Visualização e Análise
    Depois que os logs forem ingeridos, você poderá escolher entre vários padrões de implementação, como o seguinte:
    • Oracle Logging Analytics
    • Ingerir Logs no Splunk usando o Addon de Log do OCI para Splunk
    • Visualizar Logs usando o Aplicativo OCI para Splunk
    Para obter mais informações sobre os últimos padrões listados acima, consulte os documentos referenciados no tópico "Explorar Mais".

Explore Mais

Saiba mais sobre como gravar e encaminhar logs do WAF para o Log do Oracle Cloud Infrastructure.

Revise estes recursos adicionais: