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

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

禁止规则

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

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

隐藏的调查结果将不会发送到Amazon Security Hub、Amazon S3、Detective 或 CloudWatch,如果您通过 Security Hub、第三方 SIEM 或其他警报和工单应用程序使用 GuardDuty 调查结果,则会降低调查结果噪音级别。

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

注意

在多帐户环境中,只有 GuardDuty 管理员才能创建隐藏规则。

禁止规则的常见使用案例和示例

以下调查结果类型具有应用隐藏规则的常见使用案例,请选择调查结果名称以了解有关调查结果的更多信息,或者查看信息以便通过控制台为该调查结果类型构建隐藏规则。

重要

GuardDuty 建议您以反应方式构建抑制规则,并且仅针对您反复确定误报的发现。

  • UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS— 使用隐藏规则以自动存档当 VPC 网络配置为路由 Internet 流量,从而使其从本地网关而不是 VPC Internet Gateway 发出时生成的调查结果。

    当网络配置为路由互联网流量以便其从本地网关而不是 VPC Internet Gateway (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 地址筛选器。

  • Recon:EC2/Portscan— 使用漏洞评估应用程序时,使用隐藏规则以自动存档调查结果。

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

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

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

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

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

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

在 “GuardDuty 任” 中创建隐藏规则

Console

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

使用控制台创建禁止规则:

  1. GuardDuty结果页面上,选择禁止调查结果以打开隐藏规则面板。

  2. Select添加筛选条件以打开筛选条件菜单。从列表中选择一个条件,然后输入该条件的有效值。要确定要使用的正确值,您可以从查找结果表中选择要隐藏的查找结果,然后从控制台的同一页面查看其详细信息。您可以继续添加筛选条件,直到查找结果表中仅列出要隐藏的查找结果。

  3. 输入禁止规则的名称和描述。

  4. 选择 Save

您还可以通过现有已保存的筛选条件创建禁止规则。有关创建筛选器的更多信息,请参阅筛选结果.

从已保存的筛选条件创建禁止规则:

  1. GuardDuty结果页面上,选择禁止调查结果以打开隐藏规则面板。

  2. 来自 的已保存的规则下拉列表选择保存的筛选器。

  3. 输入禁止规则的名称和描述。

  4. 选择 Save

可以通过从控制台中的 Saved rules (已保存规则) 下拉菜单中选择隐藏规则,来随时查看、编辑或删除该规则。

API

使用 API 创建禁止规则:

  1. 您可以通过CreateFilterAPI。为此,请按照以下详述示例的格式在 JSON 文件中指定筛选条件。以下示例将禁止发出对向 test.example.com 的 DNS 请求的任意未存档的调查结果。

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

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

    您可以先测试过滤条件,方法是使用ListFindingsAPI 并确认选择了正确的结果,或者您可以通过AmazonCLI,方法是使用您自己的检测器 ID 和 .json 文件按照下面的示例进行操作。

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

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

可以使用 ListFilter API 以编程方式查看筛选器列表,并且可以向 GetFilter API 提供筛选器名称来查看单个筛选器的详细信息。使用 UpdateFilter 更新筛选器,或使用 DeleteFilter API 删除筛选器。