当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Amazon S3 存储桶指南:保护对 AWS 数据的访问

作者:精品下载站 日期:2024-12-14 06:01:18 浏览:15 分类:玩电脑

Amazon S3 存储桶指南:保护对 AWS 数据的访问


亚马逊网络服务 (AWS) 是全球最大的云提供商,拥有超过 100 万活跃用户。 AWS 的流行使其成为网络犯罪分子的最大目标之一,而导致数据泄露的主要原因之一就是错误配置的 Amazon S3 存储桶。例如,不安全的存储桶导致飞马航空公司的 2300 万份文档和 6.5 TB 数据遭到未经授权的访问。

但 Amazon S3 存储桶到底是什么?使用它们的组织可以采取哪些措施才能避免成为下一个头条新闻?本文回答了这些重要问题。

什么是 Amazon S3 存储桶?

Amazon Simple Storage Service (Amazon S3) 是一项 AWS 云存储服务,使各种规模的组织能够存储大量数据以用于各种用途,包括网站、移动应用程序、灾难恢复和大数据分析。组织正在将其本地数据迁移到 Amazon S3,以消除资本成本并实现更高的敏捷性、可扩展性、可用性和弹性。

桶和物体

Amazon S3 中的两个核心元素是对象和存储桶。 对象是文件及其元数据,存储桶是对象的容器。对象被上传到一个存储桶,然后可以打开、下载或移动到另一个存储桶。下面的屏幕截图显示了一个包含两个对象的存储桶:

[玩转系统] Amazon S3 存储桶指南:保护对 AWS 数据的访问

图 1:包含两个对象的 Amazon S3 存储桶

访问管理

Amazon S3 提供多种功能来控制对存储在其中的数据的访问:

  • 接入点是附加到存储桶的命名网络端点。每个访问点都有特定的权限和网络控制,这些权限和网络控制适用于通过它发出的所有请求。
  • 存储桶策略提供精细控制,将对象访问限制为仅具有适当权限的用户。
  • 访问控制列表(ACL)可以授予存储桶和对象的读写权限;但是,亚马逊建议仅在需要单独控制每个对象的访问的异常情况下使用它们。
  • 身份和访问管理 (IAM)控件可帮助您管理对 AWS 资源的权限和访问。例如,访问分析器可帮助您建立和实施最低权限模型。
  • 对象所有权是存储桶级别的设置,您可以使用它来控制上传到存储桶的对象的所有权。默认情况下,当对象上传到 S3 存储桶时,上传对象的账户拥有该对象,有权访问该对象,并且可以使用 ACL 授予其他用户访问该对象的权限;您可以使用对象所有权更改此默认行为。

常见的违规案例:公共访问

大多数涉及 S3 存储桶的安全漏洞都是由于分配给存储桶或对象的公共访问配置造成的。公共访问意味着任何知道 Amazon 资源 (ARN) 名称的人都可以访问它。下面的屏幕截图显示了授予公共访问权限的存储桶:

[玩转系统] Amazon S3 存储桶指南:保护对 AWS 数据的访问

授予公共访问权限的主要方法是:

  • 存储桶 ACL — 您可以使用存储桶 ACL 精细地分配访问权限,包括 READ、READ_ACP、WRITE、WRITE_ACP 和 FULL_PERMISSION。然而,预定义的 ACL 提供了一种一次性设置全局权限的简单方法。一个例子是私有 ACL,它默认应用于新创建的存储桶。另一个例子是 PUBLIC-READ ACL,它本质上使存储桶公开。访问权限可以分配给用户和组,但最佳实践是避免向默认组(例如 AuthenticatedUsers 或 AllUsers)授予权限。
  • 存储桶策略 — 存储桶策略会覆盖存储桶 ACL 并首先进行评估。这意味着允许公共访问的存储桶策略会取代设置为 PRIVATE 的存储桶 ACL。
  • 对象 ACL — 对象 ACL 用于为同一存储桶中的对象授予不同的访问级别。即使存储桶 ACL 设置为私有,您也可以将其中的特定对象设为公开,但用户需要知道这些对象的完整路径。如果某个对象的唯一标识符在更高的策略中被显式阻止,则该请求将被阻止。否则,将评估对象 ACL。

再次强调,亚马逊建议禁用 ACLS,除非在极少数情况下。您可以使用对象所有权禁用 ACL。

如何阻止公共访问您的 Amazon S3 数据

要阻止未经授权的用户访问您存储在 Amazon S3 中的数据,您可以使用此处显示的阻止公共访问设置:

[玩转系统] Amazon S3 存储桶指南:保护对 AWS 数据的访问

有四种选项可用于限制公共访问:

  • 阻止对通过访问控制列表 (ACL) 授予的存储桶和对象的公共访问 - 防止创建允许公共访问的新 ACLS,而不影响现有存储桶
  • 阻止对通过任何访问控制列表 (ACL) 授予的存储桶和对象的公共访问 - 阻止创建允许公共访问覆盖的新 ACLS允许公共访问的现有存储桶 ACL

  • 阻止对通过公共存储桶或访问点策略授予的存储桶和对象的公共访问 - 防止创建未来允许公共访问而不影响现有存储桶的 IAM 策略
  • 阻止通过任何公共存储桶或访问点策略对存储桶和对象进行公共和跨账户访问 - 防止创建未来允许公共存储桶和对象的 IAM 策略访问并覆盖允许公共访问的现有策略

虽然这些设置可以应用于各个访问点和存储桶,但防止不需要的公共访问的最简单方法是在帐户级别启用这些配置选项。当然,您应该首先确保您的应用程序在没有公共访问的情况下也能正常工作。

如果无法在帐户级别禁用公共访问怎么办?

虽然强烈建议在帐户级别拒绝公共访问,但这并不总是可行,例如托管静态网站。在这些情况下,请考虑使用以下选项来避免未经授权访问您的 S3 数据:

  • 不要使用拒绝列表策略,而应采用允许列表方法,向特定个人授予访问权限。
  • 谨慎应用写入权限。特别是,避免使用默认组,例如经过身份验证的用户或所有用户,这些组过于庞大。
  • 使用访问分析器等工具来监控存储桶访问策略的有效性。

Netwrix 如何提供帮助

对于想要减轻与本地数据存储相关的负担的组织来说,Amazon S3 等云存储平台是不错的选择。但是,保护数据存储库的负担仍然是您的责任。这就是为什么在保护最敏感数据时采取积极主动的方法是值得的。 Netwrix StealthAUDIT 通过自动审核和报告 S3 权限、文件活动和数据访问来降低 Amazon S3 中存储的数据的风险。更广泛地说,它为您提供了跨本地和云中的结构化和非结构化数据资源的用户访问权限的综合视图。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯