Ingerir Oracle Cloud Infrastructure WAF Logs mediante Oracle Functions y Eventos
Oracle Cloud Infrastructure (OCI) Web Application Firewall (WAF) es un servicio Oracle Cloud que protege sus aplicaciones web contra amenazas. Los logs están disponibles en el servicio WAF. En este documento se describe la arquitectura para compilar logs de WAF y reenviar esos logs a OCI Logging para un mayor consumo por parte de terceros, como Splunk.
Arquitectura
Esta arquitectura describe cómo compilar logs de WAF y reenviar esos logs a OCI Logging para un mayor consumo por parte de terceros, como Splunk.
En el siguiente diagrama, se ilustra esta arquitectura de referencia.

Descripción de la ilustración waf_logs_function_events.png
La arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlas (entre países o incluso continentes).
- Firewall de Aplicación Web
Un Firewall de Aplicación Web (WAF) filtra y supervisa el tráfico HTTP entre una aplicación web e Internet. Es una defensa de capa de protocolo 7 que protege las aplicaciones web de la mayoría de los ataques maliciosos.
- Dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes e independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como energía o refrigeración, o la red de dominio de disponibilidad interna. Por lo tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a otros dominios de disponibilidad de la región.
- Arrendamiento
Un arrendamiento es una partición segura y aislada que Oracle configura en Oracle Cloud al registrarse en Oracle Cloud Infrastructure. Puede crear, organizar y administrar los recursos en Oracle Cloud en el arrendamiento.
- Red virtual en la nube (VCN) y subredes
VCN es una red personalizable definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes tradicionales de centros de datos, las VCN le proporcionan un control completo sobre su entorno de red. VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear VCN. Puede segmentar VCN en subredes, que se pueden asignar a una región o a un dominio de disponibilidad. Cada subred consta de un rango contiguo de direcciones que no se superponen con las otras subredes de VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Almacenamiento de objetos
El almacenamiento de objetos proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de bases de datos, datos analíticos y contenido rico, como imágenes y vídeos. Utilice el almacenamiento estándar para el almacenamiento "caliente" al que necesita acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivos para el almacenamiento "frío" que retenga durante largos períodos de tiempo y rara vez o rara vez acceda.
- RegistroEl registro es un servicio altamente escalable y totalmente gestionado que proporciona acceso a los siguientes tipos de logs desde sus recursos en la nube:
- Logs de Auditoría: Logs relacionados con eventos emitidos por el servicio de Auditoría.
- Logs de servicio: Logs emitidos por servicios individuales, como gateway de API, eventos, funciones, equilibrio de carga, almacenamiento de objetos y logs de flujo de VCN.
- Logs personalizados: registros que contienen información de diagnóstico de aplicaciones personalizadas, otros proveedores en la nube o un entorno local.
Recomendaciones
- VCN y subred
Al asociar la función OCI a una subred y VCN, debe asegurarse de que la subred puede alcanzar correctamente tanto Object Storage como OCI Logging Endpoints.
- Servicio de almacenamiento de objetos
Este servicio recopila los logs de WAF emitidos automáticamente por el servicio WAF. Debe asegurarse de que este cubo tiene activado" Emitir eventos”
- Servicio de eventos
Este servicio observa el cubo de almacenamiento de objetos log de WAF para nuevos eventos de creación de objetos. Se recomienda filtrar solo los objetos creados en este cubo específico.
- Servicio de Funciones
Este servicio se dispara en nuevos eventos de creación de objetos.
- Registro
Esta arquitectura captura los logs del almacenamiento de objetos generados por el servicio WAF. También recomendamos activar el registro de funciones en el caso de que necesite solucionar problemas.
- Control de accesoFunción OCI utilizada autentica por principal de recurso. Para cumplir este patrón, necesitará un grupo dinámico con una política que permita lo siguiente:
Permitir que los WAFLogs de grupo dinámico utilicen la familia de registro en el compartimento del compartimento
Permitir que WAFLogs de grupo dinámico lean cubos en compartment compartment_name
Permitir que WAFLogs de grupo dinámico lean objetos en compartment compartment_name
- Gateway de servicio
Al desplegar la función en las subredes, utilice un gateway de servicio para comunicarse con los puntos finales del servicio de almacenamiento de objetos y registro de OCI.
Consideraciones
Al implementar esta arquitectura, tenga en cuenta los siguientes factores:
- Rendimiento
Escalas de arquitectura basadas en el número de eventos generados por el servicio WAF. El servicio de registro de OCI es altamente escalable.
Los eventos, las funciones y el flujo también son altamente escalables y se utiliza como conducto temporal para almacenar la información de eventos enviada desde el servicio de registro. El servicio Streaming también actúa como equilibrador de carga. Considere ajustar el número de particiones y flujos, según la cantidad de datos de log que espera.
- Disponibilidad
Oracle garantiza una alta disponibilidad de los servicios Funciones, Eventos, Streaming, Logging, que son nativos de la nube y están totalmente gestionados.
Streaming incluye las siguientes capacidades de alta disponibilidad:- Flujo constante de datos de log
- Servicio multidireccional y escalable horizontalmente
- Ingestión casi en tiempo real
- Resiliencia frente a interrupciones a corto plazo
- Optimizado para un uso eficiente de datos
- Visualización y análisis Una vez ingeridos los logs, puede elegir entre varios patrones de implantación, como los siguientes:
- Oracle Logging Analytics
- Ingest Logs in Splunk mediante el complemento de registro de OCI para Splunk
- Visualizar Logs mediante la aplicación OCI para Splunk