第 13 章 项目的数据隐私
OpenStack 旨在支持具有不同数据要求的项目之间的多租户。云操作员需要考虑其适用的数据隐私问题和法规。本章解决了数据所驻留的方面,并对 OpenStack 部署进行处理。
13.1. 数据隐私问题 复制链接链接已复制到粘贴板!
本节介绍 OpenStack 部署中数据隐私的一些问题。
13.1.1. 数据驻留 复制链接链接已复制到粘贴板!
过去数年来,数据隐私和隔离一直被认为是云采用的主要障碍。对于拥有云数据以及云操作员是否最终信任此数据的关注,过去是否有严重的问题。
某些 OpenStack 服务有权访问属于项目的数据和元数据,或引用项目信息。例如,存储在 OpenStack 云中的项目数据可能包括以下项目:
- 对象存储对象.
- 计算实例临时文件系统存储.
- 计算实例内存.
- 块存储卷数据。
- 用于计算访问的公钥。
- 镜像服务中的虚拟机镜像。
- 实例快照.
- 传递给 Compute configuration-drive 扩展的数据。
由 OpenStack 云存储的元数据包括以下项目(此列表不是正确的):
- 组织名称.
- 用户的"名称"。
- 正在运行的实例、存储桶、对象、卷和其他与配额相关的项目的数量或大小。
- 运行实例或存储数据的小时数。
- 用户的 IP 地址。
- 用于计算镜像绑定的内部生成的私钥。
13.1.2. 数据分布 复制链接链接已复制到粘贴板!
良好做法建议,Operator 必须清理云系统介质(数字和非数字),然后再分发机构控制前,或者在发布重复使用前前清理云系统介质。隔离方法应该根据信息的特定安全域和敏感度实施适当的强度和完整性。
NIST Special Publication 800-53 Revision 4 在这个主题上使用一个特定的视图:
The sanitization process removes information from the media such that the information cannot be retrieved or reconstructed. Sanitization techniques, including clearing, purging, cryptographic erase, and destruction, prevent the disclosure of information to unauthorized individuals when such media is reused or released for disposal.
The sanitization process removes information from the media such that the information cannot be retrieved or reconstructed. Sanitization techniques, including clearing, purging, cryptographic erase, and destruction, prevent the disclosure of information to unauthorized individuals when such media is reused or released for disposal.
根据 NIST 推荐的安全控制,在开发常规数据分布和清理指南时,云操作员应考虑以下问题:
- 跟踪、文档和验证媒体清理和处理操作。
- 测试清理设备和程序以验证性能。
- 在将这些设备连接到云基础架构之前,可以清理可移植的可移动存储设备。
- 销毁无法清理的云系统介质。
因此,OpenStack 部署需要解决以下做法(其他位置):
- 保护数据纠删代码
- 实例内存清理
- 块存储卷数据
- 计算实例临时存储
- 裸机服务器清理
13.1.3. 没有安全擦除的数据 复制链接链接已复制到粘贴板!
在 OpenStack 中,可能会删除一些数据,但无法象上述 NIST 标准上下文中那样安全地清除。这通常适用于存储在数据库中的最大或全部定义元数据和信息。这可能修复数据库和/或系统配置,以自动审查和定期释放空间。
13.1.4. 实例内存清理 复制链接链接已复制到粘贴板!
特定于各种虚拟机监控程序是实例内存的处理。此行为在计算中定义,但它通常是在实例创建时(或创建实例)时清理内存的最佳 hypervisor。
13.1.5. 加密 Cinder 卷数据 复制链接链接已复制到粘贴板!
强烈建议使用 OpenStack 卷加密功能。这在卷加密下的 Data Encryption 部分中讨论。当使用这个功能时,通过安全地删除加密密钥来完成数据破坏性。最终用户可以在创建卷时选择此功能,但请注意,管理员必须首先执行一次性设置卷加密功能。
如果没有使用 OpenStack 卷加密功能,其他方法通常更难以启用。如果使用后端插件,则可能会独立执行加密或非标准覆盖解决方案。OpenStack 块存储的插件将以各种方式存储数据。许多插件特定于供应商或技术,而其他插件是围绕文件系统(如 LVM 或 ZFS)的更多 DIY 解决方案。在插件、供应商和文件系统之间,安全销毁数据的方法会有所不同。
有些后端(如 ZFS)将支持写时复制以防止数据泄露。在这些情况下,从未写入的块读取始终为零。其他后端(如 LVM)可能不会原生支持此功能,因此 cinder 插件在将它们传递给用户之前负责覆盖之前写入的块。务必要检查您选择的卷后端提供哪些保证,并查看未提供这些保证可能可用的补救。
13.1.6. 镜像服务延迟删除功能 复制链接链接已复制到粘贴板!
镜像服务具有延迟删除功能,该功能将在定义的时间段内擦除镜像。如果此行为是一个安全问题,请考虑禁用此功能;您可以通过编辑 glance-api.conf 文件并将 delayed_delete 选项设置为 False 来执行此操作。
13.1.7. 计算软删除功能 复制链接链接已复制到粘贴板!
Compute 具有 soft-delete 功能,它允许在定义的时间段内删除处于软删除状态的实例。此时间段内可以恢复实例。要禁用 soft-delete 功能,请编辑 /var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf 文件,并将 reclaim_instance_interval 选项留空。
13.1.8. Compute 实例的临时存储 复制链接链接已复制到粘贴板!
请注意,OpenStack Ephemeral disk encryption 功能提供了一种改进临时存储隐私和隔离的方法,在活跃使用期间以及数据被销毁时。与加密块存储一样,只需删除加密密钥以有效地销毁数据。
在临时存储创建和销毁过程中提供数据隐私的替代措施将依赖于所选的虚拟机监控程序和计算插件。
计算的 libvirt 驱动程序可能直接在文件系统上或 LVM 中维护临时存储。文件系统存储通常不会在删除数据时覆盖数据,尽管没有向用户置备脏扩展。
当使用基于块的 LVM 支持的临时存储时,计算软件安全清除块以防止信息泄漏。在以前的版本中,有与不正确的临时块存储设备相关的安全漏洞信息。
文件系统存储是一种比 LVM 作为脏扩展的临时块存储设备更安全的解决方案,无法向用户置备。但是,务必要注意用户数据不会被销毁,因此建议加密后备文件系统。