使用 Oracle Functions 和事件提取 Oracle Cloud Infrastructure WAF 日志
Oracle Cloud Infrastructure (OCI) Web 应用程序防火墙 (WAF) 是一种 Oracle Cloud 服务,可保护 Web 应用程序免受威胁。日志在 WAF 服务中可用。本文档介绍了用于编译 WAF 日志并将这些日志转发到 OCI 日志记录以供第三方(如 Splunk)进一步使用的体系结构。
体系结构
此体系结构介绍了如何编译 WAF 日志并将这些日志转发到 OCI 日志记录,以供第三方(如 Splunk)进一步使用。
下图说明了此引用体系结构。

插图 waf_logs_function_events.png 的说明
体系结构包含以下组成部分:
- 区域
Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。区域独立于其他区域,其距离很广(跨越国家或甚至大陆)。
- Web 应用程序防火墙
Web 应用程序防火墙 (WAF) 筛选和监视 Web 应用程序与 Internet 之间的 HTTP 流量。它是一种协议层 7 防御,可保护 Web 应用程序免受大多数恶意攻击。
- 可用性域
可用性域是区域内的独立独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,这些资源提供了容错功能。可用性域不共享基础设施,例如电源、冷却或内部可用性域网络。因此,一个可用性域的故障不可能影响该区域中的其他可用性域。
- 租户
租户是 Oracle 在注册 Oracle Cloud Infrastructure 时在 Oracle Cloud 中设置的安全和隔离分区。可以在租户内的 Oracle Cloud 中创建、组织和管理资源。
- 虚拟云网络 (VCN) 和子网
VCN 是在 Oracle Cloud Infrastructure 区域中设置的可定制的软件定义网络。与传统的数据中心网络一样,VCN 为您提供了对网络环境的完全控制。VCN 可以有多个非重叠 CIDR 块,您可以在创建 VCN 后更改这些块。可以将 VCN 细分为子网,子网可限定为区域或可用性域。每个子网包含一系列与 VCN 中的其他子网不重叠的地址。您可以在创建后更改子网的大小。子网可以是公共的或专用的。
- 对象存储
通过对象存储,可以快速访问任何内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及丰富的内容,例如图像和视频。将标准存储用于快速、立即和频繁访问的“热”存储。将归档存储用于长期保留且很少或很少访问的“冷”存储。
- 事件记录日志记录是一种高度可扩展且完全托管服务,可从云中的资源访问以下类型的日志:
- 审计日志:与审计服务发出的事件相关的日志。
- 服务日志:由各个服务(如 API 网关、事件、函数、负载平衡、对象存储和 VCN 流日志)发出的日志。
- 定制日志:包含来自定制应用程序、其他云提供程序或内部部署环境的诊断信息的日志。
建议
- VCN 和子网
将 OCI 函数附加到子网和 VCN 时,必须确保子网能够正确访问对象存储和 OCI 日志记录端点。
- 对象存储服务
此服务收集 WAF 服务自动发出的 WAF 日志。您需要确保此时段已启用“发出事件”
- 事件服务
此服务监视新对象创建事件的 WAF 日志对象存储桶。我们建议仅筛选在此特定存储桶中创建的对象。
- 函数服务
此服务在新对象创建事件上触发。
- 事件记录
此体系结构从 WAF 服务生成的对象存储中捕获日志。我们还建议在需要进行故障排除时启用函数日志记录。
- 访问控制使用的 OCI 函数由资源主用户进行验证。为了实现此模式,您需要具有允许以下操作的策略的动态组:
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
- 服务网关
在子网中部署函数时,请使用服务网关与对象存储和 OCI 日志记录服务端点通信。
考虑事项
实施此体系结构时,请考虑以下因素:
- 性能
体系结构根据 WAF 服务生成的事件数进行缩放。OCI 日志记录服务具有高度可扩展性。
事件、函数和流也高度可扩展,并用作临时通道来存储从日志记录服务发送的事件信息。流式处理服务还充当负载平衡器。考虑根据您预期的日志数据量调整分区数和流数。
- 可用性
Oracle 确保云原生和完全管理的功能、事件、流和日志记录服务的高可用性。
流式传输包括以下高可用性功能:- 日志数据的常数流
- 多线程和水平可扩展服务
- 接近实时摄取
- 抗短期中断的抗灾能力
- 针对高效的数据使用情况进行了优化
- 可视化和分析 获取日志后,可以从多个实施模式中进行选择,例如:
- Oracle 日志记录分析
- 使用用于 Splunk 的 OCI 日志记录加载项将登录到 Splunk
- 使用 OCI 应用程序进行 Splunk 可视化日志