第 21 章 管理实例安全性
在虚拟化环境中运行实例的一个好处是安全控制的新机会,在部署到裸机时通常不可用。某些技术可以应用于虚拟化堆栈,从而改进了 OpenStack 部署的信息保证。具有强安全要求的 Operator 可能需要考虑部署这些技术,但并不适用于所有技术。在某些情况下,由于规范的业务需求,可能会排除在云中使用的技术。类似地,一些技术检查实例数据,如运行状态,这对系统的用户可能并不重要。
本章描述了这些技术,以及它们可用于帮助提高实例或底层节点的安全性的情况。可能的隐私性也被突出显示,其中可包括数据透传、内省或熵源。
21.1. 向实例提供熵 复制链接链接已复制到粘贴板!
熵指的是可供实例使用的随机数据的质量和来源。加密技术通常依赖于随机性,这需要从熵池中提取。当实例无法获得足够的熵来支持加密技术所需的随机性时,会发生熵不足。熵星形形象可以在实例中进行清单,看似不相关。例如,引导时间较慢,可能是由等待 SSH 密钥生成的实例导致的。熵不足的可能性也让云用户从实例内使用较差的质量熵源,从而使应用程序在云中运行不太安全。
要为您需要足够硬件随机数字生成器(HRNG)的实例提供高质量的熵源来支持实例。对于日常操作,现代 HRNG 可以生成足够的熵来支持 50-100 Compute 节点。高带宽 HRNG 可以处理更多节点。您必须识别云的应用程序要求,以确保有足够的熵可用。
VirtIO RNG 是一个随机数字生成器,默认情况下使用 /dev/urandom
作为熵源,以确保实例在引导时不会耗尽熵。它也可以配置为使用 HRNG 或熵收集守护进程(EGD)等工具,以提供通过部署发布熵的方法。对于实例,默认启用 virtio RNG 设备。要为实例禁用 Virtio RNG 设备,您必须在实例类别上将 hw_rng:allowed
设置为 False
。