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

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

导出调查发现

GuardDuty 将生成的调查结果保留 90 天。 GuardDuty 将活动调查结果导出到 Amazon EventBridge (EventBridge)。您可以选择将生成的调查结果导出到亚马逊简单存储服务 (Amazon S3) 存储桶。这将帮助您跟踪账户中潜在可疑活动的历史数据,并评估建议的补救措施是否成功。

生成的任何新的活跃发现将在 GuardDuty 生成结果后大约 5 分钟内自动导出。您可以设置将活动发现的更新导出到的频率 EventBridge。您选择的频率适用于将新出现的现有发现导出到 S3 存储桶(配置后)和 Detective(集成后)。 EventBridge有关如何 GuardDuty 汇总多个出现的现有发现的信息,请参阅。GuardDuty 查找聚合

在配置设置以将调查结果导出到 Amazon S3 存储桶时, GuardDuty 使用 Amazon Key Management Service (Amazon KMS) 对 S3 存储桶中的调查结果数据进行加密。这要求您为 S3 存储桶和 Amazon KMS 密钥添加权限,以便 GuardDuty 可以使用它们导出账户中的调查结果。

注意事项

在继续执行导出结果的先决条件和步骤之前,请考虑以下关键概念:

  • 导出设置是区域性的 — 您需要在使用的每个区域中配置导出选项 GuardDuty。

  • 将调查结果导出到不同 Amazon Web Services 区域 (跨区域)的 Amazon S3 存储桶 — GuardDuty 支持以下导出设置:

    • 您的 Amazon S3 存储桶或对象以及 Amazon KMS 密钥必须属于同一存储桶或对象 Amazon Web Services 区域。

    • 对于在商业区域生成的调查结果,您可以选择将这些发现导出到任何商业区域的 S3 存储桶中。但是,您无法将这些发现导出到可选区域的 S3 存储桶中。

    • 对于在选择加入区域生成的调查结果,您可以选择将这些发现导出到生成这些结果的同一个选择加入区域或任何商业区域。但是,您无法将调查结果从一个选择加入区域导出到另一个选择加入区域。

  • 导出调查结果的权限-要配置导出活动发现的设置,您的 S3 存储桶必须具有 GuardDuty 允许上传对象的权限。您还必须拥有 GuardDuty 可用于加密发现结果的密 Amazon KMS 钥。

  • 不导出存档的查找结果-默认行为是不导出存档的查找结果,包括隐藏的查找结果的新实例。

    要导出已存档的调查结果,必须将其取消存档。这会将其状态更改为 “激”。根据导出频率,结果将导出到配置的 S3 存储桶。

  • GuardDuty 管理员帐户可以导出在关联成员帐户中生成的调查结果-当您在管理员帐户中配置导出结果时,在同一区域中生成的关联成员帐户的所有结果也将导出到您为管理员帐户配置的相同位置。有关更多信息,请参阅 了解 GuardDuty 管理员账户和成员账户之间的关系

步骤 1-导出调查结果所需的权限

在配置导出调查结果的设置时,您可以选择一个用于存储调查结果的 Amazon S3 存储桶和用于数据加密的 Amazon KMS 密钥。除了 GuardDuty 操作权限外,您还必须拥有以下操作的权限,才能成功配置用于导出结果的设置:

  • s3:GetBucketLocation

  • s3:PutObject

步骤 2-将策略附加到您的 KMS 密钥

GuardDuty 使用对存储桶中的发现数据进行 Amazon Key Management Service加密。要成功配置设置,必须先授予使用 KMS 密钥的 GuardDuty 权限。您可以通过将策略附加到 KMS 密钥来授予权限。

当您使用其他账户的 KMS 密钥时,您需要通过登录拥有 Amazon Web Services 账户 该密钥的账户来应用密钥策略。在配置设置以导出发现结果时,您还需要拥有密钥的账户的密钥 ARN。

修改的 KMS 密钥策略 GuardDuty 以加密导出的结果
  1. 打开 Amazon KMS 控制台,网址为 https://console.aws.amazon.com/kms

  2. 要更改 Amazon Web Services 区域,请使用页面右上角的区域选择器。

  3. 选择现有 KMS 密钥或执行《Amazon Key Management Service 开发人员指南》创建新密钥的步骤,您将使用该密钥对导出的发现进行加密。

    注意

    您 Amazon Web Services 区域 的 KMS 密钥和 Amazon S3 存储桶的密钥必须相同。

    您可以使用相同的 S3 存储桶和 KMS key pair 从任何适用区域导出结果。有关跨区域导出调查结果注意事项的更多信息,请参阅。

  4. Key policy(密钥策略)部分,选择 Edit(编辑)。

    如果显示 “切换到策略视图”,请选择它以显示密钥策略,然后选择 “编辑”

  5. 将以下策略块复制到您的 KMS 密钥策略中,以授予使用您的密钥的 GuardDuty 权限。

    { "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "KMS key ARN", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:guardduty:Region2:123456789012:detector/SourceDetectorID" } } }
  6. 通过替换以下策略示例中以红色格式化的值来编辑策略:

    1. KMS 密钥 ARN 替换为 KMS 密钥的亚马逊资源名称 (ARN)。要找到密钥 ARN,请参阅开发者指南中的查找密钥 ID 和 ARN。Amazon Key Management Service

    2. 123456789012 替换为拥有导出调查结果的 Amazon Web Services 账户 账户的 ID。 GuardDuty

    3. Region2 替换为生成 GuardDuty 结果 Amazon Web Services 区域 的地方。

    4. SourceDetectorID 替换detectorID为生成调查结果的特定区域的 GuardDuty 账户的 ID。

      要查找您的账户和当前地区detectorId对应的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面。

    注意

    如果您在选择加入的区域 GuardDuty 中使用,请将 “服务” 的值替换为该地区的区域终端节点。例如,如果您 GuardDuty 在中东(巴林)(me-south-1) 地区使用,请替换为"Service": "guardduty.amazonaws.com""Service": "guardduty.me-south-1.amazonaws.com"有关每个选择加入区域的终端节点的信息,请参阅GuardDuty 终端节点和配额

  7. 如果您在最后一条语句之前添加了策略声明,请在添加此语句之前添加逗号。确保您的 KMS 密钥策略的 JSON 语法有效。

    选择保存

  8. (可选)将密钥 ARN 复制到记事本中,以便在后续步骤中使用。

第 3 步 — 将策略附加到 Amazon S3 存储桶

向要将结果导出到的 Amazon S3 存储桶添加权限,以便 GuardDuty 可以将对象上传到此 S3 存储桶。无论使用属于您的账户还是其他账户的 Amazon S3 存储桶 Amazon Web Services 账户,您都必须添加这些权限。

如果您在任何时候决定将调查结果导出到其他 S3 存储桶,则要继续导出调查结果,则必须向该 S3 存储桶添加权限并重新配置导出查找结果设置。

如果您还没有要将这些发现导出的 Amazon S3 存储桶,请参阅 Amazon S3 用户指南中的创建存储桶

为您的 S3 存储桶策略附加权限

  1. 执行 Amazon S3 用户指南创建或编辑存储桶策略下的步骤,直到出现编辑存储桶策略页面。

  2. 示例策略显示了如何授予将调查结果导出到 Amazon S3 存储桶的 GuardDuty 权限。如果在配置导出查找结果后更改路径,则必须修改策略以授予对新位置的权限。

    复制以下示例策略并将其粘贴到存储桶策略编辑器中。

    如果您在最后一条语句之前添加了策略声明,请在添加此语句之前添加逗号。确保您的 KMS 密钥策略的 JSON 语法有效。

    S3 存储桶示例策略

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGuardDutygetBucketLocation", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:GetBucketLocation", "Resource": "Amazon S3 bucket ARN", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:guardduty:Region2:123456789012:detector/SourceDetectorID" } } }, { "Sid": "AllowGuardDutyPutObject", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "Amazon S3 bucket ARN/[optional prefix]/*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:guardduty:Region2:123456789012:detector/SourceDetectorID" } } }, { "Sid": "DenyUnencryptedUploadsThis is optional", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "Amazon S3 bucket ARN/[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "DenyIncorrectHeaderThis is optional", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "Amazon S3 bucket ARN/[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption-aws-kms-key-id": "KMS key ARN" } } }, { "Sid": "DenyNon-HTTPS", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "Amazon S3 bucket ARN/[optional prefix]/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }
  3. 通过替换以下策略示例中以红色格式化的值来编辑策略:

    1. Amazon S3 存储桶 ARN 替换为亚马逊 S3 存储桶的亚马逊资源名称 (ARN)。你可以在 https://console.aws.amazon.com/s3/ 控制台的编辑存储桶策略页面上找到存储桶 ARN

    2. 123456789012 替换为拥有导出调查结果的 Amazon Web Services 账户 账户的 ID。 GuardDuty

    3. Region2 替换为生成 GuardDuty 结果 Amazon Web Services 区域 的地方。

    4. SourceDetectorID 替换detectorID为生成调查结果的特定区域的 GuardDuty 账户的 ID。

      要查找您的账户和当前地区detectorId对应的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面。

    5. S3 存储桶 ARN/ [可选前缀] 占位符值的 [可选前缀] 部分替换为要将结果导出到的可选文件夹位置。有关使用前缀的更多信息,请参阅 Amazon S3 用户指南中的使用前缀组织对象

      当您提供尚不存在的可选文件夹位置时,仅当与 S3 存储桶关联的账户与导出结果的账户相同时,才 GuardDuty会创建该位置。将调查结果导出到属于其他账户的 S3 存储桶时,该文件夹的位置必须已经存在。

    6. KMS 密钥 ARN 替换为 KMS 密钥的亚马逊资源名称 (ARN),该密钥与导出到 S3 存储桶的结果的加密有关。要找到密钥 ARN,请参阅开发者指南中的查找密钥 ID 和 ARN。Amazon Key Management Service

    注意

    如果您在选择加入的区域 GuardDuty 中使用,请将 “服务” 的值替换为该地区的区域终端节点。例如,如果您 GuardDuty 在中东(巴林)(me-south-1) 地区使用,请替换为"Service": "guardduty.amazonaws.com""Service": "guardduty.me-south-1.amazonaws.com"有关每个选择加入区域的终端节点的信息,请参阅GuardDuty 终端节点和配额

  4. 选择保存

步骤 4-将结果导出到 S3 存储桶(控制台)

GuardDuty 允许您将调查结果导出到另一个存储桶中的现有存储桶 Amazon Web Services 账户。

在创建新的 S3 存储桶或选择账户中的现有存储桶时,您可以添加可选前缀。配置导出调查结果时,请在 S3 存储桶中为查找结果 GuardDuty 创建一个新文件夹。前缀将附加到 GuardDuty 创建的默认文件夹结构中。例如,可选前缀的格式/AWSLogs/123456789012/GuardDuty/Region

重要

KMS 密钥和 S3 存储桶必须位于同一区域。

在完成这些步骤之前,请确保已将相应的策略附加到您的 KMS 密钥和现有 S3 存储桶。

配置导出结果
  1. 打开 GuardDuty 控制台,网址为 https://console.aws.amazon.com/guardduty/

  2. 在导航窗格中,选择 Settings(设置)

  3. “设置” 页面的 “查找结果导出选项” 下,对于 S3 存储桶,选择立即配置(或根据需要编辑)。

  4. 对于 S3 存储桶 ARN,请输入。bucket ARN要查找存储桶 ARN,请参阅 A mazon S3 用户指南中的查看 S3 存储桶的属性。在 https://console.aws.amazon.com/guardduty/ 控制台中关联存储桶的 “属性” 页面的 “权限” 选项卡中。

  5. 对于 KMS 密钥 ARN,请输入。key ARN要找到密钥 ARN,请参阅开发者指南中的查找密钥 ID 和 ARN。Amazon Key Management Service

  6. 附加策略
  7. 选择 Save(保存)。

步骤 5-设置导出更新的活动发现的频率

根据您的环境配置导出更新的活动发现的频率。默认情况下,每 6 小时导出一次更新的调查发现。这意味着,在最近一次导出之后更新的任何调查发现都包含在下一次导出的内容中。如果每 6 小时导出一次更新的调查发现,且导出发生在 12:00,则在 12:00 后更新的任何调查发现都会在 18:00 导出。

要设置频率
  1. 打开 GuardDuty 控制台,网址为 https://console.aws.amazon.com/guardduty/

  2. 选择设置

  3. 调查发现导出选项部分,选择更新调查发现的频率。这设置了将更新的活跃调查结果导出到 Amazon S3 EventBridge 和 Amazon S3 的频率。可从以下选项中进行选择:

    • 每 15 分钟更新 EventBridge 一次 S3

    • 每 1 小时更新 EventBridge 一次 S3

    • 每 6 小时更新一次 CWE 和 S3(默认)

  4. 选择保存更改