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