本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将生成的 GuardDuty 调查结果导出到 Amazon S3 存储桶
GuardDuty 将生成的调查结果保留 90 天。 GuardDuty 将活跃的调查结果导出到 Amazon EventBridge (EventBridge)。您可以选择将生成的调查结果导出到亚马逊简单存储服务 (Amazon S3) 存储桶。这将帮助您跟踪账户中潜在可疑活动的历史数据,并评估建议的补救措施是否成功。
生成的任何新的活跃发现将在 GuardDuty 生成结果后大约 5 分钟内自动导出。您可以设置将活动发现的更新导出到的频率 EventBridge。您选择的频率适用于将新出现的现有发现导出到 S3 存储桶(配置后)和 Detective(集成后)。 EventBridge有关如何 GuardDuty 汇总多个出现的现有发现的信息,请参阅。GuardDuty 查找聚合
在配置设置以将调查结果导出到 Amazon S3 存储桶时, GuardDuty 使用 AWS Key Management Service (AWS KMS) 对 S3 存储桶中的调查结果数据进行加密。这要求您为 S3 存储桶和 AWS KMS 密钥添加权限,以便 GuardDuty 可以使用它们导出账户中的调查结果。
内容
注意事项
在继续执行导出结果的先决条件和步骤之前,请考虑以下关键概念:
-
导出设置是区域性的 — 您需要在使用的每个区域中配置导出选项 GuardDuty。
-
将调查结果导出到不同 AWS 区域 (跨区域)的 Amazon S3 存储桶 — GuardDuty 支持以下导出设置:
-
您的 Amazon S3 存储桶或对象以及 AWS KMS 密钥必须属于同一存储桶或对象 AWS 区域。
-
对于在商业区域生成的调查结果,您可以选择将这些发现导出到任何商业区域的 S3 存储桶中。但是,您无法将这些发现导出到可选区域的 S3 存储桶中。
-
对于在选择加入区域生成的调查结果,您可以选择将这些发现导出到生成这些结果的同一个选择加入区域或任何商业区域。但是,您无法将调查结果从一个选择加入区域导出到另一个选择加入区域。
-
-
导出调查结果的权限-要配置导出活动发现的设置,您的 S3 存储桶必须具有 GuardDuty 允许上传对象的权限。您还必须拥有 GuardDuty 可用于加密发现结果的密 AWS KMS 钥。
-
不导出存档的查找结果-默认行为是不导出存档的查找结果,包括隐藏的查找结果的新实例。
当 GuardDuty 查找结果生成为 “已存档” 时,您需要将其取消存档。这会将筛选器查找状态更改为 “活动”。 GuardDuty 根据您的配置步骤 5-导出调查结果的频率将更新导出到现有未存档的查找结果。
-
GuardDuty 管理员帐户可以导出关联成员帐户中生成的调查结果-当您在管理员帐户中配置导出结果时,在同一区域中生成的关联成员帐户的所有结果也将导出到您为管理员帐户配置的相同位置。有关更多信息,请参阅 了解 GuardDuty 管理员账户和成员账户之间的关系。
步骤 1-导出调查结果所需的权限
在配置导出调查结果的设置时,您可以选择一个用于存储调查结果的 Amazon S3 存储桶和用于数据加密的 AWS KMS 密钥。除了 GuardDuty 操作权限外,您还必须拥有以下操作的权限,才能成功配置用于导出结果的设置:
-
s3:GetBucketLocation
-
s3:PutObject
-
s3:ListBucket
第 2 步 — 将策略附加到您的密钥 KMS
GuardDuty 使用对存储桶中的调查结果数据进行 AWS Key Management Service加密。要成功配置设置,必须先 GuardDuty 授予使用KMS密钥的权限。您可以通过将策略附加到KMS密钥来授予权限。
当您使用其他账户的KMS密钥时,您需要通过登录拥有 AWS 账户 该密钥的账户来应用密钥策略。将设置配置为导出结果时,还需要拥有密钥ARN的账户的密钥。
修改的KMS密钥策略 GuardDuty 以加密导出的结果
-
在 https://console.aws.amazon.com/km AWS KMS
s 处打开控制台。 -
要更改 AWS 区域,请使用页面右上角的区域选择器。
-
选择现有KMS密钥或执行《AWS Key Management Service 开发人员指南》中创建新密钥的步骤,您将使用该密钥对导出的结果进行加密。
注意
您的KMS密钥和 Amazon S3 存储桶的密钥必须相同。 AWS 区域
您可以使用相同的 S3 存储桶和 k KMS ey pair 从任何适用区域导出调查结果。有关更多信息,注意事项请参阅,了解如何跨区域导出调查结果。
-
在 Key policy(密钥策略)部分,选择 Edit(编辑)。
如果显示 “切换到策略视图”,请选择它以显示密钥策略,然后选择 “编辑”。
-
将以下策略块复制到您的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
" } } } -
通过替换以下格式化值来编辑策略
red
在策略示例中:-
Replace(替换)
KMS key ARN
使用KMS密钥的 Amazon 资源名称 (ARN)。要找到密钥ARN,请参阅查找密钥 ID 和ARN《AWS Key Management Service 开发人员指南》。 -
Replace(替换)
123456789012
使用拥有导出调查结果的 GuardDuty 账户的 AWS 账户 ID。 -
Replace(替换)
Region2
以及 AWS 区域 GuardDuty 发现的产生地。 -
Replace(替换)
SourceDetectorID
与detectorID
调查结果产生的特定区域的 GuardDuty 账户相同。要查找与您的账户和当前地区
detectorId
对应的,请参阅https://console.aws.amazon.com/guardduty/控制台中的设置页面,或者运行 ListDetectors API.
注意
如果您在选择加入的区域 GuardDuty 中使用,请将 “服务” 的值替换为该地区的区域终端节点。例如,如果您 GuardDuty 在中东(巴林)(me-south-1) 地区使用,请替换为。
"Service": "guardduty.amazonaws.com"
"Service": "guardduty.me-south-1.amazonaws.com"
有关每个选择加入区域的终端节点的信息,请参阅GuardDuty 终端节点和配额。 -
-
如果您在最后一条语句之前添加了策略声明,请在添加此语句之前添加逗号。确保KMS密钥策略的JSON语法有效。
选择保存。
-
(可选)将密钥复制ARN到记事本中,以便在后续步骤中使用。
第 3 步 — 将策略附加到 Amazon S3 存储桶
向要将结果导出到的 Amazon S3 存储桶添加权限,以便 GuardDuty 可以将对象上传到此 S3 存储桶。无论使用属于您的账户还是其他账户的 Amazon S3 存储桶 AWS 账户,您都必须添加这些权限。
如果您在任何时候决定将调查结果导出到其他 S3 存储桶,则要继续导出调查结果,则必须向该 S3 存储桶添加权限并重新配置导出查找结果设置。
如果您还没有要将这些发现导出的 Amazon S3 存储桶,请参阅 Amazon S3 用户指南中的创建存储桶。
为您的 S3 存储桶策略附加权限
-
执行 Amazon S3 用户指南中创建或编辑存储桶策略下的步骤,直到出现编辑存储桶策略页面。
-
示例策略显示了如何授予将调查结果导出到 Amazon S3 存储桶的 GuardDuty权限。如果在配置导出查找结果后更改路径,则必须修改策略以授予对新位置的权限。
复制以下示例策略并将其粘贴到存储桶策略编辑器中。
如果您在最后一条语句之前添加了策略声明,请在添加此语句之前添加逗号。确保KMS密钥策略的JSON语法有效。
S3 存储桶示例策略
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGuardDutygetBucketLocation", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "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" } } } ] } -
通过替换以下格式化值来编辑策略
red
在策略示例中:-
Replace(替换)
Amazon S3 bucket ARN
使用亚马逊 S3 存储桶的亚马逊资源名称 (ARN)。您可以在https://console.aws.amazon.com/s3/控制台的编辑存储桶策略页面ARN上找到该存储桶。 -
Replace(替换)
123456789012
使用拥有导出调查结果的 GuardDuty 账户的 AWS 账户 ID。 -
Replace(替换)
Region2
以及 AWS 区域 GuardDuty 发现的产生地。 -
Replace(替换)
SourceDetectorID
与detectorID
调查结果产生的特定区域的 GuardDuty 账户相同。要查找与您的账户和当前地区
detectorId
对应的,请参阅https://console.aws.amazon.com/guardduty/控制台中的设置页面,或者运行 ListDetectors API. -
Replace(替换)
[optional prefix]
的一部分S3 bucket ARN/[optional prefix]
占位符值,其中包含要将结果导出到的可选文件夹位置。有关使用前缀的更多信息,请参阅 Amazon S3 用户指南中的使用前缀组织对象。当您提供尚不存在的可选文件夹位置时,仅当与 S3 存储桶关联的账户与导出结果的账户相同时,才 GuardDuty 会创建该位置。将调查结果导出到属于其他账户的 S3 存储桶时,该文件夹的位置必须已经存在。
-
Replace(替换)
KMS key ARN
使用与导出到 S3 存储桶的调查结果的加密相关的KMS密钥的 Amazon 资源名称 (ARN)。要找到密钥ARN,请参阅查找密钥 ID 和ARN《AWS Key Management Service 开发人员指南》。
注意
如果您在选择加入的区域 GuardDuty 中使用,请将 “服务” 的值替换为该地区的区域终端节点。例如,如果您 GuardDuty 在中东(巴林)(me-south-1) 地区使用,请替换为。
"Service": "guardduty.amazonaws.com"
"Service": "guardduty.me-south-1.amazonaws.com"
有关每个选择加入区域的终端节点的信息,请参阅GuardDuty 终端节点和配额。 -
-
选择保存。
步骤 4-将调查结果导出到 S3 存储桶(控制台)
GuardDuty 允许您将调查结果导出到另一个存储桶中的现有存储桶 AWS 账户。
在创建新的 S3 存储桶或选择账户中的现有存储桶时,您可以添加可选前缀。配置导出调查结果时,请在 S3 存储桶中为查找结果 GuardDuty 创建一个新文件夹。前缀将附加到 GuardDuty 创建的默认文件夹结构中。例如,可选前缀的格式/AWSLogs/
。123456789012
/GuardDuty/Region
S3 对象的整个路径将是
。amzn-s3-demo-bucket
/prefix-name
/UUID.jsonl.gz
UUID
是随机生成的,不代表探测器 ID 或发现 ID。
重要
KMS密钥和 S3 存储桶必须位于同一区域。
在完成这些步骤之前,请确保已将相应的策略附加到您的KMS密钥和现有 S3 存储桶。
配置导出结果
打开 GuardDuty 控制台,网址为https://console.aws.amazon.com/guardduty/
。 -
在导航窗格中,选择 Settings(设置)。
-
在 “设置” 页面的 “查找结果导出选项” 下,对于 S3 存储桶,选择立即配置(或根据需要编辑)。
-
对于 S3 存储桶 ARN,请输入
bucket ARN
。要查找存储桶ARN,请参阅 Amazon S3 用户指南中的查看 S 3 存储桶的属性。在https://console.aws.amazon.com/guardduty/控制台中关联存储桶的 “属性” 页面的 “权限” 选项卡中。 -
对于KMS密钥 ARN,请输入
key ARN
。要找到密钥ARN,请参阅查找密钥 ID 和ARN《AWS Key Management Service 开发人员指南》。 -
附加策略
-
执行相关步骤以附加 S3 存储桶策略。有关更多信息,请参阅 第 3 步 — 将策略附加到 Amazon S3 存储桶。
-
执行附加KMS密钥策略的步骤。有关更多信息,请参阅 第 2 步 — 将策略附加到您的密钥 KMS。
-
-
选择保存。
步骤 5-设置导出更新的活动发现的频率
根据您的环境配置导出更新的活动发现的频率。默认情况下,每 6 小时导出一次更新的调查发现。这意味着,在最近一次导出之后更新的任何调查发现都包含在下一次导出的内容中。如果每 6 小时导出一次更新的调查发现,且导出发生在 12:00,则在 12:00 后更新的任何调查发现都会在 18:00 导出。
要设置频率
打开 GuardDuty 控制台,网址为https://console.aws.amazon.com/guardduty/
。 -
选择设置。
-
在调查发现导出选项部分,选择更新调查发现的频率。这设置了将更新的活跃调查结果导出到 Amazon S3 EventBridge 和 Amazon S3 的频率。可从以下选项中进行选择:
-
每 15 分钟更新 EventBridge 一次 S3
-
每 1 小时更新 EventBridge 一次 S3
-
每 6 小时更新CWE一次 S3(默认)
-
-
选择 Save changes(保存更改)。