将镜像网络流量归档到 OCI 对象存储

Oracle Cloud Infrastructure 虚拟测试访问点 (Virtual Test Access Point,VTAP) 是一项网络流量镜像服务,用于从指定源捕获网络流量副本,应用筛选器以聚焦相关数据,并将其发送到目标进行分析。这为您提供了改进网络故障排除、安全监视、网络性能分析和合规性审计的机会。

体系结构

此架构展示了如何使用 Oracle Cloud Infrastructure (OCI) 将从 VTAP 到 OCI Object Storage 的镜像流量归档。

出于合规性原因,可能需要归档网络流量。此外,在排除难以排除或间歇性的网络问题时,归档网络流量具有优势。您可以根据需要选择性地分析过去生产流量的网络捕获。

下图说明了此引用体系结构。

下面是 oci-vtap-archiver.png 的说明
插图 oci-vtap-archiver.png 的说明

oci-vtap-archiver-oracle.zip

出于说明目的,简单的 HTTP Web 服务器位于公共子网中,其客户机位于第一个专用子网中。客户机使用 HTTP GET curl 命令从 HTTP 文件服务器下载文件。此图中将这些客户机设置为 VTAP 源。我们仅使用 VTAP 镜像 HTTP 流量。OCI 网络负载平衡器接收来自 VTAP 的镜像流量,并在其后端服务器节点之间进行负载平衡。然后,这些后端节点将网络捕获上载到 OCI 对象存储。您可以在环境中将 Web 服务器或数据库实例作为 VTAP 设置的源。在实施中,其余设计通常保持不变。

以下组件之间的垂直虚线表示可以配置其他 VTAP 流:客户机 1 到客户机 #n(充当 VTAP 源),VTAP Sink 1 到 VTAP Sink #m(用于归档到 OCI Object Storage 的节点)。

Terraform 配置将创建具有以下三个子网的 VCN:
  • 公共子网:包含单个主机,该主机既充当 HTTP 文件服务器,又充当跳转箱来访问两个专用子网中的节点。生产环境中的公共子网中可能需要跳转箱或堡垒服务器才能访问专用子网中的节点以进行故障排除或其他维护。
  • 专用子网:托管从 HTTP 文件服务器下载虚拟文件的节点,以创建 HTTP 流量。这些节点充当 VTAP 的源,其流量由具有相应捕获过滤器的 VTAP 镜像。我们将这些节点称为 VTAP 源节点。每个 VTAP 源节点都有自己的单独 VTAP。
  • 专用子网:包含充当 VTAP 目标的网络负载平衡器 (Network Load Balancer,NLB)。OCI Flexible Network Load Balancer 具有后端节点,这些节点以 pcap 文件形式执行 VTAP 流量的网络捕获,并将其归档到存储桶。我们将这些节点称为 VTAP Sink 节点。VTAP Sink 节点和 NLB 位于同一专用子网中。

VTAP 配置有捕获筛选器,以仅捕获这些 VTAP 源触发的 HTTP GET 请求到公共子网中 HTTP 文件服务器的网络流量。VTAP 在 VTAP 源节点的主 VNIC 上设置。

您可以为部署选择区域和区间。所有资源均在指定的区域和区间中创建。还会创建用于归档 pcap 文件的 OCI 对象存储存储桶。

该体系结构具有以下组件:

  • 区域

    Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。

  • 虚拟云网络 (VCN) 和子网

    VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • VTAP

    虚拟测试接入点 (Virtual Test Access Point,VTAP) 提供了一种将来自指定源的流量镜像到所选目标的方法,用于进行故障排除、安全分析和数据监视。

  • 网络负载平衡器 (NLB)

    OCI Flexible Network Load Balancer 可将流量从一个入口点自动分发到后端集中的多个服务器。网络负载平衡器根据第 3 层/第 4 层(IP 协议)数据将流量仅定向到运行状况良好的服务器,从而确保服务保持可用。在这里,我们使用 OCI Flexible Network Load Balancer 将 VXLAN UDP 流量负载平衡到 VTAP Sink 节点。

  • 对象存储

    Oracle Cloud Infrastructure Object Storage 支持您快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全地存储数据,然后直接从互联网或云平台检索数据。您可以在不降低性能或服务可靠性的情况下扩展存储。将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留、很少访问或很少访问的“冷”存储。

  • 服务网关

    通过服务网关,您可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,不会通过互联网传输。

  • Internet 网关

    通过互联网网关,可以在 VCN 中的公共子网与公共互联网之间进行流量传输。

推荐

使用以下建议作为起点。 您的要求可能与此处描述的体系结构不同。
  • VCN

    创建 VCN 时,请根据您计划附加到 VCN 中子网的资源数量,确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。

    选择不与要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure 、您的内部部署数据中心或其他云提供商中)重叠的 CIDR 块。

    创建 VCN 后,您可以更改、添加和删除其 CIDR 块。

    设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源附加到可以用作安全边界的同一子网。

    使用区域子网。

  • 网络负载平衡器连接限制

    OCI L3/L4 网络负载平衡器是一项免费服务,可根据流量动态缩放。网络负载平衡器的默认并发连接限制为每个可用性域 (Availability Domain,AD) 提供 33 万个连接。在三个 AD 区域中,默认情况下,网络负载平衡器的并发连接限制为 100 万。

  • 安全列表

    使用安全列表定义应用于整个子网的入站和出站规则。

  • 网络安全组 (NSG)

    可以使用 NSG 定义一组适用于特定 VNIC 的入站和出站规则。我们建议使用 NSG 而非安全列表,因为 NSG 使您能够将 VCN 的子网体系结构与应用的安全要求分开。

  • 有关捕获过滤器的详细信息,请参见 GitHub 中的 vtap.tf 文件。
  • 有关如何配置 tcpdump 和解封装的 VXLAN 镜像通信工作的详细信息,请参见 cloud_init/vtap_sink.yml 文件。

注意事项

实施此解决方案时,请考虑以下事项:

  • Internet 协议流量

    此解决方案仅针对 IPv4 流量开发和测试。

  • 权限

    您必须对所选区间和区域具有所需的 Oracle Cloud Infrastructure Identity and Access Management 权限,才能为此部署创建所有必需的 OCI 资源。

  • 可配置参数

    要查看所有可配置参数,请参见 variables.tf 文件。

  • VTAP 源和规则
    • VTAP 必须始终具有源、目标和关联的捕获筛选器。
    • 捕获筛选器必须始终至少有一个关联的规则。
    • VNIC 永远不能是多个 VTAP 的源。

部署

从 GitHub 下载代码,自定义代码并部署代码。Terraform 将在您的 OCI 租户中设置所需的所有资源。

您可以使用 OCI 资源管理器一键部署,或者从本地开发计算机下载代码进行部署。

这些链接位于 GitHub。

  1. 转至 GitHub
  2. 此时将显示自述文件文档的“Deploy(部署)”部分。
  3. 按照自述文件中的说明进行操作。

浏览更多

详细了解 Oracle Cloud Infrastructure 和网络镜像:

查看以下附加资源:

确认

  • 作者Mayur Raleraskar