黑名单 - 亚马逊 GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

黑名单

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

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

如果您通过 Security HubAmazon Security Hub、第三方 SIEM 或其他 CloudWatch警报和票务应用程序使用调查结果,则隐藏的 GuardDuty 调查结果不会发送给 Amazon S3、Detective,或者降低发现噪音级别。如果您已启用GuardDuty 恶意软件防护,则抑制的 GuardDuty 发现不会启动恶意软件扫描。

GuardDuty 即使发现结果与您的抑制规则相匹配,也会继续生成调查结果,但是,这些发现结果会自动标记为已存档。存档的调查结果存储 90 天,在此期间可以随时查看。 GuardDuty 您可以通过从调查结果表中选择 “已存档” 来在 GuardDuty 控制台中查看隐藏的调查结果,也可以使用findingCriteria标准service.archived等于 true 的 ListFindingsAPI 通过 API 查看隐藏的调查结果。 GuardDuty

注意

在多账户环境中,只有 GuardDuty 管理员才能创建抑制规则。

抑制规则的常见用例和示例

以下搜索结果类型有应用隐藏规则的常见用例,选择查找结果名称以了解有关该查找结果的更多信息,或者查看信息以从控制台为该查找结果类型生成抑制规则。

重要

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

  • UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS— 使用抑制规则自动存档 VPC 网络配置为路由互联网流量,使其从本地网关而非 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 属性或标签值属性,具体取决于托管这些工具的实例可以识别哪些标准。下面的示例代表了您可以根据具有特定 AMI 的实例来抑制此查找类型的过滤器。

    Finding type: Recon:EC2/Portscan Instance image ID: ami-999999999
  • UnauthorizedAccess:EC2/SSHBruteForce— 当发现针对堡垒实例时,使用抑制规则自动存档调查结果。

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

    Finding type: UnauthorizedAccess:EC2/SSHBruteForce Instance tag value: devops
  • Recon:EC2/PortProbeUnprotectedPort— 当调查结果针对故意暴露的实例时,使用抑制规则自动将其存档。

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

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

要在中创建抑制规则 GuardDuty

选择在中创建或管理禁止规则的访问方法 GuardDuty。

Console

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

使用控制台创建黑名规则:
  1. 通过 https://console.aws.amazon.com/guardduty/ 打开 GuardDuty 主机。

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

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

    注意

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

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

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

  5. 选择 Save(保存)。

您还可以从现有的已保存过滤器创建黑名规则。有关创建过滤器的更多信息,请参阅筛选结果

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

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

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

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

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

    注意

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

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

  6. 选择 Save(保存)。

删除黑规则:
  1. 通过 https://console.aws.amazon.com/guardduty/ 打开 GuardDuty 主机。

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

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

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

API
要使用 API 创建抑制规则,请执行以下操作:
  1. 您可以通过 CreateFilterAPI 创建抑制规则。为此,请按照下面详述的示例的格式,在 JSON 文件中指定筛选条件。下面的示例将抑制向 test.example.com 发出 DNS 请求的任何未存档的调查结果。

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

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

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

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

    aws guardduty list-findings --detector-id 12abc34d567e8fa901bc2d34e56789f0 --finding-criteria file://criteria.json
  2. 上传您的过滤器以用作 CreateFilterAPI 的抑制规则,或者按照以下示例使用Amazon CLI 使用您自己的探测器 ID、抑制规则的名称和.json 文件。

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

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

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