抑制规则 - Amazon GuardDuty

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

抑制规则

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

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

隐藏的发现不会发送到亚马逊简单存储服务 AWS Security Hub、Amazon Detective 或亚马逊,如果您通过 Security Hub EventBridge、第三方 SIEM 或其他警报和票务应用程序使用 GuardDuty 发现,则会降低查找噪音水平。如果您已启用GuardDuty EC2 恶意软件防护,则隐藏的 GuardDuty 发现将不会启动恶意软件扫描。

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

注意

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

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

以下查找类型具有应用抑制规则的常见用例。选择查找结果名称以了解有关该发现的更多信息。查看用例描述,决定是否要为该发现类型制定抑制规则。

重要

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

  • UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS:当 VPC 网络配置为路由互联网流量,使其从本地网关而不是 VPC 互联网网关发出时,使用抑制规则来自动存档生成的调查发现。

    当网络配置为路由互联网流量,使其从本地网关而不是 VPC 互联网网关(IGW)发出时会生成此调查发现。使用 AWS Outposts 或 VPC VPN 连接等常见配置可能会导致流量以这种方式路由。如果这是预期行为,建议您使用抑制规则并创建一个包含两个筛选条件的规则。第一个标准是 finding type(调查发现类型),它应是 UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS。第二个筛选条件是 API 调用方 IPv4 地址,该地址需具有本地互联网网关 IP 地址或 CIDR 范围。以下示例代表了根据 API 调用方 IP 地址抑制此调查发现类型的筛选条件。

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

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

  • Recon:EC2/Portscan:使用脆弱性评测应用程序时,使用抑制规则来自动存档调查发现。

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

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

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

    Finding type: UnauthorizedAccess:EC2/SSHBruteForce Instance tag value: devops
  • Recon:EC2/PortProbeUnprotectedPort:当针对有意公开的实例时,使用抑制规则来自动存档调查发现。

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

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

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

创建抑制规则

选择您的首选访问方法来创建用于 GuardDuty 查找类型的抑制规则。

Console

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

要使用控制台创建抑制规则:
  1. 打开 GuardDuty 控制台,网址为 https://console.aws.amazon.com/guardduty/

  2. 调查发现页面上,选择抑制调查发现以打开抑制规则面板。

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

    注意

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

    您可以添加多个筛选条件,确保只有那些要抑制的调查发现显示在表中。

  4. 输入抑制规则的名称描述。有效字符包括字母数字字符、句点(.)、破折号(-)、下划线(_)和空格。

  5. 选择保存

您也可以从现有保存的筛选条件创建抑制规则。有关创建筛选条件的更多信息,请参阅 筛选调查发现

要使用保存的筛选条件创建抑制规则:
  1. 打开 GuardDuty 控制台,网址为 https://console.aws.amazon.com/guardduty/

  2. 调查发现页面上,选择抑制调查发现以打开抑制规则面板。

  3. 保存的规则下拉列表中,选择保存的筛选条件。

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

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

    注意

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

  5. 输入抑制规则的名称描述。有效字符包括字母数字字符、句点(.)、破折号(-)、下划线(_)和空格。

  6. 选择保存

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 字段名及其控制台等效项的列表,请参阅筛选条件属性

    要测试筛选条件,请在 ListFindings API 中使用相同的 JSON 条件,并确认已选择正确的调查发现。要使用您自己的 detectorID 和.json 文件来测试您的筛选条件, AWS CLI 请按照示例进行操作。

    要查找您的账户和当前区域的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面,或者运行 ListDetectorsAPI detectorId

    aws guardduty list-findings --detector-id 12abc34d567e8fa901bc2d34e56789f0 --finding-criteria file://criteria.json
  2. 使用 CreateFilter API 或使用 AWS CLI,按照以下实例,使用自己的检测器 ID、抑制规则名称和 .json 文件上传要用作抑制规则的筛选条件。

    要查找您的账户和当前区域的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面,或者运行 ListDetectorsAPI detectorId

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

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

删除抑制规则

选择您的首选访问方法以删除用于 GuardDuty 查找类型的禁止规则。

Console
  1. 打开 GuardDuty 控制台,网址为 https://console.aws.amazon.com/guardduty/

  2. 调查发现页面上,选择抑制调查发现以打开抑制规则面板。

  3. 保存的规则下拉列表中,选择保存的筛选条件。

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

API/CLI

运行 DeleteFilter API。为特定区域指定过滤器名称和关联的检测器 ID。

或者,您可以使用以下 AWS CLI 示例,替换格式为红色的值:

aws guardduty delete-filter --region us-east-1 --detector-id 12abc34d567e8fa901bc2d34e56789f0 --filter-name filterName

要查找您的账户和当前区域的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面,或者运行 ListDetectorsAPI detectorId