SEC08-BP02 强制实施静态加密 - 安全支柱

SEC08-BP02 强制实施静态加密

您应该强制对静态数据使用加密。加密后,即使遭到未经授权访问或意外泄露,也能保持敏感数据的机密性。

期望结果:私有数据在静态时应默认加密。加密有助于保持数据的机密性,并提供额外一层保护,防止有意或无意的数据泄露或外流。如果不首先对数据进行解密,则无法读取或访问加密的数据。任何未加密便存储的数据都应进行清点和控制。

常见反模式:

  • 不使用默认加密配置。

  • 提供对解密密钥过于宽松的访问权限。

  • 不监控加密和解密密钥的使用。

  • 未加密便存储数据。

  • 对所有数据使用相同的加密密钥,而不考虑数据用途、类型和分类。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

将加密密钥映射到工作负载中的数据分类。当对数据使用单个或非常少量的加密密钥时,这种方法有助于防止过于宽松的访问(请参阅 SEC07-BP01 了解数据分类方案)。

AWS Key Management Service(AWS KMS)与许多 AWS 服务集成,使加密静态数据更加轻松。例如,在 Amazon Simple Storage Service(Amazon S3)中,您可以对存储桶设置默认加密,以自动加密新对象。使用 AWS KMS 时,请考虑需要对数据进行多严格的限制。默认和服务控制的 AWS KMS 密钥由 AWS 代表您进行管理和使用。对于需要对底层加密密钥进行精细访问的敏感数据,请考虑使用客户自主管理型密钥(CMK)。您可以完全控制 CMK,包括通过使用密钥策略进行轮换和访问管理。

此外,Amazon Elastic Compute Cloud(Amazon EC2)Amazon S3 支持通过设置默认加密来强制加密。您可以使用 AWS Config 规则 自动检查您已使用了加密,例如针对 Amazon Elastic Block Store(Amazon EBS)卷Amazon Relational Database Service(Amazon RDS)实例Amazon S3 存储桶

AWS 还提供客户端加密选项,使您能够在将数据上传到云之前对数据进行加密。AWS Encryption SDK 提供了一种使用信封加密对数据进行加密的方法。您提供包装密钥,AWS Encryption SDK 为它加密的每个数据对象生成一个唯一数据密钥。如果需要托管的单租户硬件安全模块(HSM),请考虑 AWS CloudHSM。AWS CloudHSM 使您可在通过 FIPS 140-2 Level 3 验证的 HSM 上生成、导入和管理加密密钥。AWS CloudHSM 的一些使用案例包括保护用于签发证书颁发机构(CA)的私有密钥,以及为 Oracle 数据库启用透明数据加密(TDE)。AWS CloudHSM 客户端开发工具包提供的软件使您可在将数据上传到 AWS 之前,使用存储在 AWS CloudHSM 中的密钥对客户端数据进行加密。Amazon DynamoDB Encryption Client 还使您可在将项目上传到 DynamoDB 表之前,对项目进行加密和签名。

实施步骤

  • 对 Amazon S3 强制实施静态加密:实施 Amazon S3 存储桶默认加密

    为新的 Amazon EBS 卷配置默认加密指定所有新创建的 Amazon EBS 卷要以加密形式创建,并选择使用 AWS 提供的默认密钥或您创建的密钥。

    配置加密亚马逊机器映像(AMI):通过复制已配置加密功能的现有 AMI,可自动加密根卷和快照。

    配置 Amazon RDS 加密通过使用加密选项,配置对您的 Amazon RDS 数据库集群和静态快照的加密。

    使用策略创建和配置 AWS KMS 密钥,以限制对每个数据分类的相应主体的访问:例如,创建一个 AWS KMS 密钥用于加密生产数据,创建一个不同的密钥用于加密开发或测试数据。您还可以提供对其他 AWS 账户 的密钥访问权限。不妨考虑分开设立开发环境和生产环境的账户。如果您的生产环境需要解密开发账户中的构件,您可以编辑用于加密开发构件的 CMK 策略,使生产账户有能力解密这些构件。然后,生产环境可以摄取解密后的数据以用于生产。

    在其他 AWS 服务中配置加密:对于您使用的其他 AWS 服务,请查看该服务的安全文档,以确定该服务的加密选项。

资源

相关文档:

相关视频: