修复可能遭到入侵的 S3 存储桶 - Amazon GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

修复可能遭到入侵的 S3 存储桶

请按照以下建议步骤修复 Amazon 环境中可能遭到入侵的 Amazon S3 存储桶:

  1. 确定可能受到威胁的 S3 资源。

    S3 的 GuardDuty 调查结果将在查找结果详细信息中列出关联的 S3 存储桶、其 Amazon 资源名称 (ARN) 及其所有者。

  2. 确定可疑活动源和使用的 API 调用。

    使用的 API 调用将在调查发现详细信息中作为 API 列出。源可能是 IAM 主体(IAM 角色、用户或账户),识别信息将在调查发现中列出。根据源类型,提供远程 IP 地址或源域信息,以便您评估源是否已获得授权。如果发现涉及来自 Amazon EC2 实例的证书,则还将包括该资源的详细信息。

  3. 确定调用源是否有权访问已识别的资源。

    例如,考虑以下情况:

    • 如果涉及 IAM 用户,他们的证书是否可能遭到泄露? 有关更多信息,请参阅修复可能被泄露的凭证 Amazon

    • 如果 API 是从之前没有调用此类 API 历史记录的主体调用的,那么该源是否需要操作的访问权限? 能否进一步限制存储桶权限?

    • 如果可以从用户名 ANONYMOUS_PRINCIPAL用户类型 AWSAccount 看到访问,则表明存储桶是公有的,并已被访问。这个存储桶应该是公有的吗? 如果不是,请查看下面的安全建议,了解共享 S3 资源的替代解决方案。

    • 如果从用户名 ANONYMOUS_PRINCIPAL用户类型 AWSAccount 中看到访问是成功的 PreflightRequest 调用,则表明存储桶已设置跨源资源共享(CORS)策略。这个存储桶是否应该设置 CORS 策略? 如果不是,请确保存储桶不会无意中公开,并查看下面的安全建议,了解共享 S3 资源的替代解决方案。有关 CORS 的更多信息,请参阅《S3 用户指南》中的使用跨源资源共享(CORS)

  4. 确定 S3 存储桶是否包含敏感数据。

    使用 Amazon Macie 确定 S3 存储桶是否包含敏感数据,例如个人身份信息(PII)、财务数据或凭证。如果您的 Macie 账户启用了自动敏感数据发现,请查看 S3 存储桶的详细信息,以便更好地了解 S3 存储桶的内容。如果您的 Macie 账户禁用了此功能,我们建议您将其开启以加快评估速度。或者,您可以创建并运行敏感数据发现作业,以检查 S3 存储桶对象中的敏感数据。有关更多信息,请参阅使用 Macie 发现敏感数据

如果访问已获授权,则可以忽略调查发现。https://console.aws.amazon.com/guardduty/ 控制台允许您设置规则,以完全抑制单个调查发现,使其不再出现。有关更多信息,请参阅抑制规则

如果您确定自己的 S3 数据已被未授权方泄露或访问,请查看以下 S3 安全建议,以收紧权限并限制访问权限。适当的修复解决方案取决于特定环境的需求。

基于特定 S3 存储桶访问需求的建议

以下列表根据特定的 Amazon S3 存储桶访问需求提供了建议:

  • 为了集中限制公众访问您的 S3 数据的使用,S3 会阻止公共访问。可以通过四种不同的设置为接入点、存储桶和 Amazon 账户启用阻止公共访问设置,以控制访问的粒度。有关更多信息,请参阅 S3 屏蔽公共访问权限设置

  • Amazon 访问策略可用于控制 IAM 用户如何访问您的资源或访问您的存储桶的方式。有关更多信息,请参阅使用存储桶策略和用户策略

    此外,您可以使用具有 S3 存储桶策略的虚拟私有云(VPC)端点来限制对特定 VPC 端点的访问。有关更多信息,请参阅针对 Amazon S3 的 VPC 端点的存储桶策略示例

  • 要暂时允许账户外部的可信实体访问您的 S3 对象,您可以通过 S3 创建一个预签名 URL。此访问权限是使用您的账户凭证创建的,根据使用的凭证,可持续 6 小时到 7 天。有关更多信息,请参阅使用 S3 生成预​​签名 URL

  • 对于需要在不同源之间共享 S3 对象的用例,您可以使用 S3 接入点创建权限集,这些权限集仅限于私有网络中的对象。有关更多信息,请参阅使用 Amazon S3 接入点管理数据访问

  • 要安全地向其他 Amazon 账户授予对您的 S3 资源的访问权限,您可以使用访问控制列表 (ACL),有关更多信息,请参阅使用 ACL 管理 S3 访问权限

有关 S3 安全选项的更多信息,请参阅 S3 安全最佳实践