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