适用于 Amazon S3 的 Security Hub 控件 - Amazon Security Hub
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

适用于 Amazon S3 的 Security Hub 控件

这些 Amazon Security Hub 控件可评估 Amazon Simple Storage Service(Amazon S3)服务和资源。

这些控件可能并未在所有的 Amazon Web Services 区域 上提供。有关更多信息,请参阅 按地区划分的控件可用性

[S3.1] S3 通用存储桶应启用屏蔽公共访问权限设置

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:CIS Amazon 基金会基准 v3.0.0/2.1.4、CIS Amazon 基金会基准 v1.4.0/2.1.5、PCI DSS v3.2.1/1.2.1、PCI DSS v3.2.1/1.3.1、PCI DSS v3.2.1/1.3.2、PCI DSS v3.2.1/1.3.4、PCI DSS v3.2.1/1.3.6、NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7(21)、NIST.800-53.r5 SC-7(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-7(9)

类别:保护 > 安全网络配置

严重性:

资源类型:AWS::::Account

Amazon Config 规则:s3-account-level-public-access-blocks-periodic

计划类型:定期

参数:

  • ignorePublicAclstrue(不可自定义)

  • blockPublicPolicytrue(不可自定义)

  • blockPublicAclstrue(不可自定义)

  • restrictPublicBucketstrue(不可自定义)

此控件可检查是否在账户级别为 S3 通用存储桶配置了上述 Amazon S3 屏蔽公共访问权限设置。如果将一个或多个屏蔽公共访问权限设置设为 false,则此控件将失败。

如果将任何设置设置为 false,或者未配置任何设置,则控制失败。

Amazon S3 公共访问块旨在提供对整个 Amazon Web Services 账户 或单个 S3 存储桶级别的控制,以确保对象永远不会具有公共访问权限。通过访问控制列表 (ACL) 和/或存储桶策略向存储桶和对象授予公有访问权限。

除非您打算让 S3 存储桶可公开访问,否则您应该配置账户级别 Amazon S3 屏蔽公共访问权限功能。

要了解更多信息,请参阅 Amazon Simple Storage Service 用户指南中的使用 Amazon S3 屏蔽公共访问权限

修复

要为 Amazon Web Services 账户 启用 Amazon S3 屏蔽公共访问权限,请参阅 Amazon Simple Storage Service 用户指南中的为账户配置阻止公开访问设置

[S3.2] S3 通用存储桶应阻止公共读取访问权限

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:PCI DSS v3.2.1/1.2.1、PCI DSS v3.2.1/1.3.1、PCI DSS v3.2.1/1.3.2、PCI DSS v3.2.1/1.3.6、PCI DSS v3.2.1/7.2.1、NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7(21)、NIST.800-53.r5 SC-7(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-7(9)。

类别:保护 > 安全网络配置

严重性:严重

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-public-read-prohibited

计划类型:定期计划和触发变更

参数:

此控件可检查 Amazon S3 通用存储桶是否允许公共读取访问权限。它会对阻止公有访问设置、存储桶策略和存储桶访问控制列表 (ACL) 进行评估。如果存储桶允许公共读取访问权限,则此控件将失败。

有些使用案例可能要求 Internet 上的每个人都能够从 S3 存储桶中读取数据。然而,这种情况很少见。为确保数据的完整性和安全性,您的 S3 存储桶不应可公开读取。

修复

要阻止对您的 Amazon S3 存储桶的公共读取权限,请参阅 Amazon 简单存储服务用户指南中的为 S3 存储桶配置阻止公开访问设置

[S3.3] S3 通用存储桶应阻止公共写入访问权限

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:PCI DSS v3.2.1/1.2.1、PCI DSS v3.2.1/1.3.1、PCI DSS v3.2.1/1.3.2、PCI DSS v3.2.1/1.3.4、PCI DSS v3.2.1/1.3.6、PCI DSS v3.2.1/7.2.1、NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7(21)、NIST.800-53.r5 SC-7(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-7(9)。

类别:保护 > 安全网络配置

严重性:严重

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-public-write-prohibited

计划类型:定期计划和触发变更

参数:

此控件可检查 Amazon S3 通用存储桶是否允许公共写入访问权限。它会对阻止公有访问设置、存储桶策略和存储桶访问控制列表 (ACL) 进行评估。如果存储桶允许公共写入访问权限,则此控件将失败。

有些使用案例要求互联网上的每个人都能写入您的 S3 存储桶。然而,这种情况很少见。为确保数据的完整性和安全性,您的 S3 存储桶不应可公开写入。

修复

要阻止对您的 Amazon S3 存储桶的公共写入权限,请参阅 Amazon 简单存储服务用户指南中的为 S3 存储桶配置阻止公开访问设置

[S3.5] S3 通用存储桶应需要请求才能使用 SSL

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:CIS Amazon 基金会基准 v3.0.0/2.1.1、CIS Amazon 基金会基准 v1.4.0/2.1.2、PCI DSS v3.2.1/4.1、NIST.800-53.r5 AC-17(2)、NIST.800-53.r5 AC-4、NIST.800-53.r5 IA-5(1)、NIST.800-53.r5 SC-12(3)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-23、NIST.800-53.r5 SC-23(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-8、NIST.800-53.r5 SC-8(1)、NIST.800-53.r5 SC-8(2)、NIST.800-53.r5 SI-7(6)

类别:保护 > 安全访问管理

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-ssl-requests-only

计划类型:已触发变更

参数:

此控件可检查 Amazon S3 通用存储桶是否具有需要请求才能使用 SSL 的策略。如果存储桶策略不需要请求来使用 SSL,则此控件将失败。

S3 存储桶的策略应要求所有请求 (Action: S3:*) 在 S3 资源策略中仅接受通过 HTTPS 传输的数据,由条件密钥 aws:SecureTransport 表示。

修复

要更新 Amazon S3 存储桶策略以拒绝不安全传输,请参阅《Amazon Simple Storage Service 用户指南》中的使用 Amazon S3 控制台添加存储桶策略

添加与以下策略中的策略语句相似的策略语句。将 amzn-s3-demo-bucket 替换为您要修改的存储桶的名称。

{ "Id": "ExamplePolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSSLRequestsOnly", "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } }, "Principal": "*" } ] }

有关更多信息,请参阅 Amazon 知识中心文章我可以使用哪个 S3 存储桶策略来遵守 Amazon Config 规则 s3-bucket-ssl-requests-only?

[S3.6] S3 通用存储桶策略应限制对其他 Amazon Web Services 账户 的访问权限

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:NIST.800-53.r5 CA-9(1),NIST.800-53.r5 CM-2

类别:保护 > 安全访问管理 > 敏感的 API 操作操作受限

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-blacklisted-actions-prohibited

计划类型:已触发变更

参数:

  • blacklistedactionpatternss3:DeleteBucketPolicy, s3:PutBucketAcl, s3:PutBucketPolicy, s3:PutEncryptionConfiguration, s3:PutObjectAcl(不可自定义)

此控件可检查 Amazon S3 通用存储桶策略是否阻止其他 Amazon Web Services 账户 的主体对 S3 存储桶中的资源执行被拒绝的操作。如果存储桶策略允许另一个 Amazon Web Services 账户 中的主体执行上述一项或多项操作,则此控件将失败。

实施最低权限访问对于降低安全风险以及错误或恶意意图的影响至关重要。如果 S3 存储桶策略允许从外部账户进行访问,则可能会导致内部威胁或攻击者泄露数据。

blacklistedactionpatterns 参数允许成功评估 S3 存储桶的规则。该参数授予对未包含在 blacklistedactionpatterns 列表中的操作模式的外部账户访问权限。

修复

要更新 Amazon S3 存储桶策略以删除权限,请参阅 Amazon Simple Storage Service 用户指南中的使用 Amazon S3 控制台添加存储桶策略

编辑存储桶策略页面的策略编辑文本框中,执行以下操作之一:

  • 删除授予其他 Amazon Web Services 账户 访问被拒绝操作的权限的语句。

  • 从语句中删除允许的拒绝操作。

[S3.7] S3 通用存储桶应使用跨区域复制

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:PCI DSS v3.2.1/2.2、NIST.800-53.r5 AU-9(2)、NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6、NIST.800-53.r5 CP-6(1)、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 CP-9、NIST.800-53.r5 SC-36(2)、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)。

类别:保护 > 安全访问管理

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-cross-region-replication-enabled

计划类型:已触发变更

参数:

此控件可检查 Amazon S3 通用存储桶是否启用了跨区域复制。如果存储桶未启用跨区域复制,则此控件将失败。

复制是在相同或跨不同 Amazon Web Services 区域 的存储桶自动、异步地复制对象。复制操作会将源存储桶中新创建的对象和对象更新复制到目标存储桶。Amazon 最佳实践建议对由同一 Amazon Web Services 账户 拥有的源存储桶和目标存储桶进行复制。除了可用性以外,您还应该考虑其他系统强化设置。

如果复制目标存储桶未启用跨区域复制,则此控件会生成该存储桶的 FAILED 调查发现。如果有正当理由表明目标存储桶不需要启用跨区域复制,则可以隐藏该存储桶的调查发现。

修复

要在 S3 存储桶上启用跨区域复制,请参阅 Amazon Simple Storage Service 用户指南中的为同一账户拥有的源存储桶和目标存储桶配置复制。对于源存储桶,选择应用到存储桶中的所有对象

[S3.8] S3 通用存储桶应屏蔽公共访问权限

相关要求:CIS Amazon 基金会基准 v3.0.0/2.1.4、CIS Amazon 基金会基准 v1.4.0/2.1.5、NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7(21)、NIST.800-53.r5 SC-7(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-7(9)

类别:保护 > 安全访问管理 > 访问控制

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-level-public-access-prohibited

计划类型:已触发变更

参数:

  • excludedPublicBuckets(不可自定义)- 已知允许的公共 S3 存储桶名称的逗号分隔列表

此控件可检查 Amazon S3 通用存储桶是否在存储桶级别屏蔽了公共访问权限。如果将以下任一设置设为 false,则此控件将失败:

  • ignorePublicAcls

  • blockPublicPolicy

  • blockPublicAcls

  • restrictPublicBuckets

S3 存储桶级别的阻止公共访问提供了控制,以确保对象永远不会具有公共访问权限。通过访问控制列表 (ACL) 和/或存储桶策略向存储桶和对象授予公有访问权限。

除非您打算公开访问 S3 存储桶,否则您应该配置存储桶级别 Amazon S3 屏蔽公共访问权限功能。

修复

有关如何在存储桶级别删除公开访问权限的信息,请参阅 Amazon S3 用户指南中的阻止公众访问 Amazon S3 存储

[S3.9] S3 通用存储桶应启用服务器访问日志记录

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:NIST.800-53.r5 AC-2(4)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、NIST.800-53.r5 AU-10、NIST.800-53.r5 AU-12、NIST.800-53.r5 AU-2、NIST.800-53.r5 AU-3、NIST.800-53.r5 AU-6(3)、NIST.800-53.r5 AU-6(4)、NIST.800-53.r5 CA-7、NIST.800-53.r5 SC-7(9)、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4(20)、NIST.800-53.r5 SI-7(8)。

类别:识别 > 日志记录

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-logging-enabled

计划类型:已触发变更

参数:

此控件可检查是否为 Amazon S3 通用存储桶启用了服务器访问日志记录。如果未启用服务器访问日志记录,则此控件将失败。启用日志记录后,Amazon S3 将源存储桶的访问日志传送到选定的目标存储桶。目标存储桶必须位于与源存储桶位于同一 Amazon Web Services 区域,并且不得配置默认保留期。目标日志存储桶不需要启用服务器访问日志记录,您应该隐藏该存储桶的调查发现。

服务器访问日志记录提供对存储桶发出的请求的详细记录。服务器访问日志可以帮助进行安全和访问审核。有关更多信息,请参阅 Amazon S3 的安全最佳实践:启用 Amazon S3 服务器访问日志记录

修复

要启用 Amazon S3 服务器访问日志,请参阅 Amazon S3 用户指南中的启用 Amazon S3 服务器访问日志

[S3.10] 启用了版本控制的 S3 通用存储桶应具有生命周期配置

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。Security Hub 于 2024 年 4 月在 Amazon 基础安全最佳实践 v1.0.0 标准中弃用了此控件,但其仍包含在 NIST SP 800-53 Rev. 5 标准中。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 CP-9、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)。

类别:识别 > 日志记录

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-version-lifecycle-policy-check

计划类型:已触发变更

参数:

此控件可检查 Amazon S3 通用版本存储桶是否具有生命周期配置。如果存储桶不具有生命周期配置,则此控件将失败。

我们建议为 S3 存储桶配置生命周期规则,以帮助您定义希望 Amazon S3 在对象生命周期内执行的操作。

修复

有关在 Amazon S3 存储桶上配置生命周期的更多信息,请参阅在存储桶上设置生命周期配置和管理存储生命周期

[S3.11] S3 通用存储桶应启用事件通知

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。Security Hub 于 2024 年 4 月在 Amazon 基础安全最佳实践 v1.0.0 标准中弃用了此控件,但其仍包含在 NIST SP 800-53 Rev. 5 标准中。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:NIST.800-53.r5 CA-7、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4、NIST.800-53.r5 SI-4(4)。

类别:识别 > 日志记录

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-event-notifications-enabled

计划类型:已触发变更

参数:

参数 描述 类型 允许的自定义值 Security Hub 默认值

eventTypes

首选 S3 事件类型列表

枚举列表(最多 28 项)

s3:IntelligentTiering, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:LifecycleTransition, s3:ObjectAcl:Put, s3:ObjectCreated:*, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectCreated:Copy, s3:ObjectCreated:Post, s3:ObjectCreated:Put, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Completed, s3:ObjectRestore:Delete, s3:ObjectRestore:Post, s3:ObjectTagging:*, s3:ObjectTagging:Delete, s3:ObjectTagging:Put, s3:ReducedRedundancyLostObject, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationMissedThreshold, s3:Replication:OperationNotTracked, s3:Replication:OperationReplicatedAfterThreshold, s3:TestEvent

无默认值

此控件可检查 Amazon S3 通用存储桶上是否启用了 S3 事件通知。如果未在存储桶上启用 S3 事件通知,则此控件将失败。如果您为 eventTypes 参数提供自定义值,则仅当在为指定类型的事件启用事件通知时,此控件才会通过。

启用 S3 事件通知后,当发生影响 S3 存储桶的特定事件时,您会收到警报。例如,您可以收到有关对象创建、对象移除和对象恢复的通知。这些通知可以提醒相关团队注意可能导致未经授权的数据访问的意外或故意修改。

修复

有关检测 S3 存储桶和对象变更的信息,请参阅 Amazon S3 用户指南中的 Amazon S3 事件通知

[S3.12] 不应使用 ACL 来管理用户对 S3 通用存储桶的访问权限

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:NIST.800-53.r5 AC-2(1)、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(15)、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-6。

类别:保护 > 安全访问管理 > 访问控制

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-acl-prohibited

计划类型:已触发变更

参数:

此控件可检查 Amazon S3 通用存储桶是否通过访问控制列表(ACL)为用户提供权限。如果将 ACL 配置为管理存储桶上的用户访问权限,则此控件将失败。

ACL 是早于 IAM 的传统访问控制机制。我们建议使用 S3 存储桶策略或 Amazon Identity and Access Management (IAM)策略而不是 ACL,来管理对 S3 存储桶的访问。

修复

要通过此控制,您应该为 S3 存储桶禁用 ACL。有关说明,请参阅 Amazon Simple Storage Service 用户指南中的控制对象所有权和禁用存储桶的 ACL

要创建 S3 存储桶策略,请参阅使用 Amazon S3 控制台添加存储桶策略。要在 S3 存储桶上创建 IAM 用户策略,请参阅使用用户策略控制对存储桶的访问权限

[S3.13] S3 通用存储桶应具有生命周期配置

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 CP-9、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)。

类别:保护 > 数据保护

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-lifecycle-policy-check

计划类型:已触发变更

参数:

参数 描述 类型 允许的自定义值 Security Hub 默认值

targetTransitionDays

对象创建后转换到指定存储类的天数。

整数

136500

无默认值

targetExpirationDays

对象创建后到被删除为止的天数。

整数

136500

无默认值

targetTransitionStorageClass

目标 S3 存储类类型

枚举

STANDARD_IA, INTELLIGENT_TIERING, ONEZONE_IA, GLACIER, GLACIER_IR, DEEP_ARCHIVE

无默认值

此控件可检查 Amazon S3 通用存储桶是否具有生命周期配置。如果存储桶不具有生命周期配置,则此控件将失败。如果您为前面的一个或多个参数提供自定义值,则仅当策略包含指定的存储类、删除时间或转换时间时,控制才会通过。

为 S3 存储桶创建生命周期配置可定义您希望 Amazon S3 在对象的生命周期内执行的操作。例如,您可以创建一个生命定期策略,该策略将对象转换为另一个存储类别,存档对象,或在指定时间段后将其删除。

修复

有关在 Amazon S3 存储桶上配置生命周期策略的信息,请参阅在存储桶上设置生命周期配置,并参阅 Amazon S3 用户指南中的管理存储生命周期

[S3.14] S3 通用存储桶应启用版本控制

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

类别:保护 > 数据保护 > 数据删除保护

相关要求:NIST.800-53.r5 AU-9(2)、NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6、NIST.800-53.r5 CP-6(1)、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 CP-9、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-12、NIST.800-53.r5 SI-13(5)。

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-versioning-enabled

计划类型:已触发变更

参数:

此控件可检查 Amazon S3 通用存储桶是否启用了版本控制。如果暂停了存储桶的版本控制,则此控件将失败。

版本控制将对象的多个变体保留在同一个 S3 存储桶中。您可以使用版本控制来保留、检索和恢复 S3 存储桶中存储的对象的早期版本。版本控制可帮助您从意外的用户操作和应用程序故障中恢复。

提示

随着版本控制导致存储桶中的对象数量增加,您可以设置生命周期策略以根据规则自动归档或删除版本化对象。有关更多信息,请参阅受版本控制的对象的 Amazon S3 生命周期管理

修复

要在 S3 存储桶上使用版本控制,请参阅 Amazon S3 用户指南中的在存储桶上启用版本控制

[S3.15] S3 通用存储桶应启用对象锁定

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

类别:保护 > 数据保护 > 数据删除保护

相关要求:NIST.800-53.r5 CP-6(2)。

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-default-lock-enabled

计划类型:已触发变更

参数:

参数 描述 类型 允许的自定义值 Security Hub 默认值

mode

S3 对象锁定保留模式

枚举

GOVERNANCE, COMPLIANCE

无默认值

此控件可检查 Amazon S3 通用存储桶是否启用了对象锁定。如果没有为存储桶启用对象锁定,则此控件将失败。如果您为 mode 参数提供自定义值,则仅当 S3 对象锁定使用指定的保留模式时,控制才会通过。

您可以使用 S3 对象锁定通过一次写入、多次读取 (WORM) 模式存储对象。对象锁定可以帮助防止 S3 存储桶中的对象在固定时间内或无限期地被删除或覆盖。您可以​使用 S3 对象锁定满足需要 WORM 存储的法规要求,或添加一个额外的保护层来防止对象被更改和删除。

修复

要为新的和现有 S3 存储桶配置对象锁定,请参阅《Amazon S3 用户指南》中的配置 S3 对象锁定

[S3.17] S3 存储桶应使用 Amazon KMS keys 进行静态加密

重要

2024 年 3 月 12 日,此控件的标题更改为所显示的标题。有关更多信息,请参阅 Security Hub 控件的更改日志

类别:保护 > 数据保护 > 静态数据加密

相关要求:NIST.800-53.r5 SC-12(2)、NIST.800-53.r5 CM-3(6)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-28、NIST.800-53.r5 SC-28(1)、NIST.800-53.r5 SC-7(10)、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 SI-7(6)、NIST.800-53.r5 AU-9。

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-default-encryption-kms

计划类型:已触发变更

参数:

此控件可检查是否使用 Amazon KMS key(SSE-KMS 或 DSSE-KMS)对 Amazon S3 通用存储桶进行加密。如果使用默认加密(SSE-S3)对存储桶进行加密,则此控件将失败。

服务器端加密(SSE)是接收数据的应用程序或服务在数据目的地对其进行加密。密是指由接收数据的应用程序或服务在目标位置对数据进行加密。除非您另行指定,否则 S3 存储桶默认使用 Amazon S3 托管密钥 (SSE-S3) 进行服务器端加密。但是,为了增加控制,您可以选择将存储桶配置为使用 Amazon KMS keys(SSE-KMS 或 DSSE-KMS)的服务器端加密。Amazon S3 在将您的数据写入 Amazon 数据中心内的磁盘时会在对象级别加密这些数据,并在您访问这些数据时解密这些数据。

修复

要使用 SSE-KMS 加密 S3 存储桶,请参阅 Amazon S3 用户指南中的使用 Amazon KMS (SSE-KMS) 指定服务器端加密。要使用 DSSE-KMS 加密 S3 存储桶,请参阅 Amazon S3 用户指南中的使用 Amazon KMS keys (DSSE-KMS) 指定双层服务器端加密

[S3.19] S3 接入点已启用屏蔽公共访问权限设置

相关要求:NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7(21)、NIST.800-53.r5 SC-7(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-7(9)。

类别:保护 > 安全访问管理 > 资源不公开访问

严重性:严重

资源类型:AWS::S3::AccessPoint

Amazon Config 规则:s3-access-point-public-access-blocks

计划类型:已触发变更

参数:

该控件检查 Amazon S3 接入点是否启用了屏蔽公共访问权限设置。如果没有为接入点启用屏蔽公共访问权限设置,则控制失败。

Amazon S3 屏蔽公共访问权限功能可帮助您在 3 个级别上管理对 S3 资源的访问权限:账户、存储桶和接入点级别。可以独立配置每个级别的设置,从而允许您对数据设置不同级别的公共访问权限限制。接入点设置不能单独覆盖更高级别的、限制性更高的设置(账户级别或分配给接入点的存储桶)。相反,接入点级别的设置是附加的,这意味着它们作为其他级别的设置的补充,并与之配合使用。除非您打算让 S3 接入点可供公共访问,否则应启用屏蔽公共访问权限设置。

修复

Amazon S3 当前不支持在创建接入点之后更改接入点的屏蔽公共访问权限设置。默认情况下,在创建新的接入点时,将启用所有屏蔽公共访问权限设置。除非您有特定的需求要禁用任何一个设置,建议您将所有设置保持为启用状态。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的管理接入点的公共访问权限

[S3.20] S3 通用存储桶应启用 MFA 删除

相关要求:CIS Amazon 基金会基准 v3.0.0/2.1.2、CIS Amazon 基金会基准 v1.4.0/2.1.3、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、NIST.800-53.r5 CM-2(2)、NIST.800-53.r5 CM-3、NIST.800-53.r5 SC-5(2)

类别:保护 > 数据保护 > 数据删除保护

严重性:

资源类型:AWS::S3::Bucket

Amazon Config 规则:s3-bucket-mfa-delete-enabled

计划类型:已触发变更

参数:

此控件可检查 Amazon S3 通用存储桶上是否启用了多重身份验证(MFA)删除。如果存储桶上未启用 MFA 删除,则控制失败。此控件不会为具有生命周期配置的存储桶生成调查发现。

在 Amazon S3 存储桶中使用 S3 版本控制时,您可以选择通过将存储桶配置为启用 MFA 删除来添加另一层安全保护。执行此操作时,存储桶拥有者必须在任何请求中包含两种形式的身份验证,以删除版本或更改存储桶的版本控制状态。如果安全凭证被泄露,则 MFA 删除可提供更高的安全性。MFA 删除要求启动删除操作的用户证明其实际拥有具有 MFA 代码的 MFA 设备,并为删除操作增加额外的摩擦和安全性,这样也有助于防止存储桶被意外删除。

注意

MFA 删除功能需要将存储桶版本控制作为依赖项。存储桶版本控制是在相同的存储桶中保留 S3 对象的多个变体的方法。此外,只有以根用户身份登录的存储桶拥有者才能启用 MFA 删除并对 S3 存储桶执行删除操作。

修复

要启用 S3 版本控制并在存储桶上配置 MFA 删除,请参阅《Amazon Simple Storage Service 用户指南》中的配置 MFA 删除

[S3.22] S3 通用存储桶应记录对象级写入事件

相关要求:CIS Amazon 基金会基准 v3.0.0/3.8

类别:识别 > 日志记录

严重性:

资源类型:AWS::::Account

Amazon Config 规则:cloudtrail-all-write-s3-data-event-check

计划类型:定期

参数:

此控件可检查 Amazon Web Services 账户 是否至少有一个 Amazon CloudTrail 多区域跟踪,用于记录 Amazon S3 存储桶的所有写入数据事件。如果账户没有用于记录 S3 存储桶写入数据事件的多区域跟踪,则此控件将失败。

S3 对象级操作(例如 GetObjectDeleteObjectPutObject)称为数据事件。默认情况下,CloudTrail 不记录数据事件,但您可以将跟踪配置为记录 S3 存储桶的数据事件。当您为写入数据事件启用对象级日志记录时,您可以记录 S3 存储桶内每个单独的对象(文件)访问。启用对象级日志记录可以帮助您满足数据合规性要求、执行全面的安全分析、监控您 Amazon Web Services 账户 中的特定用户行为模式,并使用 Amazon CloudWatch Events 对 S3 存储桶内的对象级 API 活动采取措施。如果您配置了多区域跟踪,用于记录所有 S3 存储桶的只写或所有类型的数据事件,则此控件会生成 PASSED 调查发现。

修复

要为 S3 存储桶启用对象级日志记录,请参阅《Amazon Simple Storage Service 用户指南》中的为 S3 存储桶和对象启用 CloudTrail 事件日志记录

[S3.23] S3 通用存储桶应记录对象级读取事件

相关要求:CIS Amazon 基金会基准 v3.0.0/3.9

类别:识别 > 日志记录

严重性:

资源类型:AWS::::Account

Amazon Config 规则:cloudtrail-all-read-s3-data-event-check

计划类型:定期

参数:

此控件可检查 Amazon Web Services 账户 是否至少有一个 Amazon CloudTrail 多区域跟踪,用于记录 Amazon S3 存储桶的所有读取数据事件。如果账户没有用于记录 S3 存储桶读取数据事件的多区域跟踪,则此控件将失败。

S3 对象级操作(例如 GetObjectDeleteObjectPutObject)称为数据事件。默认情况下,CloudTrail 不记录数据事件,但您可以将跟踪配置为记录 S3 存储桶的数据事件。当您为读取数据事件启用对象级日志记录时,您可以记录 S3 存储桶内每个单独的对象(文件)访问。启用对象级日志记录可以帮助您满足数据合规性要求、执行全面的安全分析、监控您 Amazon Web Services 账户 中的特定用户行为模式,并使用 Amazon CloudWatch Events 对 S3 存储桶内的对象级 API 活动采取措施。如果您配置了多区域跟踪,用于记录所有 S3 存储桶的只读或所有类型的数据事件,则此控件会生成 PASSED 调查发现。

修复

要为 S3 存储桶启用对象级日志记录,请参阅《Amazon Simple Storage Service 用户指南》中的为 S3 存储桶和对象启用 CloudTrail 事件日志记录

[S3.24] S3 多区域接入点应启用屏蔽公共访问权限设置

类别:保护 > 安全网络配置 > 不公开访问的资源

严重性:

资源类型:AWS::S3::MultiRegionAccessPoint

Amazon Config规则:s3-mrap-public-access-blocked(自定义 Security Hub 规则)

计划类型:已触发变更

参数:

此控件可检查 Amazon S3 多区域接入点是否启用了屏蔽公共访问权限设置。当多区域接入点未启用屏蔽公共访问权限设置时,此控件将失败。

可公开访问的资源可能会导致未经授权的访问、数据泄露或漏洞利用。通过身份验证和授权措施来限制访问有助于保护敏感信息并维护资源的完整性。

修复

默认情况下,为 S3 多区域接入点启用所有屏蔽公共访问权限设置。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的用 Amazon S3 多区域接入点屏蔽公共访问权限。在创建多区域接入点之后,您无法更改其屏蔽公共访问权限设置。