Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊中的亚马逊 S3 保护 GuardDuty
S3 Protection 可帮助亚马逊 GuardDuty 监控亚马逊简单存储服务 (Amazon S3) Amazon CloudTrail 的数据事件,其中包括对象级 API 操作,以识别您的 Amazon S3 存储桶中数据的潜在安全风险。
GuardDuty 监控 Amazon CloudTrail 管理事件和 Amazon CloudTrail S3 数据事件,以识别您的 Amazon S3 资源中的潜在威胁。这两个数据源监控不同类型的活动。S3 的 CloudTrail 管理事件示例包括列出或配置 Amazon S3 存储桶的操作ListBuckets
,例如DeleteBuckets
、和PutBucketReplication
。S3 CloudTrail 的数据事件示例包括对象级 API 操作,例如、GetObject
ListObjects
DeleteObject
、和。PutObject
当你 GuardDuty 为启用了 Amazon 时 Amazon Web Services 账户, GuardDuty 就会开始监控 CloudTrail 管理事件。您无需手动启用或配置 S3 数据事件登录 Amazon CloudTrail。您可以随时为任何账户启用 S3 保护功能(用于监控 S3 CloudTrail 的数据事件) Amazon Web Services 区域 ,只要该功能在 Amazon GuardDuty 中可用。已经启用的可以首次启用 GuardDuty S3 保护,免费试用期为 30 天。 Amazon Web Services 账户 对于首次启用 Amazon Web Services 账户 GuardDuty 的,S3 保护已启用并包含在这个 30 天的免费试用版中。有关更多信息,请参阅 估算成本 GuardDuty 。
我们建议您在中启用 S3 保护 GuardDuty。如果未启用此功能, GuardDuty 将无法完全监控您的 Amazon S3 存储桶,也无法生成对存储在 S3 存储桶中的数据的可疑访问的发现。
如何 GuardDuty 使用 S3 数据事件
启用 S3 数据事件(S3 保护)后, GuardDuty 开始分析来自所有 S3 存储桶的 S3 数据事件,并监控它们是否存在恶意和可疑活动。有关更多信息,请参阅 Amazon CloudTrail S3 的数据事件。
当未经身份验证的用户访问 S3 对象时,这意味着 S3 对象可以公开访问。因此, GuardDuty不处理此类请求。 GuardDuty 使用有效的 IAM (Amazon Identity and Access Management) 或 Amazon STS (Amazon Security Token Service) 凭证处理对 S3 对象发出的请求。
当基于 S3 数据事件监控 GuardDuty 检测到潜在威胁时,它会生成安全发现。有关 GuardDuty 可以为 Amazon S3 存储桶生成的调查结果类型的信息,请参阅GuardDuty S3 查找类型。
如果您禁用 S3 保护,则 GuardDuty 会停止对存储在 S3 存储桶中的数据的 S3 数据事件监控。
对于与之关联的账户 Amazon Organizations,可以通过控制台设置自动执行此过程。有关更多信息,请参阅 在多账户环境中配置 S3 保护。
启用或禁用 S3 保护
选择您的首选访问方法,为独立账户配置 S3 保护。
- Console
-
- API/CLI
-
-
使用当前区域的有效检测器 ID,传递 features
对象 name
,同时分别将 S3_DATA_EVENTS
设置为 DISABLED
或 ENABLED
以启用或禁用 S3 保护,来运行 updateDetector。
或者,你可以使用 Amazon Command Line Interface。要启用 S3 保护,请运行以下命令并确保使用您自己的有效检测器 ID。
aws guardduty update-detector --detector-id 12abc34d567e8fa901bc2d34e56789f0
--features '[{"Name" : "S3_DATA_EVENTS", "Status" : "ENABLED"}]'
要禁用 S3 保护,请将示例中的 ENABLED
替换为 DISABLED
。
在多账户环境中配置 S3 保护
在多账户环境中,只有委派的 GuardDuty 管理员账户可以选择为其 Amazon 组织中的成员账户配置(启用或禁用)S3 保护。 GuardDuty 成员账户无法通过其账户修改此配置。委托 GuardDuty 管理员账户使用管理其成员账户 Amazon Organizations。委派的 GuardDuty 管理员账户可以选择在组织中的所有账户、仅限新账户或不启用任何账户上自动启用 S3 保护。有关更多信息,请参阅 使用 Amazon Organizations管理账户。
选择您的首选访问方法,为委派的 GuardDuty 管理员帐户配置 S3 保护。
- Console
-
- API/CLI
-
使用当前区域updateDetector的委托 GuardDuty 管理员帐户的探测器 ID 运行,并将features
对象name
作为S3_DATA_EVENTS
和status
作为ENABLED
或传递DISABLED
。
或者,您可以使用配置 S3 保护 Amazon Command Line Interface。运行以下命令,并确保将 12abc34d567e8fa901bc2d34e56789f0 替换为当前区域的委托管理员帐户的检测器 ID,将 555555555555
5 替换为委派管理员帐户的 ID。 GuardDuty
Amazon Web Services 账户 GuardDuty
要查找您的账户和当前地区detectorId
对应的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面。
aws guardduty update-member-detectors --detector-id 12abc34d567e8fa901bc2d34e56789f0
--account-ids 555555555555
--features '[{"Name": "RDS_LOGIN_EVENTS", "Status": "ENABLED"}]'
- Console
-
- API/CLI
-
-
要有选择地为您的成员账户启用或禁用 S3 保护,请使用您自己的检测器 ID
调用 updateMemberDetectors API 操作。
-
以下示例说明了如何为单个成员账户启用 S3 保护。确保将 12abc34d567e8fa901bc2d34e56789f0 替换为委托管理员账户和 111
122223333。detector-id
GuardDuty
要禁用 S3 保护,请将 ENABLED
替换为 DISABLED
。
要查找您的账户和当前地区detectorId
对应的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面。
aws guardduty update-member-detectors --detector-id 12abc34d567e8fa901bc2d34e56789f0
--account-ids 111122223333
--features '[{"name": "S3_DATA_EVENTS", "status": "ENABLED
"}]'
-
成功执行代码后,会返回 UnprocessedAccounts
的空列表。如果更改账户的检测器设置时出现任何问题,则会列出该账户 ID 和问题摘要。
选择您的首选访问方法,为组织中所有现有的活跃成员账户启用 S3 保护。
- Console
-
- API/CLI
-
-
要有选择地为您的成员账户启用或禁用 S3 保护,请使用您自己的检测器 ID
调用 updateMemberDetectors API 操作。
-
以下示例说明了如何为单个成员账户启用 S3 保护。确保将 12abc34d567e8fa901bc2d34e56789f0 替换为委托管理员账户和 111
122223333。detector-id
GuardDuty
要禁用 S3 保护,请将 ENABLED
替换为 DISABLED
。
要查找您的账户和当前地区detectorId
对应的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面。
aws guardduty update-member-detectors --detector-id 12abc34d567e8fa901bc2d34e56789f0
--account-ids 111122223333
--features '[{"name": "S3_DATA_EVENTS", "status": "ENABLED
"}]'
-
成功执行代码后,会返回 UnprocessedAccounts
的空列表。如果更改账户的检测器设置时出现任何问题,则会列出该账户 ID 和问题摘要。
选择您的首选访问方法,为加入组织的新账户启用 S3 保护。
- Console
-
委派的 GuardDuty 管理员账户可以使用 S3 保护或账户页面,通过控制台为组织中的新成员账户启用。
为新成员账户自动启用 S3 保护
打开 GuardDuty 控制台,网址为 https://console.aws.amazon.com/guardduty/。
请务必使用委派 GuardDuty 管理员账户证书。
-
请执行以下操作之一:
-
使用 S3 保护页面:
-
在导航窗格中,选择 S3 保护。
-
在 S3 保护页面上,选择编辑。
选择手动配置账户。
选择为新成员账户自动启用。此步骤可确保每当有新账户加入您的组织时,系统都会自动为其账户启用 S3 保护。只有组织委派的 GuardDuty 管理员帐户才能修改此配置。
-
选择保存。
-
使用账户页面:
-
在导航窗格中,选择账户。
-
在账户页面上,选择自动启用首选项。
-
在管理自动启用首选项窗口中,选择 S3 保护下的为新账户启用。
选择保存。
- API/CLI
-
-
要有选择地为您的成员账户启用或禁用 S3 保护,请使用您自己的检测器 ID
调用 UpdateOrganizationConfiguration API 操作。
-
以下示例说明了如何为单个成员账户启用 S3 保护。要将其禁用,请参阅 有选择地为成员账户启用或禁用 RDS 保护。将首选项设置为针对该区域中加入组织的新账户(NEW
)、组织中的所有账户(ALL
)或组织中的无账户(NONE
)自动启用或禁用保护计划。有关更多信息,请参阅autoEnableOrganization成员。根据您的首选项,可能需要将 NEW
替换为 ALL
或 NONE
。
要查找您的账户和当前地区detectorId
对应的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面。
aws guardduty update-organization-configuration --detector-id 12abc34d567e8fa901bc2d34e56789f0
--auto-enable --features '[{"Name": "S3_DATA_EVENTS", "autoEnable": "NEW
"}]'
-
成功执行代码后,会返回 UnprocessedAccounts
的空列表。如果更改账户的检测器设置时出现任何问题,则会列出该账户 ID 和问题摘要。
选择您的首选访问方法,有选择地为成员账户启用或禁用 S3 保护。
- Console
-
- API/CLI
-
要有选择地为您的成员账户启用或禁用 S3 保护,请使用您自己的检测器 ID 运行 updateMemberDetectors API 操作。以下示例说明了如何为单个成员账户启用 S3 保护。要将其禁用,请将 true
替换为 false
。
要查找您的账户和当前地区detectorId
对应的,请参阅 https://console.aws.amazon.com/guardduty/ 控制台中的 “设置” 页面。
aws guardduty update-member-detectors --detector-id 12abc34d567e8fa901bc2d34e56789f0
--account-ids 123456789012
--features '[{"Name" : "S3_DATA_EVENTS", "Status" : "ENABLED"}]'
成功执行代码后,会返回 UnprocessedAccounts
的空列表。如果更改账户的检测器设置时出现任何问题,则会列出该账户 ID 和问题摘要。
如果您使用脚本注册新账户且希望在新账户中禁用 S3 保护,则可以使用本主题中所述的可选 dataSources
对象修改 createDetector API 操作。
默认情况下,首次为 Amazon Web Services 账户 该联接 GuardDuty 自动启用 S3 保护。
如果您是首次在新账户上启 GuardDuty 用的 GuardDuty 管理员帐户,并且不希望默认启用 S3 保护,则可以通过使用可选features
对象修改 createDetectorAPI 操作来将其禁用。以下示例使用启用禁用 S3 保护的新 GuardDuty 检测器。 Amazon CLI
aws guardduty create-detector --enable --features '[{"Name" : "S3_DATA_EVENTS", "Status" : "DISABLED"}]'