管理界面

管理员需要执行云的命令和控制,以执行各种操作功能。理解和保护这些命令和控制设施非常重要。

OpenStack 为操作员和租户提供多个管理界面

  • OpenStack 仪表板 (horizon)

  • OpenStack API

  • 安全 shell (SSH)

  • OpenStack 管理实用程序,例如 nova-manage 和 glance-manage

  • 带外管理界面,例如 IPMI

仪表盘

OpenStack 仪表板 (horizon) 为管理员和租户提供基于 Web 的图形界面,以配置和访问基于云的资源。仪表板通过调用 OpenStack API 与后端服务进行通信。

功能

  • 作为云管理员,仪表板提供了云的大小和状态的总体视图。您可以创建用户和租户/项目,将用户分配给租户/项目,并设置可用资源的限制。

  • 仪表板为租户用户提供自助服务门户,以便在管理员设置的限制范围内配置他们自己的资源。

  • 仪表板为路由器和负载均衡器提供 GUI 支持。例如,仪表板现在实现了所有主要的网络功能。

  • 它是一个可扩展的 Django Web 应用程序,允许轻松插入第三方产品和服务,例如计费、监控和额外的管理工具。

  • 仪表板还可以为服务提供商和其他商业供应商进行品牌定制。

安全注意事项

  • 仪表板要求在 Web 浏览器中启用 Cookie 和 JavaScript。

  • 托管仪表板的 Web 服务器应配置为使用 TLS,以确保数据加密。

  • horizon Web 服务和它用来与后端通信的 OpenStack API 容易受到 Web 攻击向量的影响,例如拒绝服务,并且必须进行监控。

  • 现在可以通过仪表板直接从用户的硬盘将图像文件上传到 OpenStack 镜像服务(尽管存在许多部署/安全影响)。对于千兆图像,强烈建议使用 glance CLI 进行上传。

  • 通过仪表板创建和管理安全组。安全组允许 L3-L4 数据包过滤,以用于安全策略,以保护虚拟机。

参考文献

OpenStack.org, ReleaseNotes/Liberty. 2015. OpenStack Liberty Release Notes

OpenStack API

OpenStack API 是一个 RESTful Web 服务端点,用于访问、配置和自动化基于云的资源。操作员和用户通常通过命令行实用程序(例如,novaglance)、特定语言的库或第三方工具访问 API。

功能

  • 对于云管理员,API 提供了云部署的大小和状态的总体视图,并允许创建用户、租户/项目,将用户分配给租户/项目,并指定每个租户/项目的基础资源配额。

  • API 为租户提供了一个界面,用于配置、管理和访问他们的资源。

安全注意事项

  • 应配置 API 服务以使用 TLS,以确保数据加密。

  • 作为 Web 服务,OpenStack API 容易受到熟悉的网站攻击向量的影响,例如拒绝服务攻击。

安全 shell (SSH)

使用安全 shell (SSH) 访问 Linux 和 Unix 系统的管理已成为行业惯例。SSH 使用安全的密码学原语进行通信。鉴于 SSH 在典型的 OpenStack 部署中的范围和重要性,了解部署 SSH 的最佳实践非常重要。

主机密钥指纹

经常被忽视的是 SSH 主机的密钥管理需求。由于 OpenStack 部署中的大多数或所有主机都将提供 SSH 服务,因此对连接到这些主机的信任非常重要。不能低估的是,未能提供合理安全且可访问的方法来验证 SSH 主机密钥指纹很容易被滥用和利用。

所有 SSH 守护程序都有私有主机密钥,并在连接时提供主机密钥指纹。此主机密钥指纹是未签名的公钥的哈希值。重要的是,在建立到这些主机的 SSH 连接之前,这些主机密钥指纹是已知的。验证主机密钥指纹对于检测中间人攻击至关重要。

通常,当安装 SSH 守护程序时,将生成主机密钥。主机在主机密钥生成期间必须具有足够的熵。主机密钥生成期间熵不足会导致有可能窃听 SSH 会话。

一旦生成 SSH 主机密钥,应将主机密钥指纹存储在安全且可查询的位置。一种特别方便的解决方案是使用 DNS 使用 SSHFP 资源记录,如 RFC-4255 中定义。为此,必须部署 DNSSEC。

管理实用程序

OpenStack 管理实用程序是开源 Python 命令行客户端,它们发出 API 调用。对于每个 OpenStack 服务,都有一个客户端(例如,nova、glance)。除了标准的 CLI 客户端之外,大多数服务都有一个管理命令行实用程序,它会直接调用数据库。这些专用管理实用程序正在逐渐被弃用。

安全注意事项

  • 某些情况下,专用管理实用程序 (*-manage) 使用直接数据库连接。

  • 确保包含您的凭据信息的 .rc 文件是安全的。

参考文献

OpenStack.org, OpenStack End User Guide section. 2016. OpenStack command-line clients overview

OpenStack.org, Set environment variables using the OpenStack RC file. 2016. Download and source the OpenStack RC file

带外管理界面

OpenStack 管理依赖于带外管理界面,例如 IPMI 协议,以访问运行 OpenStack 组件的节点。IPMI 是一种流行的规范,用于远程管理、诊断和重新启动服务器,无论操作系统是否正在运行或系统是否已崩溃。

安全注意事项

  • 使用强密码并妥善保管,或使用客户端 TLS 身份验证。

  • 确保网络接口位于其自己的专用(管理或单独)网络上。使用防火墙或其他网络设备隔离管理域。

  • 如果您使用 Web 界面与 BMC/IPMI 交互,请始终使用 TLS 接口,例如 HTTPS 或端口 443。此 TLS 接口 不应使用自签名证书,因为通常是默认设置,而应使用正确定义的完全限定域名 (FQDN) 使用受信任的证书。

  • 监控管理网络上的流量。异常情况可能比在繁忙的计算节点上更容易跟踪。

带外管理界面通常还包括图形机器控制台访问。通常可以(但不一定是默认设置)对这些接口进行加密。请参阅您的系统软件文档以加密这些接口。

参考文献

SANS Technology Institute, InfoSec Handlers Diary Blog. 2012. Hacking servers that are turned off