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.

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.
- LogO 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
- 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 AcessoA 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 compartmentAllow dynamic-group WAFLogs to read buckets in compartment compartment_nameAllow 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