禁止规则 - Amazon GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

禁止规则

隐藏规则是一组标准,用于通过自动存档与指定标准匹配的新调查结果来筛选调查结果。隐藏规则可用于筛选低价值调查结果、误报调查结果或您不打算应对的威胁,以便更轻松地识别对环境影响最大的安全威胁。

创建隐藏规则后,只要使用该规则,就会自动存档与规则中定义的标准匹配的新调查结果。您可以使用现有筛选条件创建禁止规则,也可以在创建禁止规则时为其定义新筛选条件。您可以配置禁止规则以禁止整个调查结果类型,或者定义更精细的筛选条件,仅禁止特定调查结果类型的特定实例。可以随时编辑您的隐藏规则。

如果您通过 Security Hub Amazon Security Hub、第三方 SIEM 或其他警报和票务应用程序使用 GuardDuty 调查结果,则隐藏的发现不会发送到 Amazon Simple Storage、Amazon Detective 或 Amazon EventBridge,从而降低查找噪音水平。如果您已启用GuardDuty 恶意软件防护,则禁止的 GuardDuty 发现结果将不会启动恶意软件扫描。

甚至在调查结果符合隐藏规则时也会继续生成调查结果,不过这些调查结果将自动标记为“已存档”。已存档的调查结果将在 中存储 90 天,您可以在此期间随时查看。您可以在 GuardDuty 控制台中查看隐藏的搜索结果,方法是从发现结果表中选择已存档,或者通过 GuardDuty API 使用ListFindings标准等于真的 API。findingCriteria service.archived

注意

在多账户环境中,只有 GuardDuty 管理员可以创建禁止规则。

隐藏规则的常见使用案例

以下查找类型具有应用抑制规则的常见用例,选择查找结果名称以了解有关该发现的更多信息,或者查看信息以从控制台为该查找类型构建抑制规则。

重要

GuardDuty 建议您以被动方式制定抑制规则,并且仅限于您反复发现误报的发现。

  • 当 VPC 网络配置为路由 Internet 流量,从而使其从本地网关而不是 VPC 互联网网关发出时,使用隐藏规则来自动存档生成的调查结果。

    当 网络配置为路由互联网流量以便其从内部网关而不是 VPC 互联网网关 (IGW) 发出时会生成此调查结果。常见配置(例如使用 、Amazon Outposts 或 VPC VPN 连接)可能会导致流量以这种方式路由。如果这是预期行为,则建议您在 中使用隐藏规则,并创建一个由两个筛选标准组成的规则。第一个标准是 finding type (调查结果类型),它应是 UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration。第二个筛选条件是 API 调用方 IPv4 地址以及本地互联网网关的 IP 地址或 CIDR 范围。以下示例显示了根据 API 调用方 IP 地址禁止显示此查找类型的筛选条件。

    Finding type: UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration API caller IPv4 address: 198.51.100.6
    注意

    要包含多个 API 调用方 IP,您可以为每个 IP 添加一个新的 API 调用方 IPv4 地址过滤器。

  • 使用漏洞评估应用程序时,使用隐藏规则来自动存档调查结果。

    禁止规则应由两个筛选条件组成。第一个条件应使用 Finding type (调查结果类型) 属性,其值为 Recon:EC2/Portscan。第二个筛选条件应与托管这些漏洞评估工具的一个或多个实例匹配。您可以使用 Instance image ID (实例映像 ID) 属性或 Tag value (标签值) 属性,具体取决于托管这些工具的实例可识别哪些条件。以下示例显示了根据具有特定 AMI 的实例来抑制此查找类型的筛选条件。

    Finding type: Recon:EC2/Portscan Instance image ID: ami-999999999
  • 在针对防御实例时,使用隐藏规则以自动存档调查结果。

    如果此次暴力攻击的目标是堡垒主机,这可能代表了 Amazon 环境的预期行为。如果是这种情况,我们建议您为此调查结果设置禁止规则。禁止规则应由两个筛选条件组成。第一个条件应使用 Finding type (调查结果类型) 属性,其值为 UnauthorizedAccess:EC2/SSHBruteForce。第二个筛选条件应与用作堡垒主机的一个或多个实例匹配。您可以使用 Instance image ID (实例映像 ID) 属性或 Tag value (标签值) 属性,具体取决于托管这些工具的实例可识别哪些条件。以下示例显示了用于根据具有特定实例标签值的实例来抑制此查找类型的筛选条件。

    Finding type: UnauthorizedAccess:EC2/SSHBruteForce Instance tag value: devops
  • 当调查结果针对有意公开的实例时,使用隐藏规则以自动存档调查结果。

    这可能是有意暴露实例的情况,例如,在它们托管 Web 服务器时。如果您的环境中出现这种情况,我们建议您为此调查结果设置隐藏规则。禁止规则应由两个筛选条件组成。第一个条件应使用 Finding type (调查结果类型) 属性,其值为 Recon:EC2/PortProbeUnprotectedPort。第二个筛选条件应与用作堡垒主机的一个或多个实例匹配。您可以使用 Instance image ID (实例映像 ID) 属性或 Tag value (标签值) 属性,具体取决于托管这些工具的实例可识别哪些条件。以下示例显示了根据控制台中具有特定实例标签密钥的实例来抑制此查找类型的筛选条件。

    Finding type: Recon:EC2/PortProbeUnprotectedPort Instance tag key: prod

EKS 运行时监控结果的推荐抑制规则

在 GuardDuty 中创建禁止规则

选择您的首选访问方式,在 GuardDuty 中创建或管理禁止规则。

Console

控制台可让您轻松可视化、创建和管理隐藏规则。抑制规则的生成方式与过滤器相同,您现有的已保存过滤器可用作抑制规则。有关创建 ARN 的更多信息,请参阅筛选结果

要使用控制台创建隐藏规则,请执行以下操作:
  1. 通过以下网址打开 控制台:https://console.aws.amazon.com/guardduty。

  2. 在 “查找结果” 页面上,选择 “隐藏搜索结果” 以打开抑制规则面板。

  3. 要打开筛选条件菜单,请在添加筛选条件filter criteria中输入。您可以从列表中选择标准。为所选标准输入有效值。

    注意

    要确定有效值,请查看查找结果表并选择要隐藏的查找结果。在调查结果面板中查看其详细信息。

    您可以添加多个筛选条件,并确保只有那些要隐藏的结果显示在表格中。

  4. 输入禁止规则的名称和描述。有效字符包括句点(.)、下划线(_)和字母数字字符。

  5. 选择 Save(保存)。

您还可以使用现有保存过滤器创建抑制规则。有关创建 ARN 的更多信息,请参阅筛选结果

要使用已保存的过滤器创建抑制规则,请执行以下操作:
  1. 通过以下网址打开 控制台:https://console.aws.amazon.com/guardduty。

  2. 在 “查找结果” 页面上,选择 “隐藏查找结果” 以打开隐藏规则面板。

  3. 从 “已保存的规则” 下拉列表中,选择已保存的筛选器。

  4. 您还可以添加新的筛选条件。如果您不需要其他 Filter 条件,请跳过此步骤。

    要打开筛选条件菜单,请在添加筛选条件filter criteria中输入。您可以从列表中选择标准。为所选标准输入有效值。

    注意

    要确定有效值,请查看查找结果表并选择要隐藏的查找结果。在调查结果面板中查看其详细信息。

  5. 输入禁止规则的名称和描述。有效字符包括句点(.)、下划线(_)和字母数字字符。

  6. 选择 Save(保存)。

删除禁止规则:
  1. 通过以下网址打开 控制台:https://console.aws.amazon.com/guardduty。

  2. 在 “查找结果” 页面上,选择 “隐藏查找结果” 以打开隐藏规则面板。

  3. 从 “已保存的规则” 下拉列表中,选择已保存的筛选器。

  4. 选择 Delete rule (删除规则)

API/CLI
要使用 API 创建隐藏规则,请执行以下操作:
  1. 您还可以通过 CreateFilter API 创建隐藏规则。为此,请按照下面详述的示例格式在 JSON 文件中指定筛选条件。以下示例将抑制任何向 test.example.com 域发出 DNS 请求的未存档的低严重性搜索结果。对于中等严重程度的调查结果,输入列表将是。["4", "5", "7"]对于严重性较高的发现,输入列表将是。["6", "7", "8"]您也可以根据列表中的任何一个值进行筛选。

    { "Criterion": { "service.archived": { "Eq": [ "false" ] }, "service.action.dnsRequestAction.domain": { "Eq": [ "test.example.com" ] }, "severity": { "Eq": [ "1", "2", "3" ] } } }

    有关 JSON 字段名及其控制台等效项的列表,请参阅筛选条件属性

    要测试您的筛选条件,请在 ListFindingsAPI 中使用相同的 JSON 标准,并确认已选择正确的结果。要使用您自己的 detectorID 和.json 文件来测试您的筛选条件,Amazon CLI请按照示例进行操作。

    你可以在 https://console.aws.amazon.com/guardduty/ 控制台detectorId“设置” 页面上找到自己的当前区域。

    aws guardduty list-findings --detector-id 12abc34d567e8fa901bc2d34e56789f0 --finding-criteria file://criteria.json
  2. 使用 CreateFilterCreateFilterAmazon API 或使用 Amazon CLI(使用自己的探测器 ID、隐藏规则的名称和 .json 文件按照以下示例执行操作)上传要用作隐藏规则的筛选器。

    你可以在 https://console.aws.amazon.com/guardduty/ 控制台detectorId“设置” 页面上找到自己的当前区域。

    aws guardduty create-filter --action ARCHIVE --detector-id 12abc34d567e8fa901bc2d34e56789f0 --name yourfiltername --finding-criteria file://criteria.json

您可以使用 ListFilterAPI 以编程方式查看过滤器列表。您可以通过向 GetFilterAPI 提供过滤器名称来查看单个过滤器的详细信息。使用 API 更新过滤器UpdateFilter或使用 DeleteFilterAPI 将其删除。