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