部署符合 Oracle Cloud CIS 基础基准的安全体系框架

要在 Oracle Cloud 中运行负载,您需要一个安全环境来高效运行。此参考架构提供了一个基于 Terraform 的登录区域模板,该模板经过互联网安全中心 (Center for Internet Security,CIS) 认证,符合 CIS Oracle Cloud Infrastructure 基础基准中规定的安全指南。有关认证,请参见 https://www.cisecurity.org

体系结构

架构首先是租户的区间设计以及职责分离的组和策略。 在体系框架区域中,V2 支持在指定的父区间内预配体系框架区间。为每个体系框架区间分配一个组,该组具有管理区间中的资源以及访问其他区间中所需资源的相应权限。

登陆区域 V2 支持在独立模式下或作为 Hub 和 Spoke 体系结构的组成部分预配多个 VCN。VCN 可以遵循面向特定拓扑的通用标准三层网络拓扑,例如支持 Oracle Exadata Database Service 部署。它们具有开箱即用的配置,具有必要的路由,其入站和出站接口受到适当保护。

着陆区包括各种预配置的安全服务,可以与整体架构一起部署,以实现强大的安全态势。这些服务包括 Oracle Cloud Guard、Flow Logs、Oracle Cloud Infrastructure Service Connector Hub、带客户管理的密钥的 Vault、Oracle Cloud Infrastructure Vulnerability Scanning Service、Oracle Cloud Infrastructure Bastion 和 Oracle Security Zones。使用主题和事件设置通知,以提醒管理员已部署资源的更改。

下图说明了此参考体系结构。

下面是 oci-cis-landingzone.png 的说明
插图 oci-cis-landingzone.png 的说明

oci-cis-landingzone-oracle.zip

该体系结构具有以下组成部分:

  • Tenancy

    租户是 Oracle 在您注册 Oracle Cloud Infrastructure 时在 Oracle Cloud 中设置的安全隔离分区。您可以在您的租户内的 Oracle Cloud 中创建、组织和管理您的资源。租户是公司或组织的同义词。通常,公司将具有单个租户,并在该租户内反映其组织结构。单个租户通常与单个订阅关联,而单个订阅通常只有一个租户。

  • 策略

    Oracle Cloud Infrastructure Identity and Access Management 策略指定谁可以访问哪些资源以及如何访问。在组和区间级别授予访问权限,这意味着您可以编写策略,为组提供特定区间内或租户的特定类型的访问权限。

  • 划分

    区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源、控制对资源的访问以及设置使用限额。要控制对给定区间中资源的访问,您可以定义策略来指定哪些人可以访问资源以及他们可以执行哪些操作。

    此登录区域模板中的资源预配在以下区间中:
    • 建议的封闭区间,包含下面列出的所有区间。
    • 用于所有网络资源的网络区间,包括所需的网络网关。
    • 用于日志记录、密钥管理和通知资源的安全区间。
    • 与应用相关的服务的应用区间,包括计算、存储、函数、流、Kubernetes 节点、API 网关等。
    • 用于所有数据库资源的数据库区间。
    • Oracle Exadata Database Service 基础结构的可选区间。

    图中的灰色图标指示模板未预配的服务。

    此区间设计反映了在不同组织中观察到的基本功能结构,通常在网络、安全性、应用程序开发和数据库管理员之间分离 IT 职责。

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

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

    默认情况下,模板部署通用标准三层 VCN 和一个公共子网和两个专用子网。公共子网用于负载平衡器和堡垒服务器。应用程序层和数据库层连接到单独的专用子网。该模板还可以创建 VCN 来支持特定工作负载的部署,例如 Oracle Exadata Database Service

  • Internet 网关

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

  • 动态路由网关 (DRG)

    DRG 是一个虚拟路由器,它为内部部署网络与 VCN 之间的专用网络流量提供路径,并且还可用于在同一区域或跨区域中的 VCN 之间路由流量。

  • NAT 网关

    通过 NAT 网关,VCN 中的专用资源可以访问互联网上的主机,而不会向传入的互联网连接公开这些资源。

  • 服务网关

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

  • Oracle 服务网络

    Oracle 服务网络 (OSN) 是 Oracle Cloud Infrastructure 中为 Oracle 服务预留的概念性网络。这些服务具有可通过互联网访问的公共 IP 地址。Oracle Cloud 之外的主机可以使用 Oracle Cloud Infrastructure FastConnect 或 VPN Connect 通过专用方式访问 OSN。VCN 中的主机可以通过服务网关私密地访问 OSN。

  • 网络安全组 (NSG)

    网络安全组 (NSG) 充当云资源的虚拟防火墙。借助 Oracle Cloud Infrastructure 的零信任安全模型,您可以拒绝所有流量,并控制 VCN 中的网络流量。NSG 包含一组入站和出站安全规则,这些规则仅应用于单个 VCN 中指定的一组 VNIC。

  • 事件

    Oracle Cloud Infrastructure 服务会发出事件,这些事件是描述资源变化的结构化消息。将针对创建、读取、更新或删除 (CRUD) 操作、资源生命周期状态更改以及影响云资源的系统事件发出事件。

  • 通知

    Oracle Cloud Infrastructure Notifications 服务通过发布 - 订阅模式向分布式组件广播消息,为 Oracle Cloud Infrastructure 上托管的应用提供安全、高度可靠、低延迟和持久的消息。

  • Vault

    借助 Oracle Cloud Infrastructure Vault ,您可以集中管理加密密钥,保护您的数据和密钥凭证,以保护对云中资源的访问。可以使用 Vault 服务创建和管理 Vault、密钥和密钥。

  • 日志
    日志记录是一项高度可扩展且完全托管的服务,它支持从云中的资源访问以下类型的日志:
    • 审计日志:与审计服务发出的事件相关的日志。
    • 服务日志:各个服务发出的日志,如 API 网关、事件、函数、负载平衡、对象存储和 VCN 流日志。
    • 定制日志:包含来自定制应用程序、其他云提供商或内部部署环境的诊断信息的日志。
  • 服务连接器

    Oracle Cloud Infrastructure Service Connector Hub 是一个云消息总线平台,可协调 OCI 中的服务之间的数据移动。可以使用服务连接器将数据从源服务移动到目标服务。服务连接器还允许您根据需要指定在将数据交付到目标服务之前对数据执行的任务(例如函数)。

    您可以使用 Oracle Cloud Infrastructure Service Connector Hub 为 SIEM 系统快速构建日志记录聚合框架。

  • 云卫士

    Oracle Cloud Guard 可监视租户对可能造成安全问题的资源进行配置设置和操作,从而帮助您在 Oracle Cloud 中实现和维护强大的安全态势。

    您可以使用 Oracle Cloud Guard 监视和维护 Oracle Cloud Infrastructure 中资源的安全性。Cloud Guard 使用可以定义的检测器配方来检查资源是否存在安全弱点,并监视操作员和用户是否存在某些风险活动。检测到任何配置错误或不安全活动时,Cloud Guard 会根据您可以定义的响应器配方建议更正操作并帮助采取这些操作。

  • 安全区域

    安全区域与一个或多个区间和安全区域配方关联。在安全区域中创建和更新资源时,Oracle Cloud Infrastructure (OCI) 会根据安全区域配方中定义的策略列表来验证这些操作。如果违反了任何安全区域策略,则会拒绝该操作。

    安全区域可确保您的 OCI 资源符合您的安全策略,包括 Oracle Cloud Infrastructure ComputeOracle Cloud Infrastructure NetworkingOracle Cloud Infrastructure Object StorageOracle Cloud Infrastructure Block Volumes 和数据库资源。

  • 漏洞扫描服务

    Oracle Cloud Infrastructure 漏洞扫描服务通过例行检查端口和主机的潜在漏洞来帮助改善 Oracle Cloud 中的安全状况。该服务使用有关这些漏洞的度量和详细信息生成报告。

  • 堡垒服务

    Oracle Cloud Infrastructure 堡垒服务通过基于身份、经过审计和有时限的安全 Shell (SSH) 会话,提供从特定 IP 地址到没有公共端点的目标 OCI 资源的限制访问。

  • 对象存储

    通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全、安全地存储数据,然后直接从互联网或云平台检索数据。您可以扩展存储,而不会出现性能或服务可靠性下降的情况。将标准存储用于“热”存储,以便您快速、立即和频繁地访问。将归档存储用于长时间保留的“冷”存储,很少或很少访问。

推荐

使用以下建议作为为云环境设计和配置安全性的起点。您的要求可能不同于此处所述的体系结构。

  • 网络配置

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

  • 监视安全性

    使用 Oracle Cloud Guard 监视和维护 Oracle Cloud Infrastructure 中资源的安全性。Cloud Guard 使用可以定义的检测器配方来检查资源是否存在安全弱点,并监视操作员和用户是否有风险活动。检测到任何配置错误或不安全活动时,Cloud Guard 会根据您可以定义的响应器配方建议更正操作并帮助采取这些操作。

  • 安全的资源配置

    对于需要最高安全性的资源,请使用安全区域。安全区域是与 Oracle 定义的基于优秀实践的安全策略配方关联的区间。例如,不能从公共互联网访问安全区域中的资源,并且必须使用客户管理的密钥对其进行加密。在安全区域中创建和更新资源时,Oracle Cloud Infrastructure 将根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。

注意事项

实现此引用体系结构时,请考虑以下因素:

  • 访问权限

    “登录区域”模板可以预配资源作为租户管理员(属于管理员组的任何用户)或具有较窄权限的用户。有关“CIS OCI 体系框架的部署模式”,请参阅了解更多信息

    登陆区域模板将资源预配为租户管理员(属于 Administrators 组的任何用户),并包括允许单独管理员组在初始预配后管理每个区间的策略。预配置的策略不涵盖 OCI 中可用的所有可能资源,即适用于模板当前部署的资源。如果向 Terraform 模板添加资源,则必须定义所需的其他策略语句。

  • 网络配置

    使用 Oracle Cloud Infrastructure DRG V2 服务,登录区域网络可以采用不同的方式进行部署:使用一到多个独立 VCN 或 Hub & Spoke 架构。也可以在没有 Internet 连接的情况下配置网络。虽然登录区域允许在独立和 Hub & Spoke 之间来回切换,但规划特定设计非常重要,因为切换时可能需要手动操作。

  • 定制登录区域模板

    Terraform 配置具有单个根模块和单个模块来预配资源。此模块化模式可实现高效且一致的代码重用。要向 Terraform 配置添加资源,请重用现有模块,但使用 Terraform 的覆盖文件以所需的配置覆盖特定变量。例如,要添加新区间,请在 override.tf 文件中定义区间对象的新映射,该映射的名称与区间原始映射相同。有关更多信息,请参见 Customizing the Landing Zone

  • 部署指南

    GitHub 中的 OCI CIS 体系框架快速启动部署指南提供了有关如何配置 OCI CIS 体系框架的详细指南。它包括部署方案和如何定制登录区域的步骤。

部署

此解决方案的 Terraform 代码位于 GitHub 中。只需单击一下即可将代码拉入 Oracle Cloud Infrastructure Resource Manager ,创建堆栈并部署堆栈。或者,也可以将代码从 GitHub 下载到您的计算机,定制代码,然后使用 Terraform CLI 部署架构。

  • 使用 Oracle Cloud Infrastructure Resource Manager 中的示例堆栈进行部署:
    1. 转至 部署到 Oracle Cloud

      如果您尚未登录,请输入租户和用户身份证明。

    2. 选择要部署堆栈的区域。
    3. 按照屏幕上的提示和说明创建堆栈。
    4. 创建堆栈后,单击 Terraform 操作,然后选择计划
    5. 等待作业完成,然后查看计划。

      要进行任何更改,请返回“堆栈详细信息”页,单击编辑堆栈,然后进行所需的更改。然后,再次运行计划操作。

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

更改日志

此日志列出了重大更改: