注:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的那些值。
配置 Oracle Cloud Guard 检测器规则以基于条件检测问题
简介
Oracle Cloud Guard 是免费的云原生服务,用于扫描目标(即 Oracle Cloud Infrastructure (OCI) 区间)并根据称为检测器策略的策略中定义的规则检测问题。满足规则后,它将产生一个问题,您可以从控制台进行查看。Cloud Guard 使用响应器策略中定义的规则来处理问题。Cloud Guard 提供了各种现成的检测器配方。例如,配置检测器配方、活动检测器配方等。检测器配方有多个检测器规则,触发这些规则时,Cloud Guard 会造成问题。
配置 Cloud Guard 后,它将根据现成检测器策略开始检测问题。当您查看 Cloud Guard 检测到的问题时,您可能会发现某些问题是基于您的用例的误报。例如,Cloud Guard“实例可公开访问”和“实例具有公共 IP”检测器规则可检测目标(区间)中可从 Internet 访问并具有公共 IP 的实例。但是,您希望演示/培训计算实例具有公共 IP 并允许其从 Internet 访问。
您可以通过在 Cloud Guard 检测器规则中配置条件组来实现此目的,并且可以针对几乎所有类型的检测器规则执行此操作。
目标
- 配置 Cloud Guard 检测器规则以根据条件检测问题。
先决条件
- 使用管理员账户访问 OCI 租户,或者访问管理 Cloud Guard 检测器规则和托管列表。
- 已启用 Cloud Guard 并使用配置检测器检测问题。
任务 1:确定应基于条件运行的检测器规则
在开始配置检测器规则条件组之前,必须知道需要处理哪些检测器规则。在本教程中,我们将使用配置检测器规则“实例具有公共 IP 地址”。此检测器规则扫描目标中的计算实例,如果为实例分配了公共 IP,Cloud Guard 将创建问题,并且是否将对应的响应器规则设置为自动删除
类似地,您可以标识可能要为检测器规则设置范围的其他检测器规则。例如,“Bucket is public”检测器规则可以检测存储桶是公共的,而 Cloud Guard 将在通过响应器规则检测时将其设置为专用。但是,您可能有一个托管公共文档的公用存储桶,并且您确实希望 Cloud Guard 为此存储桶创建问题。
Cloud Guard 具有在检测器规则检测到问题时可以自动触发(可配置、默认关闭)的响应器。在这种情况下,您将了解由于执行 Cloud Guard 响应器规则而无法访问资源的用户需要条件访问的检测器规则。例如,如果用户需要公共 IP 作为计算实例的真正原因,但 Cloud Guard 响应器活动在检测到时已从实例中删除公共 IP。
注在向配方添加条件时,请注意以下事项:在目标级别的配方中定义的条件将限定于该特定目标,不会影响其他目标中的其他配方。在配方级别定义的条件将影响附加了配方的所有目标。有关详细信息,请参阅此处。
下表显示了可用于配方的一些受支持参数。您会从表中注意到,活动配方参数针对的是角色,配置配方参数针对的是资源。
配方 | 条件参数 |
---|---|
活动配方 | 区域 - 来自角色的区域。 地点(城市、省/自治区/直辖市、国家/地区)- 角色的位置。 标记 - 应用于角色。 IPv6/IPv4 Address - 角色的 IP 地址。 用户名 - 角色的用户名。 |
配置配方 | 标记 - 应用于资源的标记。 OCID - 资源的 OCID。示例:计算实例、数据库系统、负载平衡器、用户、组、策略、VNIC、VCN 等的 OCID。 存储桶名称空间/名称 CIDR/IPv6/IPv4 地址 - 资源的 IP(如果适用)(示例 - 数据库系统具有公共 IP 地址,实例具有公共 IP 地址)。 |
任务 2:在检测器规则中创建条件组
-
导航到 Cloud Guard 、 Targets 、 (target-name) 、目标详细信息、 Detector recipe 、 OCI Configuration Detector Recipe (Oracle managed) 。
注:如果您已克隆现成的检测器配方,请导航到该配方。在本示例中,我们将向检测器规则“Instance has a public IP address(实例具有公共 IP 地址)”添加条件。
-
在检测器规则下,搜索实例,您将看到与实例相关的检测器规则
-
通过单击右侧的三个点来编辑检测器规则。在条件组下:
-
在示例
iam-demo
中,选择要应用此规则的区间。 -
在我们的示例中,从列表中选择参数
instance OCID
。 -
在我们的示例中,选择运算符“不位于”,因为我们希望 Cloud Guard 检测具有公共 IP 的实例之一。
-
从列表中选择自定义列表,您会看到托管列表,我们将在下一步中介绍该列表。
-
如果您有多个具有要排除的公共 IP 的计算实例,请添加另一个条件。
-
输入实例的 OCID 并保存。
注:参数列表特定于检测器规则。每个规则将具有公用参数,某些特定于规则。一个条件组中的多个条件使用逻辑 AND。
-
-
查看已解决的问题。保存更改后,不久之后,Cloud Guard 将检测更改并通过将问题标记为已解决来自动解决计算实例的现有问题。您可以在已解决问题列表中查看此信息。
我们了解了如何通过编辑检测器规则在检测器规则中静态添加单个或多个条件。如果需要仅使用不同值添加同一类型的多个条件,该怎么办?一种选择是继续编辑检测器规则,但使用托管列表可以更好地执行该规则,我们将在下一步中看到该列表。
任务 3:在检测器规则中使用受管列表
-
创建托管列表。
注意:在我们的示例中,我们有一些计算实例可以具有公共 IP。因此,我们创建了一个名为“PublicInstances”的托管列表,该列表包含资源 OCID 类型,并添加了可以具有公共 IP 的所有计算实例的 OCID。请参阅如何创建托管列表上的此文档。
-
使用检测器规则中的托管列表,而不是静态添加值。
注:在示例中,已将“实例具有公共 IP”检测器规则从定制列表更改为托管列表,并将列表名称指定为“PublicInstance”。通过托管列表,您可以轻松地从一个位置添加/删除实例 OCID,而无需编辑检测器规则。
后续步骤
查看 Cloud Guard 生成的问题,以确定可以在何处向检测器规则添加条件,以便 Cloud Guard 不根据您的业务逻辑生成问题并删除误报。
相关链接
确认
- 作者:Sunil Joshi(OCI 身份/IDCS)
更多学习资源
探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Configure Oracle Cloud Guard detector rules to detect problems based on conditions
F82942-02
September 2023
Copyright © 2023, Oracle and/or its affiliates.