使用虚拟防火墙保护云资源

虽然 Oracle Cloud Infrastructure 通过安全列表和网络安全组提供网络安全控制,但在某些情况下,需要不同类型的网络安全。对于这些方案,Oracle Cloud Infrastructure 使用虚拟云网络 (VCN) 和子网来构建网络的不同段,使用防火墙来处理安全控制。

部署防火墙以控制网络流具有以下优点:
  • 集中访问控制
  • 内容筛选
  • 入站和出站网络地址转换 (NAT) 和端口地址转换 (PAT)
  • 高级通信策略
  • 通过不同的环境(内部部署和其他云提供商)实现过程的一致性,这也简化了云迁移和扩展,因为正在使用相同的工具
  • 针对复杂情景的扩展设计功能

体系结构

在此体系结构中,虚拟防火墙控制南北流量和东西流量。该体系结构展示了如何设计网络以及将防火墙放置在何处。

南北流量来自互联网(通过互联网网关)或内部部署环境(通过动态路由网关)到 VCN 的流量。东西向流量是租户中 VCN 之间的流量。

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

后面是 firewall-oci.png 的说明
插图 firewall-oci.png 的说明

防火墙 -oci-oracle.zip

在图中,VNIC 将子网连接到虚拟防火墙(例如 Palo Alto Networks VM 系列防火墙)。子网在体系结构中承担以下角色:
  1. 通过 VCN1 中的管理公共子网 (CIDR 10.0.1.0/24),网络管理员可以通过 SSH 和 HTTPS 访问虚拟防火墙的控制台。
  2. VCN1 中的不可信公共子网 (Unrusted Public Subnet in VCN1, CIDR 10.0.2.0/24),客户可以通过 Palo Alto Firewall 控制从 Internet 访问专用子网。
  3. VCN1 中的可信专用子网 (CIDR 10.0.3.0/24) 充当 DMZ。
  4. VCN2 中的可信专用子网 (CDIR 10.1.1.0/24) 允许隐藏专用资源。

体系结构包含以下组件:

  • 区域

    Oracle Cloud Infrastructure 区域是一个局部地理区域,其中包含一个或多个数据中心(称为可用性域)。区域与其他区域无关,它们的距离可以分离(跨国家 / 地区甚至大陆)。

  • 可用性域

    可用性域是区域内的独立独立数据中心。每个可用性域中的物理资源都与其他可用性域中的资源隔离,这些资源提供故障容差。可用性域不共享基础设施,例如电源、冷却或内部可用性域网络。因此,一个可用性域的故障不可能影响该区域中的其他可用性域。

  • 故障域

    容错域是可用性域内的一系列硬件和基础设施。每个可用性域都具有三个具有独立电源和硬件的容错域。当您在多个容错域中分配资源时,应用可以承受容错域中的物理服务器故障、系统维护和电源故障。

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

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

  • Internet 网关

    互联网网关允许在 VCN 中的公共子网与公共互联网之间通信。

  • 动态路由网关 (DRG)

    DRG 是一个虚拟路由器,用于为 VCN 与区域外网络之间的专用网络通信提供路径,例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或其他云提供商中的网络。

  • 路由表

    虚拟路由表包含将流量从子网路由到 VCN 外部的目标(通常通过网关)的规则。

  • 安全列表

    对于每个子网,可以创建安全规则,以指定必须允许进出子网的源、目标和流量类型。

  • 虚拟网络接口卡 (Virtual Network Interface Card, VNIC)

    VNIC 允许实例连接到 VCN 并确定实例如何连接到 VCN 内外的端点。每个实例都会自动附带一个主要 VNIC,您可以添加辅助 VNIC。

  • 防火墙

    防火墙控制环境中各段之间的流。高级功能因提供方而异。

建议

您的要求可能与此处介绍的体系结构不同。使用以下建议案作为起点。

  • VCN

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

    选择与内部部署网络不重叠的地址范围,以便您可以根据需要设置 VCN 和内部部署网络之间的连接。

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

    设计子网时,请考虑您的功能和安全性要求。将同一层或角色中的所有计算实例连接到同一子网。

    使用区域子网。

  • 安全列表

    虽然所有流量都流过防火墙,但子网内和子网之间的流量仍然需要安全列表。

  • 防火墙

    如果您的环境对任务至关重要,请确保您实施的防火墙支持高可用性部署,以避免意外中断。

    使用备用防火墙时,将其部署到其他故障域。

    由于防火墙未作为 Oracle Cloud Infrastructure 的一部分进行管理,请确保始终应用其补丁程序。

    防火墙需要多个 VNIC 才能连接环境中的不同段。选择提供足够 VNIC 的实例配置。

考虑事项

  • 性能

    作为通信的中心点,防火墙实例应有足够的 VNIC 来连接现有段。在大多数情况下,CPU 不是限制因素。在 Oracle Cloud Infrastructure 中,VNIC 数量和关联的带宽随实例形状的 OCPU 数量而扩展。

  • 安全性

    防火墙未作为 Oracle Cloud Infrastructure 的一部分进行管理。实施安全过程以确保安全管理访问和良好打补丁策略。

  • 可用性

    防火墙是所有通信流的中心点。您选择的防火墙必须能够在高可用性模式下工作,以避免发生意外中断时产生影响。

  • 成本

    使用此体系结构的成本取决于用于防火墙的实例形状的大小。如果选择付费防火墙解决方案,则还应考虑许可成本。

部署

此参考体系结构的 Terraform 代码在 Oracle Cloud Infrastructure Resource Manager 中作为样例堆栈提供。您还可以从 GitHub 下载代码,并对其进行定制以满足您的特定需求。

  • 使用 Oracle Cloud Infrastructure Resource Manager 进行部署:
    1. 单击 部署到 Oracle Cloud

      如果您尚未登录,请输入租户和用户凭据。

    2. 查看并接受条款和条件。
    3. 选择要部署堆栈的区域。
    4. 按照屏幕上的提示和说明创建堆栈。
    5. 创建堆栈后,单击 Terraform 操作,然后选择计划
    6. 等待任务完成,然后复核计划。

      要进行任何更改,请返回到 "Stack Details"(堆栈详细信息)页面,单击 Edit Stack(编辑堆栈),然后进行所需的更改。然后,再次运行计划操作。

    7. 如果不需要进一步更改,请返回“堆栈详细信息”页,单击 Terraform 操作,然后选择应用
  • 在 GitHub 中使用 Terraform 代码进行部署:
    1. 转至 GitHub
    2. 将存储库克隆或下载到本地计算机。
    3. 按照 README 文档中的说明进行操作。

更改日志

此日志列出重大更改: