管理界面¶
管理员需要执行云的命令和控制,以执行各种操作功能。理解和保护这些命令和控制设施非常重要。
OpenStack 为操作员和租户提供多个管理界面
OpenStack 仪表板 (horizon)
OpenStack API
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 镜像服务(尽管存在许多部署/安全影响)。对于千兆图像,强烈建议使用
glanceCLI 进行上传。通过仪表板创建和管理安全组。安全组允许 L3-L4 数据包过滤,以用于安全策略,以保护虚拟机。
参考文献¶
OpenStack.org, ReleaseNotes/Liberty. 2015. OpenStack Liberty Release Notes
OpenStack API¶
OpenStack API 是一个 RESTful Web 服务端点,用于访问、配置和自动化基于云的资源。操作员和用户通常通过命令行实用程序(例如,nova 或 glance)、特定语言的库或第三方工具访问 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